diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 131 |
1 files changed, 111 insertions, 20 deletions
@@ -1,63 +1,154 @@ | |||
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 | ||
7 | Messaging 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 | |||
14 | You 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] Makes all users Premium by default ([#15](https://github.com/getferdi/ferdi/issues/15)) | ||
27 | - [x] [Add option to change server to a custom](https://github.com/getferdi/ferdi/wiki/Custom-Server) [ferdi-server](https://github.com/getferdi/server) | ||
28 | - [x] Add "Private Notification"-Mode, that hides message content from notifications ([franz#879](https://github.com/meetfranz/franz/issues/879)) | ||
29 | - [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)) | ||
30 | - [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/getferdi/ferdi/issues/37)) | ||
31 | - [x] Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader) ([#71](https://github.com/getferdi/ferdi/issues/71)) | ||
32 | - [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)) | ||
33 | - [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)) | ||
34 | - [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)) | ||
35 | - [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)) | ||
36 | - [x] Add "npm run prepare-code" command for development to lint and beautify code | ||
37 | - [x] Remove "Franz is better together" popup | ||
38 | - [x] Remove bug that would incorrectly display unread messages count on some services (more info in [7566ccd](https://github.com/getferdi/ferdi/commit/7566ccd)) | ||
39 | - [x] [Makes it possible to edit the "Franz Todo" server](https://github.com/getferdi/ferdi/wiki/Custom-Todo) | ||
40 | - [x] Makes RocketChat self-hosted generally available ([#6](https://github.com/getferdi/ferdi/issues/6)) | ||
41 | - [x] Comes with a custom branding proper to Ferdi | ||
42 | |||
18 | ## Development | 43 | ## Development |
19 | 44 | ||
20 | ### Preparations | 45 | ### Preparations |
21 | 46 | ||
47 | |||
48 | #### Clone repository with submodule | ||
49 | |||
50 | ```bash | ||
51 | $ git clone git@github.com:getferdi/ferdi.git | ||
52 | $ cd getferdi | ||
53 | $ git submodule update --init --recursive | ||
54 | ``` | ||
55 | |||
22 | #### Install Linux OS dependencies | 56 | #### Install Linux OS dependencies |
57 | |||
23 | [Guide: Linux distribution specific dependencies](docs/linux.md) | 58 | [Guide: Linux distribution specific dependencies](docs/linux.md) |
24 | 59 | ||
60 | #### Use right NodeJS version | ||
61 | |||
62 | Please make sure you are running NodeJS v10 (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 | |||
25 | #### Fix native modules to match current electron node version | 64 | #### Fix native modules to match current electron node version |
65 | |||
26 | ```bash | 66 | ```bash |
27 | $ npm run rebuild | 67 | $ npm run rebuild |
28 | ``` | 68 | ``` |
29 | 69 | ||
30 | ### Install dependencies | 70 | ### Install dependencies |
71 | |||
31 | Run the following command to install all dependencies, and link sibling modules with Franz. | 72 | Run the following command to install all dependencies, and link sibling modules with Franz. |
73 | |||
32 | ```bash | 74 | ```bash |
33 | $ npx lerna bootstrap | 75 | $ npx lerna bootstrap |
34 | ``` | 76 | ``` |
35 | 77 | ||
36 | If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`. | 78 | If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`. |
79 | |||
80 | ### Run Ferdi Development App | ||
37 | 81 | ||
38 | ### Run Franz Development App | 82 | Run these two commands **simultaneously** in different console tabs. |
39 | Run these two commands __simultaneously__ in different console tabs. | ||
40 | 83 | ||
41 | ```bash | 84 | ```bash |
42 | $ npm run dev | 85 | $ npm run dev |
43 | $ npm run start | 86 | $ npm run start |
44 | ``` | 87 | ``` |
88 | |||
45 | Be aware that the development database will be reset regularly. | 89 | Be aware that the development database will be reset regularly. |
46 | 90 | ||
47 | ## Packaging | 91 | ## Packaging |
92 | |||
48 | ```bash | 93 | ```bash |
49 | $ npm run build | 94 | $ npm run build |
50 | ``` | 95 | ``` |
51 | 96 | ||
52 | ## How can I support the project? | 97 | Deliverables will be available in the `out` folder. |
53 | If you have found a bug that hasn't been reported yet or want to request a new feature, please open a new issue. | ||
54 | 98 | ||
55 | ## I need help? | 99 | ## Release |
56 | Join the Franz community on [Slack](http://slack.franz.im) and get in touch with us. | ||
57 | 100 | ||
58 | ## Create your own plugins/recipes | 101 | ```bash |
59 | You can find all the Information at the [Plugins repository](https://github.com/meetfranz/plugins). | 102 | $ git tag v5.3.4-beta.4 |
60 | For questions feel free to ask in the [community Slack](http://slack.franz.im) | 103 | $ git push --tags |
104 | ``` | ||
61 | 105 | ||
62 | ## License | 106 | When pushing a new tag, the CI build 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. |
63 | Franz 5 is open-source licensed under the Apache-2.0 License. | 107 | |
108 | ## Contributors β¨ | ||
109 | |||
110 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): | ||
111 | |||
112 | <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
113 | <!-- prettier-ignore-start --> | ||
114 | <!-- markdownlint-disable --> | ||
115 | <table> | ||
116 | <tr> | ||
117 | <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> | ||
118 | <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> | ||
119 | <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> | ||
120 | <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> | ||
121 | <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> | ||
122 | <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> | ||
123 | </tr> | ||
124 | <tr> | ||
125 | <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> | ||
126 | <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> | ||
127 | <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> | ||
128 | <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> | ||
129 | <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> | ||
130 | <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> | ||
131 | </tr> | ||
132 | <tr> | ||
133 | <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></td> | ||
134 | <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> | ||
135 | </tr> | ||
136 | </table> | ||
137 | |||
138 | <!-- markdownlint-enable --> | ||
139 | <!-- prettier-ignore-end --> | ||
140 | <!-- ALL-CONTRIBUTORS-LIST:END --> | ||
141 | |||
142 | <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
143 | <!-- prettier-ignore-start --> | ||
144 | <!-- markdownlint-disable --> | ||
145 | <!-- markdownlint-enable --> | ||
146 | <!-- prettier-ignore-end --> | ||
147 | |||
148 | <!-- ALL-CONTRIBUTORS-LIST:END --> | ||
149 | |||
150 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! | ||
151 | |||
152 | |||
153 | ## Backers via OpenCollective | ||
154 | <a href="https://opencollective.com/getferdi#backers" target="_blank"><img src="https://opencollective.com/getferdi/backers.svg?width=890"></a> | ||