Aplicación de escritorio para Rocket.Chat disponible para macOS, Windows y Linux usando Electron.

Nos encantaría saber sobre su experiencia y potencialmente presentarla en nuestro blog.
Una vez al mes, nuestro equipo de marketing publica una actualización de correo electrónico con noticias sobre lanzamientos de productos, temas relacionados con la compañía, eventos y casos de uso. ¡Inscribirse!
Puede descargar la última versión de la página de lanzamientos.
Inicie el instalador y siga las instrucciones para instalar.
En Windows puede ejecutar una instalación silenciosa agregando el indicador /S . También puede agregar las opciones a continuación:
/S - instalación silenciosa/allusers : instalar para todos los usuarios (requiere administrador)/currentuser : instale solo el usuario actual (predeterminado)/disableAutoUpdates - Deshabilitar actualizaciones automáticas Prerrequisitos:
Ahora solo clon y comience la aplicación:
git clone https://github.com/RocketChat/Rocket.Chat.Electron.git
cd Rocket.Chat.Electron
yarn
yarn start La fuente se encuentra en la carpeta src . Todo en esta carpeta se construirá automáticamente al ejecutar la aplicación con yarn start .
El proceso de compilación compila todas las cosas de la carpeta src y las coloca en la carpeta app , por lo que después de que la compilación haya terminado, su carpeta app contiene la aplicación completa y ejecutable.
Después de los cambios continuos en la base de código Rocket.Chat, la aplicación se reescribió en TypeScript 4 para abordar los problemas relacionados con la capacidad de mantenimiento.
El proceso de compilación se basa en Bundler Rollup. Hay tres archivos de entrada para su código:
src/main.ts , el script que se ejecuta en el proceso de electrones principales, orquestando toda la aplicación;
src/rootWindow.ts , el script que representa la interfaz de usuario de la ventana raíz , la ventana principal de la aplicación;
y src/preload.ts , que se ejecuta en un modo privilegiado para conectar la aplicación y las vistas web que hacen que el cliente web de Rocket.Chat.
Recuerde respetar la división entre dependencies y devDependencies en el archivo package.json . Solo los módulos enumerados en dependencies se incluirán en la aplicación distribuible.
Siga las instrucciones de instalación en Node-Gyp ReadMe.
Deberá instalar los siguientes paquetes:
build-essential
libevas-dev
libxss-devDeberá instalar los siguientes paquetes:
libX11
libXScrnSaver-devel
gcc-c++En Windows 7, es posible que deba seguir la Opción 2 de la Guía de instalación de Node-Gyp e instalar Visual Studio.
yarn test Utilizamos el marco de prueba Jest con el corredor de electrones Jest. Busca todos los archivos en el directorio src que coincidan con el patrón del globo *.(spec|test).{js,ts,tsx} .
Para empaquetar su aplicación en un comando Use un instalador:
yarn release Comenzará el proceso de empaque para el sistema operativo en el que está ejecutando este comando. Listo para el archivo de distribución se emitirá al directorio dist .
Todas las acciones de embalaje son manejadas por Electron-Builder. Tiene muchas opciones de personalización.
El archivo servers.json definirá qué servidores se conectará el cliente y llenará la lista de servidores en la barra lateral. Contiene una lista de servidores predeterminados que se agregarán la primera vez que el usuario ejecuta la aplicación (o cuando todos los servidores se eliminan de la lista). La sintaxis del archivo es la siguiente:
{
"Demo Rocket Chat" : " https://demo.rocket.chat " ,
"Open Rocket Chat" : " https://open.rocket.chat "
} Puede agrupar un servers.json con el paquete de instalación, el archivo debe ubicarse en la raíz de la aplicación del proyecto (mismo nivel que el package.json ). Si se encuentra el archivo, se omitirá la pantalla inicial "Conectar al servidor" e intentará conectarse al primer servidor en la matriz que se ha definido y soltar el usuario directamente en la pantalla de inicio de sesión. Tenga en cuenta que el servers.json solo se verificará si ya no se han agregado otros servidores, incluso si desinstala la aplicación sin eliminar las preferencias más antiguas, no se activará nuevamente.
Si no puede (o no quiere) agrupar el archivo dentro de la aplicación, puede crear un servers.json en la carpeta de preferencias de usuario que sobrescribirá la envasada. El archivo debe ubicarse en el %APPDATA%/Rocket.Chat/ carpeta o la carpeta de instalación en caso de una instalación para todos los usuarios (solo Windows).
Para Windows, las rutas completas son:
~Users<username>AppDataRoamingRocket.Chat~Program FilesRocket.ChatResourcesEn macOS, el camino completo es:
~/Users/<username>/Library/Application Support/Rocket.Chat//Library/Preferences/Rocket.Chat/En Linux, las rutas completas son:
/home/<username>/.config/Rocket.Chat//opt/Rocket.Chat/resources/ Puede anular la configuración del usuario creando una carpeta de overridden-settings.json del usuario. El archivo debe ubicarse en el %APPDATA%/Rocket.Chat/ carpeta o la carpeta de instalación en caso de una instalación para todos los usuarios (solo Windows).
Cada configuración establecido en el archivo anulará la configuración predeterminada y del usuario. Luego puede usarlo para deshabilitar las funciones predeterminadas como Auto-Update e incluso crear un solo modo de servidor.
| Configuración | Descripción |
|---|---|
"isReportEnabled": true, | Conjuntos si los errores se informarán a los desarrolladores. |
"isInternalVideoChatWindowEnabled": true, | Establece las llamadas de video se abrirán en una ventana interna. |
"isFlashFrameEnabled": true, | Conjuntos si el marco flash estará habilitado. |
"isMinimizeOnCloseEnabled": false, | Establecer si la aplicación se minimizará en Cerrar. |
"doCheckForUpdatesOnStartup": true, | Establece si la aplicación verificará las actualizaciones sobre el inicio. |
"isMenuBarEnabled": true, | Conjuntos si la barra de menú estará habilitada. |
"isTrayIconEnabled": true, | Habilita el icono de la bandeja, la aplicación se ocultará a la bandeja de cierre. Anular "isMinimizeOnCloseEnabled" |
"isUpdatingEnabled": true, | Conjuntos Si el usuario puede actualizar la aplicación. |
"isAddNewServersEnabled": true, | Establece si el usuario puede agregar nuevos servidores. |
Si la configuración "isAddNewServersEnabled": false está configurada, el usuario no podrá agregar nuevos servidores. Los botones y atajos estarán deshabilitados. Luego tendrá que agregar el servidor al archivo servers.json . Con esto, puede crear un solo modo de servidor o simplemente no dejar que el usuario agregue nuevos servidores por los suyos.
Archivo overridden-settings.json :
{
"isTrayIconEnabled": false,
"isMinimizeOnCloseEnabled": false
}
Cuando isTrayIconEnabled está habilitado, la aplicación estará oculta en Close. Cuando se habilita isMinimizeOnCloseEnabled , la aplicación se minimizará en Cerrar. Cuando ambos están deshabilitados, la aplicación dejará de cerrar.
Liberado bajo la licencia MIT.