Ferdi
π€΄π½ Hard-fork of Franz, adding awesome features and removing unwanted ones.
Download Ferdi
You can find the installers in the latest release assets.
Or use homebrew (macOS only)
$ brew cask install ferdi
(Don't know homebrew? brew.sh)
Ferdi-specific Features
- [x] Removes the counter-productive fullscreen app delay inviting users to upgrade
- [x] Removes pages begging you to donate after registration
- [x] Makes all users Premium by default (#15)
- [x] Add option to change server to a custom ferdi-server
- [x] Add "Private Notification"-Mode, that hides message content from notifications (franz#879)
- [x] Add Password Lock feature to keep your messages protected (#41, franz#810, franz#950, franz#1430)
- [x] Add an option to keep individual workspaces always loaded (#37)
- [x] Add universal Dark-Mode via the DarkReader extension (#71)
- [x] Add an option to auto-hide the menubar (#7, franz#833)
- [x] Add "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's Quick Switcher)
- [x] Add "Scheduled Do-not-Disturb" feature in which you won't get notifications (similar to Rambox's Work Hours)
- [x] Add CTRL+β and CTRL+β shortcuts and menu options to go back and forward in the service browsing history(#39)
- [x] Add "npm run prepare-code" command for development to lint and beautify code
- [x] Remove "Franz is better together" popup
- [x] Remove bug that would incorrectly display unread messages count on some services (more info in 7566ccd)
- [x] Makes it possible to edit the "Franz Todo" server
- [x] Makes RocketChat self-hosted generally available (#6)
- [x] Comes with a custom branding proper to Ferdi
Development
Preparations
Clone repository with submodule
$ git clone git@github.com:getferdi/ferdi.git
$ cd getferdi
$ git submodule update --init --recursive
Install Linux OS dependencies
Guide: Linux distribution specific dependencies
Use right NodeJS version
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
Fix native modules to match current electron node version
$ npm run rebuild
Install dependencies
Run the following command to install all dependencies, and link sibling modules with Franz.
$ npx lerna bootstrap
If you previously ran npm install
it sometimes is necessary to delete your node_modules
folder before running npx lerna bootstrap
.
Run Ferdi Development App
Run these two commands simultaneously in different console tabs.
$ npm run dev
$ npm run start
Be aware that the development database will be reset regularly.
Packaging
$ npm run build
Deliverables will be available in the ./out folder.
Contributors β¨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!