# Ferdi [![Build Status Windows](https://ci.appveyor.com/api/projects/status/2ckfbmoxp36fye5b?svg=true)](https://ci.appveyor.com/project/kytwb/ferdi) [![Build Status Mac & Linux](https://travis-ci.org/kytwb/ferdi.svg?branch=master)](https://travis-ci.org/kytwb/ferdi) 🀴🏽 Hard-fork of [Franz](https://github.com/meetfranz/franz), adding awesome features and removing unwanted ones. ## Download Ferdi You can find the installers in the [latest release](https://github.com/kytwb/ferdi/releases) assets. ### Or use homebrew (macOS only) `$ brew cask install ferdi` (Don't know homebrew? [brew.sh](https://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](https://github.com/kytwb/ferdi/issues/15)) - [x] [Add option to change server to a custom](https://github.com/kytwb/ferdi/wiki/Custom-Server) [ferdi-server](https://github.com/vantezzen/ferdi-server) - [x] Add "Private Notification"-Mode, that hides message content from notifications ([franz#879](https://github.com/meetfranz/franz/issues/879)) - [x] Add Password Lock feature to keep your messages protected ([#41](https://github.com/kytwb/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)) - [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/kytwb/ferdi/issues/37)) - [x] Add an option to auto-hide the menubar ([#7](https://github.com/kytwb/ferdi/issues/7), [franz#833](https://github.com/meetfranz/franz/issues/833)) - [x] Add CTRL+← and CTRL+β†’ shortcuts and menu options to go back and forward in the service browsing history([#39](https://github.com/kytwb/ferdi/issues/39)) - [x] Add "npm run prepare-code" command for development to lint and beautify code - [x] Remove "Franz is better together" popup - [x] [Makes it possible to edit the "Franz Todo" server](https://github.com/kytwb/ferdi/wiki/Custom-Todo) - [x] Makes RocketChat self-hosted generally available ([#6](https://github.com/kytwb/ferdi/issues/6)) - [x] Comes with a custom branding proper to Ferdi ## Development ### Preparations #### Install Linux OS dependencies [Guide: Linux distribution specific dependencies](docs/linux.md) #### 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](https://github.com/fsevents/fsevents/issues/278) #### Fix native modules to match current electron node version ```bash $ npm run rebuild ``` ### Install dependencies Run the following command to install all dependencies, and link sibling modules with Franz. ```bash $ 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. ```bash $ npm run dev $ npm run start ``` Be aware that the development database will be reset regularly. ## Packaging ```bash $ npm run build ``` Deliverables will be available in the ./out folder. ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Bennett
Bennett

πŸ’» 🎨 πŸ“– πŸ€” 🌍 πŸ’‘ πŸ› πŸ–‹ πŸš‡ πŸ““ πŸ’¬ πŸ“† πŸ‘€
Stefan Malzner
Stefan Malzner

πŸ’» πŸ–‹ 🎨 πŸ“– πŸ€” πŸš‡ πŸ“† ⚠️ 🌍
Amine Mouafik
Amine Mouafik

πŸ’¬ πŸ’» πŸ“– πŸ€” 🚧 πŸ“¦ πŸ“† πŸ‘€ πŸš‡
ZeroCool
ZeroCool

πŸ’» πŸ€”
rseitbekov
rseitbekov

πŸ’»
Peter Bittner
Peter Bittner

πŸ€” πŸ›
Justus Saul
Justus Saul

πŸ› πŸ€”
igreil
igreil

πŸ€”
Marco Lopes
Marco Lopes

πŸ€”
dayzlun
dayzlun

πŸ›
Tobias GΓΌnther
Tobias GΓΌnther

πŸ€”
AGCaesar
AGCaesar

πŸ“¦
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!