custom mattermost desktop application
Go to file
Devin Binnie f4f4511cc7
Remove WindowManager, separate functionality into smaller modules (#2682)
* Move sendToRenderer to respective singletons

* Move to using ViewManager call for getting view by webContentsId

* Move show and create logic to main window, handle deep linking seperately

* Move resizing logic and event handing to mainWindow

* Move server switching logic to main/app

* Move tab switching logic to main/app, rely on showById for most usage

* Migrate remaining functions, remove windowManager objects, set up imports for self-contained singletons

* Fix E2E tests

* Update src/main/app/servers.ts

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-04-19 11:04:26 -04:00
.config/notice-file Create configuration folder for notice.txt generation (#2149) 2022-06-14 10:15:40 +03:00
.github Fix final release pipeline (#2663) 2023-04-04 08:29:09 -04:00
.vscode Exit process with code 1 if afterPack throws error (#2541) 2023-02-06 16:36:35 +02:00
e2e Remove WindowManager, separate functionality into smaller modules (#2682) 2023-04-19 11:04:26 -04:00
fastlane Add skip_waiting_for_build_processing to CI build (#2027) 2022-03-29 11:35:55 -04:00
i18n Translated using Weblate (Portuguese (Brazil)) 2023-04-12 08:15:05 -04:00
resources/windows Include windows 10 Home instructions in GPO/readme (#2375) 2022-11-11 22:03:29 +02:00
scripts Allow multiple MAS pre-finals to be created using the release script (#2664) 2023-04-05 09:30:43 -04:00
src Remove WindowManager, separate functionality into smaller modules (#2682) 2023-04-19 11:04:26 -04:00
.editorconfig Add recommended VSCode extensions (#2244) 2022-08-29 17:15:25 -04:00
.eslintignore Fix tests 2017-03-06 21:31:17 +09:00
.eslintrc-webapp.json [MM-43039] Upgrade and clean up dependencies (#2038) 2022-04-06 19:08:27 -04:00
.eslintrc.json [MM-22239] Downloads dropdown (#2227) 2022-10-07 11:40:27 +03:00
.gitignore PoC performance tests in CI (#2474) 2023-01-30 17:16:10 +02:00
.gitlab-ci.yml Create makefile and pipeline to generate signed debian packages. (#2068) 2022-04-21 09:41:50 -04:00
babel.config.js Migrate app to TypeScript (#1637) 2021-06-28 09:51:23 -04:00
CHANGELOG.md Update CHANGELOG.md (#1089) 2019-10-24 00:12:02 +02:00
CONTRIBUTING.md MM-41988 Updated links to legacy domain about.mm.com (#2003) 2022-03-10 16:40:06 -05:00
electron-builder.json Fix issue with rpm build conflicting with other electron applications (#2531) 2023-02-01 10:22:25 -05:00
entitlements.mac.plist Use build/ as CircleCI workspace (#1810) 2021-10-14 17:19:44 -04:00
entitlements.mas.inherit.plist [MM-42538] Submit nightly builds to TestFlight for macOS (#2023) 2022-03-28 11:06:00 -04:00
entitlements.mas.plist Remove unneeded entitlements (#2659) 2023-04-03 10:17:17 -04:00
LICENSE.txt Change app author to Mattermost 2017-07-10 22:19:37 +09:00
Makefile Create makefile and pipeline to generate signed debian packages. (#2068) 2022-04-21 09:41:50 -04:00
NOTICE.txt Update Licences at Notice.txt to reflect dependency changes. (#2675) 2023-04-12 10:50:47 -04:00
package-lock.json Update eslint-plugin-mattermost version (#2678) 2023-04-13 07:14:56 -04:00
package.json Update eslint-plugin-mattermost version (#2678) 2023-04-13 07:14:56 -04:00
README.md [MM-40632] Updates to the Developer Documentation and README, remove unnecessary files and code (#1922) 2021-12-17 15:00:35 -05:00
SECURITY.md MM-41988 Updated links to legacy domain about.mm.com (#2003) 2022-03-10 16:40:06 -05:00
TESTING.md [MM-40632] Updates to the Developer Documentation and README, remove unnecessary files and code (#1922) 2021-12-17 15:00:35 -05:00
tsconfig.json [MM-22239] Downloads dropdown (#2227) 2022-10-07 11:40:27 +03:00
webpack.config.base.js E2E omnibus fixes (#2249) 2022-09-12 10:43:19 -04:00
webpack.config.main.js Merge and migrate locally-trusted preload scripts to contextBridge API (#2553) 2023-02-15 13:42:53 -05:00
webpack.config.performance.test.js PoC performance tests in CI (#2474) 2023-01-30 17:16:10 +02:00
webpack.config.renderer.js Change default devServer port to 9065 (#2657) 2023-04-03 09:06:17 -04:00
webpack.config.test.js [MM-43039] Upgrade and clean up dependencies (#2038) 2022-04-06 19:08:27 -04:00

Mattermost Desktop

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is for the native desktop application that's built on Electron; it runs on Windows, Mac, and Linux.

Originally created as "electron-mattermost" by Yuya Ochiai.

mm-desktop-screenshot

Circle CI

Features

Desktop integration

  • Server dropdown for access to multiple teams
  • Dedicated tabs for Channels, Boards and Playbooks
  • Desktop Notifications
  • Badges for unread channels and mentions
  • Deep Linking to open Mattermost links directly in the app
  • Runs in background to reduce number of open windows

Usage

Installation

Detailed guides are available at docs.mattermost.com.

  1. Download a file from the downloads page or from the releases page.
  2. Run the installer or unzip the archive.
  3. Launch Mattermost from your Applications folder, menu, or the unarchived folder.
  4. On the first launch, please enter a name and URL for your Mattermost server. For example, https://mattermost.example.com.

Configuration

You can show the dialog from menu bar.

Configuration will be saved into Electron's userData directory:

  • %APPDATA%\Mattermost on Windows
  • ~/Library/Application Support/Mattermost on OS X
  • ~/.config/Mattermost on Linux

A custom data directory location can be specified with:

  • Mattermost.exe --args --data-dir C:\my-mattermost-data on Windows
  • open /Applications/Mattermost.app/ --args --data-dir ~/my-mattermost-data/ on macOS
  • ./mattermost-desktop --args --data-dir ~/my-mattermost-data/ on Linux

Custom App Deployments

Our docs provide a guide on how to customize and distribute your own Mattermost Desktop App, including how to distribute the official Windows Desktop App silently to end users, pre-configured with the server URL and other app settings.

Development and Making Contributions

Our developer guide has detailed information on how to set up your development environment, develop, and test changes to the Desktop App.