Настольное приложение для Rocket.chat доступно для MacOS, Windows и Linux с использованием Electron.

Мы хотели бы услышать о вашем опыте и потенциально показать его в нашем блоге.
Раз в месяц наша маркетинговая команда выпускает обновление по электронной почте с новостями о выпусках продуктов, темах, связанных с компанией, событиями и вариантами использования. Зарегистрироваться!
Вы можете скачать последнюю версию со страницы релизов.
Запустите установщик и следуйте инструкциям для установки.
В Windows вы можете запустить молчаливую установку, добавив флаг /S . Вы также можете добавить параметры ниже:
/S - молчаливая установка/allusers - установить для всех пользователей (требует администратора)/currentuser - установите только текущего пользователя (по умолчанию)/disableAutoUpdates - Отключить автоматические обновления Предварительные условия:
Теперь просто клонируйте и запустите приложение:
git clone https://github.com/RocketChat/Rocket.Chat.Electron.git
cd Rocket.Chat.Electron
yarn
yarn start Источник расположен в папке src . Все в этой папке будет построено автоматически при запуске приложения с yarn start .
Процесс сборки компилирует все вещи из папки src и помещает его в папку app , поэтому после завершения сборки ваша папка app содержит полное, запущенное приложение.
После продолжающихся изменений в кодовой базе Rocket.chat приложение было переписано в TypeScript 4 для решения проблем, касающихся обслуживания.
Процесс сборки основан на Bundler. Для вашего кода есть три файла входа:
src/main.ts , сценарий, работающий на основном электронном процессе, организует все приложение;
src/rootWindow.ts , сценарий, который отображает пользовательский интерфейс корневого окна , главное окно приложения;
и src/preload.ts , который запускается в привилегированном режиме для подключения приложения и веб -клиента Rocket.chat.
Не забудьте уважать разделение между dependencies и devDependencies в файле package.json . Только модули, перечисленные в dependencies будут включены в распределимое приложение.
Следуйте инструкции по установке на node-gyp readme.
Вам нужно будет установить следующие пакеты:
build-essential
libevas-dev
libxss-devВам нужно будет установить следующие пакеты:
libX11
libXScrnSaver-devel
gcc-c++В Windows 7, возможно, придется следовать варианту 2 руководства по установке Node-GYP и установить Visual Studio.
yarn test Мы используем структуру Jest Testing с Jest Electron Runner. Он ищет все файлы в каталоге src , которые соответствуют шаблону глобуса *.(spec|test).{js,ts,tsx} .
Чтобы упаковать ваше приложение в команду установщика использования:
yarn release Он запустит процесс упаковки для операционной системы, в которой вы используете эту команду. Готово для файла распределения будет выведена в dist Directory.
Все упаковочные действия обрабатываются электрон-строителем. У этого есть много вариантов настройки.
Файл servers.json будет определять, к каким серверам клиент будет подключаться и заполнять список серверов на боковой панели. Он содержит список серверов по умолчанию, которые будут добавлены в первый раз, когда пользователь запускает приложение (или когда все серверы удаляются из списка). Синтаксис файла выглядит следующим образом:
{
"Demo Rocket Chat" : " https://demo.rocket.chat " ,
"Open Rocket Chat" : " https://open.rocket.chat "
} Вы можете объединить servers.json с помощью пакета установки, файл должен быть расположен в корне приложения проекта (тот же уровень, что и package.json ). Если файл найден, начальный экран «Подключение к серверу» будет пропущен, и он попытается подключиться к первому серверу в определении массива, и отбросить пользователя прямо на экране входа в систему. Обратите внимание, что servers.json будет проверяться только в том случае, если другие серверы уже не были добавлены, даже если вы удалите приложение без удаления более старых предпочтений, оно не будет инициировано снова.
Если вы не можете (или не хотите) объединить файл в приложении, вы можете создать servers.json в папке «Пользовательские предпочтения», которая будет перезаписать упакованный. Файл должен быть расположен в %APPDATA%/Rocket.Chat/ Polder или в папке установки в случае установки для всех пользователей (только для Windows).
Для окон полные пути:
~Users<username>AppDataRoamingRocket.Chat~Program FilesRocket.ChatResourcesНа macOS полный путь:
~/Users/<username>/Library/Application Support/Rocket.Chat//Library/Preferences/Rocket.Chat/На Linux полные пути:
/home/<username>/.config/Rocket.Chat//opt/Rocket.Chat/resources/ Вы можете переопределить настройки пользователя, создав overridden-settings.json . Файл должен быть расположен в %APPDATA%/Rocket.Chat/ Polder или в папке установки в случае установки для всех пользователей (только для Windows).
Каждый настройка, установленная в файле, будет переоценить настройки по умолчанию и пользователя. Затем вы можете использовать его для отключения функций по умолчанию, таких как Auto-Update, и даже создать один серверный режим.
| Параметр | Описание |
|---|---|
"isReportEnabled": true, | Набор, если ошибки будут сообщены разработчикам. |
"isInternalVideoChatWindowEnabled": true, | Установки видеозвонки будут открыты во внутреннем окне. |
"isFlashFrameEnabled": true, | Установки, если Flash Frame будет включена. |
"isMinimizeOnCloseEnabled": false, | Установки, если приложение будет сведено к минимуму на закрытии. |
"doCheckForUpdatesOnStartup": true, | Устанавливает, если приложение проверит для обновлений запуска. |
"isMenuBarEnabled": true, | Установки, если строка меню будет включена. |
"isTrayIconEnabled": true, | Включает значок лотка, приложение будет скрыто к подносу. Переопределять "isMinimizeOnCloseEnabled" |
"isUpdatingEnabled": true, | Устанавливает, если приложение может быть обновлено пользователем. |
"isAddNewServersEnabled": true, | Устанавливает, если пользователь может добавить новые серверы. |
Если настройка "isAddNewServersEnabled": false установлен, пользователь не сможет добавлять новые серверы. Кнопки и ярлыки будут отключены. Затем вам придется добавить сервер в файл servers.json . При этом вы можете создать единый серверный режим или просто не позволяйте пользователю добавлять новые серверы самостоятельно.
overridden-settings.json файл:
{
"isTrayIconEnabled": false,
"isMinimizeOnCloseEnabled": false
}
Когда isTrayIconEnabled включена, приложение будет скрыто на закрытии. Когда isMinimizeOnCloseEnabled включена, приложение будет минимизировано на закрытии. Когда оба отключены, приложение уйдет с закрытия.
Выпущено по лицензии MIT.