Rocket.Chat.Electron

Official OSX, Windows, and Linux Desktop Clients for Rocket.Chat

Github星跟蹤圖

Rocket.Chat Desktop App

Build Status
Build status
Codacy Badge
Project Dependencies
GitHub All Releases
GitHub

Desktop application for Rocket.Chat available for macOS, Windows and Linux
using Electron.

Download

You can download the latest version from the Releases page.

Get it from the Snap Store

Install

Launch the installer and follow the instructions to install.

Windows Options

On Windows you can run a silent install by adding the /S flag. You can also
add the options below:

  • /S - Silent install
  • /allusers - Install for all users (requires admin)
  • /currentuser - Install for current user only (default)
  • /disableAutoUpdates - Disable autoupdates (Application will not update
    automatically / User can't update via dialog)

Development

Quick start

Prerequisites:

Now just clone and start the app:

git clone https://github.com/RocketChat/Rocket.Chat.Electron.git
cd Rocket.Chat.Electron
yarn
yarn start

Structure of the project

The source is located in the src folder. Everything in this folder will be
built automatically when running the app with yarn start.

The build process compiles all stuff from the src folder and puts it into the
app folder, so after the build has finished, your app folder contains the
full, runnable application.

The build pipeline

Build process is founded upon gulp task runner and rollup bundler. There are
two entry files for your code: src/main.js and src/app.js. Rollup will
follow all import statements starting from those files and compile code of the
whole dependency tree into one .js file for each entry point.

Adding node modules

Remember to respect the split between dependencies and devDependencies in
package.json file. Only modules listed in dependencies will be included into
distributable app.

Working with modules

Thanks to rollup you can (and should) use ES6 modules for most code in src
folder.

Use ES6 syntax in the src folder like this:

import myStuff from './my_lib/my_stuff';

The exception is in src/public. ES6 will work inside this folder, but it is
limited to what Electron/Chromium supports. The key thing to note is that you
cannot use import and export statements. Imports and exports need to be done
using CommonJS syntax:

const myStuff = require('./my_lib/my_stuff');
const { myFunction } =  require('./App');

Troubleshooting

node-gyp

Follow the installation instruction on node-gyp readme.

Ubuntu

You will need to install the following packages:

build-essential
libevas-dev
libxss-dev

Fedora

You will need to install the following packages:

libX11
libXScrnSaver-devel
gcc-c++

Windows 7

On Windows 7 you may have to follow option 2 of the node-gyp install guide
and install Visual Studio.

Testing

Unit tests

yarn test

Using electron-mocha test runner with the chai assertion library. This task
searches for all files in src directory which respect pattern *.spec.js.

Making a release

To package your app into an installer use command:

yarn release

It will start the packaging process for operating system you are running this
command on. Ready for distribution file will be outputted to dist directory.

All packaging actions are handled by electron-builder. It has a lot of
customization options.

Default servers

The servers.json file will define what servers the client will connect to and
will populate the server list in the sidebar, it contains a list of default
servers which will be added the first time the user runs the app (or when all
servers are removed from the list).
The file syntax is as follows:

{
  "Demo Rocket Chat": "https://demo.rocket.chat",
  "Open Rocket Chat": "https://open.rocket.chat"
}

Pre-Release Configuration

You can bundle a servers.json with the install package, the file should be
located in the root of the project application (same level as the
package.json). If the file is found, the initial "Connect to server" screen
will be skipped and it will attempt to connect to the first server in the array
that has been defined and drop the user right at the login screen. Note that the
servers.json will only be checked if no other servers have already be added,
even if you uninstall the app without removing older preferences, it will not be
triggered again.

Post-Install Configuration

If you can't (or don't want to) bundle the file inside the app, you can create a
servers.json in the user preferences folder which will overwrite the packaged
one. The file should be located in the %APPDATA%/Rocket.Chat/ folder or the
installation folder in case of a installation for all users (Windows only).

For Windows the full paths are:

  • ~\Users\<username>\AppData\Roaming\Rocket.Chat\
  • ~\Program Files\Rocket.Chat\Resources\

On MacOS the full paths are:

  • ~/Users/<username>/Library/Application Support/Rocket.Chat/
  • ~/Applications/Rocket.Chat.app/Contents/Resources/

On Linux the full paths are:

  • /home/<username>/.config/Rocket.Chat/
  • /opt/Rocket.Chat/resources/

License

Released under the MIT license.

Spelling dictionaries

主要指標

概覽
名稱與所有者RocketChat/Rocket.Chat.Electron
主編程語言TypeScript
編程語言HTML (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2015-07-08 16:56:41
推送於2025-06-09 21:10:49
最后一次提交2025-05-29 15:37:37
發布數333
最新版本名稱4.5.0 (發布於 )
第一版名稱0.10.1 (發布於 2016-01-07 16:30:16)
用户参与
星數1.6k
關注者數111
派生數747
提交數2.6k
已啟用問題?
問題數1868
打開的問題數156
拉請求數717
打開的拉請求數93
關閉的拉請求數232
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?