# 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 features.
## 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/))
## 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
- [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 (as suggested in [meetfranz/franz#879](https://github.com/meetfranz/franz/issues/879))
- [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
- [x] Comes with a custom branding proper to Ferdi
## Development
### Preparations
#### Install Linux OS dependencies
[Guide: Linux distribution specific dependencies](docs/linux.md)
#### 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)):