aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar vantezzen <hello@vantezzen.io>2019-10-29 21:18:24 +0100
committerLibravatar vantezzen <hello@vantezzen.io>2019-10-29 21:18:24 +0100
commit344eada924b196e2743cd016bbbb8cf6f26486f4 (patch)
tree4a93522741ad843ddc2d72c76005ba161d258685
parent Add @ammarmalhas as a contributor (diff)
parentMerge pull request #167 from Makazzz/portable-env (diff)
downloadferdium-app-344eada924b196e2743cd016bbbb8cf6f26486f4.tar.gz
ferdium-app-344eada924b196e2743cd016bbbb8cf6f26486f4.tar.zst
ferdium-app-344eada924b196e2743cd016bbbb8cf6f26486f4.zip
Merge branch 'develop' of https://github.com/getferdi/ferdi into develop
-rw-r--r--README.md81
-rw-r--r--src/config.js12
-rw-r--r--src/index.js13
3 files changed, 90 insertions, 16 deletions
diff --git a/README.md b/README.md
index 18ebdfdaa..38fb8cd47 100644
--- a/README.md
+++ b/README.md
@@ -4,14 +4,67 @@
4 4
5# Ferdi 5# Ferdi
6 6
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) 7<p align="center">
8[![Build Status Mac & Linux](https://travis-ci.org/getferdi/ferdi.svg?branch=master)](https://travis-ci.org/getferdi/ferdi) 8<a href="#backers-via-opencollective"><img alt="Open Collective backers" src="https://img.shields.io/opencollective/backers/getferdi?logo=open-collective"></a>
9<a href="#sponsors-via-opencollective"><img alt="Open Collective sponsors" src="https://img.shields.io/opencollective/sponsors/getferdi?logo=open-collective"></a>
10<a href="https://ci.appveyor.com/project/kytwb/ferdi"><img alt="Build Status Windows" src="https://img.shields.io/appveyor/ci/kytwb/ferdi/master?logo=appveyor"></a>
11<a href="https://travis-ci.org/getferdi/ferdi"><img alt="Build Status Mac & Linux" src="https://img.shields.io/travis/getferdi/ferdi/master?logo=travis"></a>
12</p>
9 13
10🤴🏽 Hard-fork of [Franz](https://github.com/meetfranz/franz), adding awesome features and removing unwanted ones. 14🤴🏽 Hard-fork of [Franz](https://github.com/meetfranz/franz), adding awesome features and removing unwanted ones.
11 15
16### Table of contents
17
18<details>
19<summary>Ferdi</summary>
20<ul>
21<li><a href="#what-is-ferdi-">What is Ferdi ?</a></li>
22<li><a href="#what-ferdi-looks-like-">What Ferdi looks like ?</a></li>
23<li><a href="#download-ferdi">Download Ferdi</a>
24<ul>
25<li><a href="#or-use-homebrew-macos-only">Or use homebrew</a></li>
26</ul>
27</li>
28<li><a href="#ferdi-specific-features">Ferdi-specific Features</a></li>
29<li><a href="#development">Development</a></li>
30<ul>
31<li><a href="#install-os-dependencies">Install OS dependencies</a></li>
32<li><a href="#clone-repository-with-submodule">Clone repository with submodule</a></li>
33<li><a href="#install-dependencies">Install dependencies</a></li>
34<li><a href="#fix-native-modules-to-match-current-electron-node-version">Fix native modules to match current electron node version</a></li>
35<li><a href="#start-development-app">Start development app</a></li>
36<li><a href="#packaging">Packaging</a></li>
37<li><a href="#release">Release</a></li>
38</ul>
39<li><a href="#contributors-">Contributors ✨</a></li>
40<li><a href="#backers-via-opencollective">Backers via OpenCollective</a></li>
41<li><a href="#sponsors-via-opencollective">Sponsors via OpenCollective</a></li>
42</ul>
43</details>
44
45### What is Ferdi ?
46
47Ferdi is a messaging browser that allows you to combine your favorite messaging services into one application. It is based on Franz - a software already used by thousands of people - with the difference that Ferdi gives you many additonal features and doesn't restrict its usage! Ferdi is compatible with your existing Franz account so you can continue right where you left off. Find out more about Ferdi and its features on [getferdi.com](https://getferdi.com).
48
49### What Ferdi looks like ?
50
51<details>
52<summary>Screenshots</summary>
53<p align="center">
54<img alt="Keep all your messaging services in one place." src="./branding/screenshots/hero.png">
55<em>"Keep all your messaging services in one place."</em>
56<img alt="Order your services with Ferdi Workspaces." src="./branding/screenshots/workspaces.png">
57<em>"Order your services with Ferdi Workspaces."</em>
58<img alt="Always keep your Todo list open with Ferdi Todos." src="./branding/screenshots/todos.png">
59<em>"Always keep your Todo list open with Ferdi Todos."</em>
60<img alt="Supporting all your services." src="./branding/screenshots/service-store.png">
61<em>"Supporting all your services."</em>
62</p>
63</details>
64
12## Download Ferdi 65## Download Ferdi
13 66
14You can find the installers in the [latest release](https://github.com/getferdi/ferdi/releases) assets. 67You can find the installers in the [latest stable release](https://github.com/getferdi/ferdi/releases/latest) assets and [all the other release here](https://github.com/getferdi/ferdi/releases).
15 68
16### Or use homebrew (macOS only) 69### Or use homebrew (macOS only)
17 70
@@ -53,38 +106,36 @@ You can find the installers in the [latest release](https://github.com/getferdi/
53 106
54## Development 107## Development
55 108
56### Preparations 109### Install OS dependencies
57
58#### Install OS dependencies
59 110
60##### Node.js 111#### Node.js
61 112
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). 113Please 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 114
64##### Git 115#### Git
65 116
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. 117The 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 118
68##### Debian/Ubuntu 119#### Debian/Ubuntu
69 120
70```bash 121```bash
71$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev 122$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev
72``` 123```
73 124
74##### Fedora 125#### Fedora
75 126
76```bash 127```bash
77$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel 128$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel
78``` 129```
79 130
80##### Windows 131#### Windows
81 132
82```bash 133```bash
83$ npm install --global windows-build-tools // Windows 10 134$ npm install --global windows-build-tools // Windows 10
84$ npm install --global windows-build-tools --vs2015 // Windows 7 135$ npm install --global windows-build-tools --vs2015 // Windows 7
85``` 136```
86 137
87#### Clone repository with submodule 138### Clone repository with submodule
88 139
89```bash 140```bash
90$ git clone https://github.com/getferdi/ferdi.git 141$ git clone https://github.com/getferdi/ferdi.git
@@ -194,4 +245,8 @@ This project follows the [all-contributors](https://github.com/all-contributors/
194 245
195## Backers via OpenCollective 246## Backers via OpenCollective
196 247
197<a href="https://opencollective.com/getferdi#backers" target="_blank"><img src="https://opencollective.com/getferdi/backers.svg?width=890"></a> 248<a href="https://opencollective.com/getferdi#section-contribute" target="_blank"><img src="https://opencollective.com/getferdi/backers.svg?width=890"></a>
249
250## Sponsors via OpenCollective
251
252<a href="https://opencollective.com/getferdi#section-contribute" target="_blank"><img src="https://opencollective.com/getferdi/sponsors.svg?width=890"></a>
diff --git a/src/config.js b/src/config.js
index 1db881d35..bd67aee6b 100644
--- a/src/config.js
+++ b/src/config.js
@@ -114,6 +114,18 @@ export const FILE_SYSTEM_SETTINGS_TYPES = [
114export const LOCAL_SERVER = 'You are using Ferdi without a server'; 114export const LOCAL_SERVER = 'You are using Ferdi without a server';
115export const SERVER_NOT_LOADED = 'Ferdi::SERVER_NOT_LOADED'; 115export const SERVER_NOT_LOADED = 'Ferdi::SERVER_NOT_LOADED';
116 116
117// Set app directory before loading user modules
118if (process.env.FERDI_APPDATA_DIR != null) {
119 app.setPath('appData', process.env.FERDI_APPDATA_DIR);
120 app.setPath('userData', path.join(app.getPath('appData')));
121} else if (process.env.PORTABLE_EXECUTABLE_DIR != null) {
122 app.setPath('appData', process.env.PORTABLE_EXECUTABLE_DIR, `${app.getName()}AppData`);
123 app.setPath('userData', path.join(app.getPath('appData'), `${app.getName()}AppData`));
124} else if (process.platform === 'win32') {
125 app.setPath('appData', process.env.APPDATA);
126 app.setPath('userData', path.join(app.getPath('appData'), app.getName()));
127}
128
117export const SETTINGS_PATH = path.join(app.getPath('userData'), 'config'); 129export const SETTINGS_PATH = path.join(app.getPath('userData'), 'config');
118 130
119// Replacing app.asar is not beautiful but unforunately necessary 131// Replacing app.asar is not beautiful but unforunately necessary
diff --git a/src/index.js b/src/index.js
index 87aa6357b..3453b46f7 100644
--- a/src/index.js
+++ b/src/index.js
@@ -9,9 +9,16 @@ import fs from 'fs-extra';
9import path from 'path'; 9import path from 'path';
10import windowStateKeeper from 'electron-window-state'; 10import windowStateKeeper from 'electron-window-state';
11 11
12if (process.platform === 'win32') { 12// Set app directory before loading user modules
13 app.setPath('appData', process.env.LOCALAPPDATA); 13if (process.env.FERDI_APPDATA_DIR != null) {
14 app.setPath('userData', path.join(process.env.LOCALAPPDATA, app.getName())); 14 app.setPath('appData', process.env.FERDI_APPDATA_DIR);
15 app.setPath('userData', path.join(app.getPath('appData')));
16} else if (process.env.PORTABLE_EXECUTABLE_DIR != null) {
17 app.setPath('appData', process.env.PORTABLE_EXECUTABLE_DIR, `${app.getName()}AppData`);
18 app.setPath('userData', path.join(app.getPath('appData'), `${app.getName()}AppData`));
19} else if (process.platform === 'win32') {
20 app.setPath('appData', process.env.APPDATA);
21 app.setPath('userData', path.join(app.getPath('appData'), app.getName()));
15} 22}
16 23
17if (isDevMode) { 24if (isDevMode) {