custom mattermost desktop application
Go to file
Tasos Boulis 161ae99e94
[MM-47202] - Desktop diagnostics (#2439)
* Add custom assertion to match object in array (#2358)

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* [MM-48213] Add "Run diagnostics" menu item under Help (#2359)

* Add submenu item that runs diagnostics

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* Add tests

* Add translation

* [MM-47206] Diagnostics steps setup (#2361)

* Add baseline code for diagnostics and their steps

* Fix failing test

* [MM-47206] [MM-48155] Obfuscate logs (#2369)

* Add logging hooks to mask sensitive data

* Add hook that truncates long strings in diagnostics logs

* Add template file for creating steps

* Add readme inside diagnostics

* [MM-48145] Diagnostics step 2 - internet connectivity (#2372)

* Add diagnostics step 2 - internet connectivity check

* Update tests

* [MM-48144] Diagnostics Step - Configure logger (#2390)

* Configure logger

* Move configure logger into step1

* Add file extension to fileName variable

* Diagnostics Step 2: Validate configuration (#2391)

* Resolve conflicts with base branch

* Update test and implement Code review suggestion

* Fix failing test

* [MM-48147]Diagnostics step 3 - server connectivity (#2397)

* Add step3: Check server connectivity by using the /api/v4/system/ping endpoint

* Fix failing tests

* Add better obfuscator functions that mask all types of data (#2399)

* Add better obfuscator functions that mask all types of data(string, array, objects)

* Update tests

* [MM-48148] Add Diagnostics step 4 - session validation (#2398)

* Add diagnostics step 4 - session data validation

* Fix failing tests

* [MM-48152] Add diagnostics step 5 - BrowserWindows checks (#2404)

* Add diagnostics step 5 - browserwindow checks for main window

* Add tests

* [MM-48151] Diagnostics step 6 - Permissions (#2409)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* [MM-48551] Diagnostics step 7 - Performance & Memory (#2410)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* Add diagnostics step 7 - performance and memory

* Fix failing tests

* [MM-48153] Add diagnostics step 8 - Log heuristics (#2418)

* Add diagnostics step 8 - Log heuristics

* Add diagnostics step 9 - config (#2422)

* [MM-48556] Diagnostics Step 10 - Crash reports (#2423)

* Add diagnostics step 9 - config

* Add diagnostics step 10 - include crash reports

* Update tests

* Add diagnostics step 11 - cookies report (#2427)

* [MM-48157] Diagnostics report (#2432)

* Add better logging and pretty print report

* Update last step

* Update log message

* Move log after hooks so that path is masked

* Use correct directory for diagnostics files
2022-12-02 16:33:42 +02:00
.circleci Extend npm run package:* context deadline to 60m (#2437) 2022-11-30 11:55:42 -05:00
.config/notice-file Create configuration folder for notice.txt generation (#2149) 2022-06-14 10:15:40 +03:00
.github Updated CodeQL to latest version (#2292) 2022-10-20 16:13:07 +03:00
.vscode [MM-47202] - Desktop diagnostics (#2439) 2022-12-02 16:33:42 +02:00
e2e [MM-48685] Fix failing downloads dropdown items tests (#2431) 2022-11-30 17:43:55 +02:00
fastlane Add skip_waiting_for_build_processing to CI build (#2027) 2022-03-29 11:35:55 -04:00
i18n [MM-47202] - Desktop diagnostics (#2439) 2022-12-02 16:33:42 +02:00
resources/windows Include windows 10 Home instructions in GPO/readme (#2375) 2022-11-11 22:03:29 +02:00
scripts [MM-48380] ARM64 build for Windows/Linux (#2406) 2022-11-21 16:27:16 -05:00
src [MM-47202] - Desktop diagnostics (#2439) 2022-12-02 16:33:42 +02: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 [MM-46305] Add reporting code for E2E tests (#2222) 2022-08-15 09:07:22 -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 [MM-48557] Fix AppImage shortcut (#2413) 2022-11-22 11:43:26 -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 [MM-47801][MM-45980] Added support for security-scoped bookmarks to allow the MAS build to save files wherever needed (#2315) 2022-10-25 15:02:00 +03: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 Licences at Notice.txt to reflect dependency changes. (#2221) 2022-08-08 09:06:20 -04:00
package-lock.json Reduced package size by moving most depedencies to devDependencies (#2436) 2022-12-01 16:17:53 -04:00
package.json [MM-47202] - Desktop diagnostics (#2439) 2022-12-02 16:33:42 +02: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 [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 [MM-46993] Implement CallsWidgetWindow (#2265) 2022-11-07 09:40:13 +01:00
webpack.config.renderer.js [MM-22239] Downloads dropdown (#2227) 2022-10-07 11:40:27 +03: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.