custom mattermost desktop application
Go to file
vas 4efac368d5
only refresh view when the server URL changes (MM-34565) (#2082) (#2094)
* only refresh view when the server URL changes (MM-34565)

Create views of current and incoming tabs indexed
by unique [URL, TABTYPE] tuples, and diffing them.
Tuples that are identical are recycled, merely
porting the new server name over.

* lint fixes

* WIP

* linting

* remove dependency on by, duad

* provide a more exaplanatory name for TabView.prototype.tuple (urlTypeTuple)

* minor improvements in viewManager

- remove stateful behaviour from makeView
- more descriptive variable names when looping
- create new arrays before sorting (sort is in-place by default)

* resolve linting errors
2022-05-20 11:06:43 -04:00
.circleci Fix GitHub release asset upload (#2114) 2022-05-18 14:34:34 -04:00
.github MM-41988 Updated links to legacy domain about.mm.com (#2003) 2022-03-10 16:40:06 -05:00
.vscode [MM-39839] Changes for writing unit tests, some re-org (#1849) 2021-11-04 11:29:32 -04:00
e2e E2E test fixups (#2045) 2022-04-19 09:56:41 -04:00
fastlane Add skip_waiting_for_build_processing to CI build (#2027) 2022-03-29 11:35:55 -04:00
resources/windows Update GPO to reflect right version (#2110) 2022-05-19 08:42:32 +02:00
scripts Fix release markdown (#2075) 2022-04-25 17:19:34 -04:00
src only refresh view when the server URL changes (MM-34565) (#2082) (#2094) 2022-05-20 11:06:43 -04:00
.editorconfig [MM-23067] Browser View (#1514) 2021-03-18 15:51:53 +01: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-18552] Autoupdater (#1714) 2022-03-08 11:38:38 -05:00
.gitignore [MM-42538] Submit nightly builds to TestFlight for macOS (#2023) 2022-03-28 11:06:00 -04: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 Attempt to fix linux build (#2026) 2022-03-28 16:43:27 -04: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 [MM-42538] Submit nightly builds to TestFlight for macOS (#2023) 2022-03-28 11:06:00 -04:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md (#2030) 2022-03-29 09:40:08 -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 NOTICE.txt (#2060) 2022-04-19 15:24:16 -04:00
package-lock.json only refresh view when the server URL changes (MM-34565) (#2082) (#2094) 2022-05-20 11:06:43 -04:00
package.json only refresh view when the server URL changes (MM-34565) (#2082) (#2094) 2022-05-20 11:06:43 -04:00
PULL_REQUEST_TEMPLATE.md MM-41988 Updated links to legacy domain about.mm.com (#2003) 2022-03-10 16:40:06 -05: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 Migrate app to TypeScript (#1637) 2021-06-28 09:51:23 -04:00
webpack.config.base.js [MM-43039] Upgrade and clean up dependencies (#2038) 2022-04-06 19:08:27 -04:00
webpack.config.main.js [MM-43039] Upgrade and clean up dependencies (#2038) 2022-04-06 19:08:27 -04:00
webpack.config.renderer.js [MM-43039] Upgrade and clean up dependencies (#2038) 2022-04-06 19:08:27 -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.