aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md179
1 files changed, 153 insertions, 26 deletions
diff --git a/README.md b/README.md
index 5397189c6..285c80bb0 100644
--- a/README.md
+++ b/README.md
@@ -1,63 +1,190 @@
1<img src="./build-helpers/images/icon.png" alt="" width="150"/> 1<p align="center">
2 <img src="./build-helpers/images/icon.png" alt="" width="200"/>
3</p>
2 4
3# Franz 5 5# Ferdi
4[![Build status Windows](https://ci.appveyor.com/api/projects/status/9yman4ye19x4274o/branch/master?svg=true)](https://ci.appveyor.com/project/adlk/franz/branch/master)
5 [![Build Status Mac & Linux](https://travis-ci.com/meetfranz/franz.svg?branch=master)](https://travis-ci.com/meetfranz/franz) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://meetfranz.com/payment.html)
6 6
7Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more. 7[![Backers on Open Collective](https://opencollective.com/getferdi/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/getferdi/sponsors/badge.svg)](#sponsors) [![Build Status Windows](https://ci.appveyor.com/api/projects/status/2ckfbmoxp36fye5b?svg=true)](https://ci.appveyor.com/project/kytwb/ferdi)
8[![Build Status Mac & Linux](https://travis-ci.org/getferdi/ferdi.svg?branch=master)](https://travis-ci.org/getferdi/ferdi)
8 9
9## [Download Franz](https://www.meetfranz.com) 10🀴🏽 Hard-fork of [Franz](https://github.com/meetfranz/franz), adding awesome features and removing unwanted ones.
10πŸ‘‰ www.meetfranz.com 11
12## Download Ferdi
13
14You can find the installers in the [latest release](https://github.com/getferdi/ferdi/releases) assets.
11 15
12### Or use homebrew (macOS only) 16### Or use homebrew (macOS only)
13 17
14`$ brew cask install franz` 18`$ brew cask install ferdi`
15 19
16(Don't know homebrew? [brew.sh](https://brew.sh/)) 20(Don't know homebrew? [brew.sh](https://brew.sh/))
17 21
22## Ferdi-specific Features
23
24- [x] Removes the counter-productive fullscreen app delay inviting users to upgrade
25- [x] Removes pages begging you to donate after registration
26- [x] Remove "Franz is better together" popup
27- [x] Remove bug that would incorrectly display unread messages count on some services (more info in [7566ccd](https://github.com/getferdi/ferdi/commit/7566ccd))
28- [x] Makes all users Premium by default ([#15](https://github.com/getferdi/ferdi/issues/15))
29- [x] Using the Ferdi API instead of Franz's servers
30- [x] [Add option to change server to a custom](https://github.com/getferdi/ferdi/wiki/Custom-Server) [ferdi-server](https://github.com/getferdi/server)
31- [x] Add option to use Ferdi without an account ([#5](https://github.com/getferdi/ferdi/issues/5))
32- [x] Add "Private Notification"-Mode, that hides message content from notifications ([franz#879](https://github.com/meetfranz/franz/issues/879))
33- [x] Add Password Lock feature to keep your messages protected ([#41](https://github.com/getferdi/ferdi/issues/41), [franz#810](https://github.com/meetfranz/franz/issues/810), [franz#950](https://github.com/meetfranz/franz/issues/950), [franz#1430](https://github.com/meetfranz/franz/issues/1430))
34- [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/getferdi/ferdi/issues/37))
35- [x] Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader) ([#71](https://github.com/getferdi/ferdi/issues/71))
36- [x] Add an option to auto-hide the menubar ([#7](https://github.com/getferdi/ferdi/issues/7), [franz#833](https://github.com/meetfranz/franz/issues/833))
37- [x] Add "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's [Quick Switcher](https://rambox.pro/#feature-details/quick_switcher))
38- [x] Add "Service Hibernation" that will automatically unload services when they are unused
39- [x] Add "Scheduled Do-not-Disturb" feature in which you won't get notifications (similar to Rambox's [Work Hours](https://rambox.pro/#feature-details/work_hours))
40- [x] Add CTRL+← and CTRL+β†’ shortcuts and menu options to go back and forward in the service browsing history([#39](https://github.com/getferdi/ferdi/issues/39))
41- [x] Add option to show a browser-like navigation bar on all services
42- [x] Add option to change accent color
43- [x] Add portable version for Windows
44- [x] Add Process Manager to find services using a lot of resources
45- [x] Add "npm run prepare-code" command for development to lint and beautify code
46- [x] Add button to open darkmode.css for a service
47- [x] Switch to [`electron-spellchecker`](https://github.com/electron-userland/electron-spellchecker) ti improve application size
48- [x] Improve "About Ferdi" screen to better display versions
49- [x] Minifying build files to improve app size
50- [x] [Makes it possible to edit the "Franz Todo" server](https://github.com/getferdi/ferdi/wiki/Custom-Todo)
51- [x] Makes RocketChat self-hosted generally available ([#6](https://github.com/getferdi/ferdi/issues/6))
52- [x] Comes with a custom branding proper to Ferdi
53
18## Development 54## Development
19 55
20### Preparations 56### Preparations
21 57
22#### Install Linux OS dependencies 58#### Install OS dependencies
23[Guide: Linux distribution specific dependencies](docs/linux.md) 59
60##### Node.js
61
62Please make sure you are running NodeJS v10 ([v10.16.3](https://nodejs.org/dist/v10.16.3/) suggested). Versions above will throw an errow when trying to install due to an [old fsevent dependency](https://github.com/fsevents/fsevents/issues/278).
63
64##### Git
65
66The version [2.23.0](https://github.com/git-for-windows/git/releases/tag/v2.23.0.windows.1) for Git is working fine for development. You can then use the console from Git to do the development procedure.
67
68##### Debian/Ubuntu
24 69
25#### Fix native modules to match current electron node version
26```bash 70```bash
27$ npm run rebuild 71$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev
72```
73
74##### Fedora
75
76```bash
77$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel
78```
79
80##### Windows
81
82```bash
83$ npm install --global windows-build-tools // Windows 10
84$ npm install --global windows-build-tools --vs2015 // Windows 7
28``` 85```
29 86
87#### Clone repository with submodule
88
89```bash
90$ git clone https://github.com/getferdi/ferdi.git
91$ cd ferdi
92$ git submodule update --init --recursive
93```
94
95It is important you execute the last command to get the required submodules (recipes, server).
96
30### Install dependencies 97### Install dependencies
31Run the following command to install all dependencies, and link sibling modules with Franz. 98
99Run the following command to install all dependencies, and link sibling modules with Ferdi.
100
32```bash 101```bash
33$ npx lerna bootstrap 102$ npx lerna bootstrap
34``` 103```
35 104
36If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`. 105If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`.
37 106
38### Run Franz Development App 107### Fix native modules to match current electron node version
39Run these two commands __simultaneously__ in different console tabs. 108
109```bash
110$ npm run rebuild
111```
112
113### Start development app
114
115Run these two commands **simultaneously** in different console tabs:
40 116
41```bash 117```bash
42$ npm run dev 118$ npm run dev
43$ npm run start 119$ npm run start
44``` 120```
121
45Be aware that the development database will be reset regularly. 122Be aware that the development database will be reset regularly.
46 123
47## Packaging 124### Packaging
125
48```bash 126```bash
49$ npm run build 127$ npm run build
50``` 128```
51 129
52## How can I support the project? 130Deliverables will be available in the `out` folder.
53If you have found a bug that hasn't been reported yet or want to request a new feature, please open a new issue.
54 131
55## I need help? 132### Release
56Join the Franz community on [Slack](http://slack.franz.im) and get in touch with us.
57 133
58## Create your own plugins/recipes 134```bash
59You can find all the Information at the [Plugins repository](https://github.com/meetfranz/plugins). 135$ git checkout develop && git pull && git checkout master
60For questions feel free to ask in the [community Slack](http://slack.franz.im) 136$ git merge --no-ff develop
137$ git tag v5.3.4-beta.4
138$ git push --tags
139```
61 140
62## License 141When pushing a new tag, the CI builds will create a draft GitHub release and upload the deliverables in the draft release assets. Wait for all the assets to be uploaded before publishing the draft release.
63Franz 5 is open-source licensed under the Apache-2.0 License. 142
143## Contributors ✨
144
145Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
146
147<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
148<!-- prettier-ignore-start -->
149<!-- markdownlint-disable -->
150<table>
151 <tr>
152 <td align="center"><a href="https://vantezzen.io"><img src="https://avatars2.githubusercontent.com/u/10333196?v=4" width="40px;" alt="Bennett"/><br /><sub><b>Bennett</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=vantezzen" title="Code">πŸ’»</a> <a href="#design-vantezzen" title="Design">🎨</a> <a href="https://github.com/kytwb/ferdi/commits?author=vantezzen" title="Documentation">πŸ“–</a> <a href="#ideas-vantezzen" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#translation-vantezzen" title="Translation">🌍</a> <a href="#example-vantezzen" title="Examples">πŸ’‘</a> <a href="https://github.com/kytwb/ferdi/issues?q=author%3Avantezzen" title="Bug reports">πŸ›</a> <a href="#content-vantezzen" title="Content">πŸ–‹</a> <a href="#infra-vantezzen" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#userTesting-vantezzen" title="User Testing">πŸ““</a> <a href="#question-vantezzen" title="Answering Questions">πŸ’¬</a> <a href="#projectManagement-vantezzen" title="Project Management">πŸ“†</a> <a href="#review-vantezzen" title="Reviewed Pull Requests">πŸ‘€</a></td>
153 <td align="center"><a href="http://www.adlk.io"><img src="https://avatars1.githubusercontent.com/u/3265004?v=4" width="40px;" alt="Stefan Malzner"/><br /><sub><b>Stefan Malzner</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Code">πŸ’»</a> <a href="#content-adlk" title="Content">πŸ–‹</a> <a href="#design-adlk" title="Design">🎨</a> <a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Documentation">πŸ“–</a> <a href="#ideas-adlk" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#infra-adlk" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#projectManagement-adlk" title="Project Management">πŸ“†</a> <a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Tests">⚠️</a> <a href="#translation-adlk" title="Translation">🌍</a></td>
154 <td align="center"><a href="https://twitter.com/kytwb"><img src="https://avatars0.githubusercontent.com/u/412895?v=4" width="40px;" alt="Amine Mouafik"/><br /><sub><b>Amine Mouafik</b></sub></a><br /><a href="#question-kytwb" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/kytwb/ferdi/commits?author=kytwb" title="Code">πŸ’»</a> <a href="https://github.com/kytwb/ferdi/commits?author=kytwb" title="Documentation">πŸ“–</a> <a href="#ideas-kytwb" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-kytwb" title="Maintenance">🚧</a> <a href="#platform-kytwb" title="Packaging/porting to new platform">πŸ“¦</a> <a href="#projectManagement-kytwb" title="Project Management">πŸ“†</a> <a href="#review-kytwb" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#infra-kytwb" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#fundingFinding-kytwb" title="Funding Finding">πŸ”</a></td>
155 <td align="center"><a href="http://seriesgt.com"><img src="https://avatars3.githubusercontent.com/u/5977640?v=4" width="40px;" alt="ZeroCool"/><br /><sub><b>ZeroCool</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=ZeroCool940711" title="Code">πŸ’»</a> <a href="#ideas-ZeroCool940711" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
156 <td align="center"><a href="https://github.com/rseitbekov"><img src="https://avatars2.githubusercontent.com/u/35684439?v=4" width="40px;" alt="rseitbekov"/><br /><sub><b>rseitbekov</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=rseitbekov" title="Code">πŸ’»</a></td>
157 <td align="center"><a href="https://djangogigs.com/developers/peter-bittner/"><img src="https://avatars2.githubusercontent.com/u/665072?v=4" width="40px;" alt="Peter Bittner"/><br /><sub><b>Peter Bittner</b></sub></a><br /><a href="#ideas-bittner" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="https://github.com/kytwb/ferdi/issues?q=author%3Abittner" title="Bug reports">πŸ›</a></td>
158 </tr>
159 <tr>
160 <td align="center"><a href="https://github.com/justus-saul"><img src="https://avatars1.githubusercontent.com/u/5861826?v=4" width="40px;" alt="Justus Saul"/><br /><sub><b>Justus Saul</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3Ajustus-saul" title="Bug reports">πŸ›</a> <a href="#ideas-justus-saul" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
161 <td align="center"><a href="https://github.com/igreil"><img src="https://avatars0.githubusercontent.com/u/17239151?v=4" width="40px;" alt="igreil"/><br /><sub><b>igreil</b></sub></a><br /><a href="#ideas-igreil" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
162 <td align="center"><a href="http://marcolopes.eu"><img src="https://avatars1.githubusercontent.com/u/431889?v=4" width="40px;" alt="Marco Lopes"/><br /><sub><b>Marco Lopes</b></sub></a><br /><a href="#ideas-marcolopes" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
163 <td align="center"><a href="https://github.com/dayzlun"><img src="https://avatars3.githubusercontent.com/u/17259690?v=4" width="40px;" alt="dayzlun"/><br /><sub><b>dayzlun</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3Adayzlun" title="Bug reports">πŸ›</a></td>
164 <td align="center"><a href="https://twitter.com/tobigue_"><img src="https://avatars2.githubusercontent.com/u/1560152?v=4" width="40px;" alt="Tobias GΓΌnther"/><br /><sub><b>Tobias GΓΌnther</b></sub></a><br /><a href="#ideas-tobigue" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
165 <td align="center"><a href="https://github.com/AGCaesar"><img src="https://avatars3.githubusercontent.com/u/7844066?v=4" width="40px;" alt="AGCaesar"/><br /><sub><b>AGCaesar</b></sub></a><br /><a href="#platform-AGCaesar" title="Packaging/porting to new platform">πŸ“¦</a></td>
166 </tr>
167 <tr>
168 <td align="center"><a href="https://github.com/Makazzz"><img src="https://avatars2.githubusercontent.com/u/49844464?v=4" width="40px;" alt="Makazzz"/><br /><sub><b>Makazzz</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3AMakazzz" title="Bug reports">πŸ›</a> <a href="https://github.com/kytwb/ferdi/commits?author=Makazzz" title="Code">πŸ’»</a> <a href="#translation-Makazzz" title="Translation">🌍</a></td>
169 <td align="center"><a href="https://github.com/xthursdayx"><img src="https://avatars0.githubusercontent.com/u/18044308?v=4" width="40px;" alt="xthursdayx"/><br /><sub><b>xthursdayx</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=xthursdayx" title="Code">πŸ’»</a> <a href="https://github.com/kytwb/ferdi/commits?author=xthursdayx" title="Documentation">πŸ“–</a> <a href="#infra-xthursdayx" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#platform-xthursdayx" title="Packaging/porting to new platform">πŸ“¦</a></td>
170 </tr>
171</table>
172
173<!-- markdownlint-enable -->
174<!-- prettier-ignore-end -->
175
176<!-- ALL-CONTRIBUTORS-LIST:END -->
177
178<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
179<!-- prettier-ignore-start -->
180<!-- markdownlint-disable -->
181<!-- markdownlint-enable -->
182<!-- prettier-ignore-end -->
183
184<!-- ALL-CONTRIBUTORS-LIST:END -->
185
186This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
187
188## Backers via OpenCollective
189
190<a href="https://opencollective.com/getferdi#backers" target="_blank"><img src="https://opencollective.com/getferdi/backers.svg?width=890"></a>