custom mattermost desktop application
Go to file
Devin Binnie c9f671d82a
[MM-59552] Remove unsafe-inline from internal CSP, replace with nonce and rework some dynamic styling (#3120)
* Remove unsafe-inline

* Fix dynamic dark mode loading

* Include nonce generator for CSP for styles

* Add nonce provider for react-select

* Fix test
2024-08-12 09:38:59 -04:00
.config/notice-file Support new notice-file-generator version (#3046) 2024-05-30 13:47:08 +02:00
.github Build all windows targets on release (#3100) 2024-07-23 09:23:16 -04:00
.vscode Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
api-types [MM-51514] Allow Calls widget to open user settings (#3109) 2024-07-24 17:56:45 +02:00
e2e [Snyk] Security upgrade @aws-sdk/client-s3 from 3.445.0 to 3.529.0 (#3117) 2024-08-01 09:11:25 -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 (Japanese) 2024-08-06 08:56:01 -04:00
patches Fixes for the MSI installer (#3043) 2024-05-28 17:04:13 -04:00
resources [MM-55341][MM-56894] Use electron-builder to create the MSI installer, drop support for 32-bit Windows and the NSIS installer (#3028) 2024-05-14 12:07:45 -04:00
scripts [MM-59543] Disallow use of file: protocol in the app, remove all references to it, add mattermost-desktop: protocol to read local files (#3095) 2024-07-18 16:01:44 -04:00
src [MM-59552] Remove unsafe-inline from internal CSP, replace with nonce and rework some dynamic styling (#3120) 2024-08-12 09:38:59 -04:00
.editorconfig feat: Upgrade Reusable GitHub Actions version (#2989) 2024-03-22 14:03:24 +02:00
.eslintignore Move all E2E dependencies into its own folder, run from there (#3068) 2024-06-17 15:24:15 -04:00
.eslintrc.json Move all E2E dependencies into its own folder, run from there (#3068) 2024-06-17 15:24:15 -04:00
.gitignore Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
.gitlab-ci.yml Create makefile and pipeline to generate signed debian packages. (#2068) 2022-04-21 09:41:50 -04:00
.nvmrc add nvmrc (#3101) 2024-07-22 10:15:42 -04:00
babel.config.js Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -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 Fixes for the MSI installer (#3043) 2024-05-28 17:04:13 -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 chore: Update NOTICE.txt file with updated dependencies (#3090) 2024-07-15 10:55:26 -04:00
package-lock.json [MM-59552] Remove unsafe-inline from internal CSP, replace with nonce and rework some dynamic styling (#3120) 2024-08-12 09:38:59 -04:00
package.json [MM-59552] Remove unsafe-inline from internal CSP, replace with nonce and rework some dynamic styling (#3120) 2024-08-12 09:38:59 -04:00
README.md chore(ci): update CI badge with GitHub Actions' one (#3021) 2024-04-30 08:50:38 -04: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-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711) 2023-05-08 09:17:01 -04:00
tsconfig.json [MM-52696] Upgrade and clean up Desktop App dev dependencies (#2970) 2024-03-07 15:55:33 -05:00
webpack.config.base.js Move all E2E dependencies into its own folder, run from there (#3068) 2024-06-17 15:24:15 -04:00
webpack.config.main.js Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
webpack.config.preload.js Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
webpack.config.renderer.js [MM-59552] Remove unsafe-inline from internal CSP, replace with nonce and rework some dynamic styling (#3120) 2024-08-12 09:38:59 -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

nightly-builds

Features

Desktop integration

  • Server dropdown for access to multiple servers
  • 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.