custom mattermost desktop application
Go to file
Mustafa Kara 78b4bbf357
Create makefile and pipeline to generate signed debian packages. (#2068)
* Integrate GitLab Pipeline to Build Signed Packages

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Ci Pipeline Location

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Implement gitlabci and Makefile to build linux packages

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Improve makefile and pipeline to support customizable package action

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix variable definition

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix variable definition

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix makefile formatting

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix SSH key problem

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix extended echo

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix makefile for ssh keys issue

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Parameterize sign artifacts

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Change artifact directory

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix package make command

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Add Sign step to pipeline

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix pipeline code for version

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix makefile for version

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix pipeline code

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Makefile for fast package-linux action

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Makefile for version

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Create Sign Action

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Move dependency installations to container

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Add jq dependency check

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Implement sign debian artifacts step

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Makefile spacing

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Makefile spacing

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* FIx artifacts for debian only

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix artifacts directory

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Implement signing via Makefile way

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Modify Makefile for aptly packaging

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix pipeline for aptly

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix foreach loop in Makefile

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix repo gpg key

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Repo Public Key issue

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Get PGP key with wget

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Change gpg implementation

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Configure aptly

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix missing release variable

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Frozen Makefile

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Publish packages to apt repository

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Configure variables for pipeline

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Configure Package Linux Job

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Pipeline Code

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Create rules for pipeline

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* COnfigure nightly branch

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* FIx broken branch name

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Improve makefile to use build type variable

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix nightly branch

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix makefile

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix Makefile

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Install JQ

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Remove need of version dedection

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Fix sign operation

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Create files to prepare signed artifacts

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Create gitlab pipeline to use for desktop builds

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Remove aptly conf

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>

* Sort makefile commands

Signed-off-by: Mustafa Kara <mkara@pinchflat.dev>
2022-04-21 09:41:50 -04:00
.circleci Fixes to the release script (#2059) 2022-04-19 12:12:09 -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 [MM-18552] Autoupdater (#1714) 2022-03-08 11:38:38 -05:00
scripts Fixes to the release script (#2059) 2022-04-19 12:12:09 -04:00
src Fix download folder for MAS (#2063) 2022-04-19 20:16:58 -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 Upgrade to Electron v18.0.3 to fix MAS rejection (#2052) 2022-04-14 11:54:10 -04:00
package.json Fix version numbers (#2064) 2022-04-19 20:18:04 -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.