Distribute a custom desktop app¶
You can customize and distribute your own Mattermost desktop application by configuring src/common/config/buildConfig.ts.
Configure the desktop app’s
buildConfig.tsfile. You can configure the following parameters to customize the user experience, including defaultTeams, helpLink, and enableServerManagement.Follow the Mattermost Desktop Development Guide to build the application.
Distribute the application to your users.
defaultTeams¶
List of server URLs and their display names added to the desktop app by default, which the user cannot modify. Users can still add servers through the Server Management page unless enableServerManagement is set to false. Expects an array of key-value pairs.
Example:
defaultTeams: [
{
name: 'example',
url: 'https://example.com'
},
{
name: 'mattermost',
url: 'https://www.mattermost.com'
}
]
helpLink¶
The URL of the help documentation in Help > Learn More menu bar item. If none is specified, the menu option is hidden. Expects a string.
Example:
helpLink: 'https://docs.mattermost.com/messaging/managing-desktop-app-servers.html'
helpLink: ''
enableServerManagement¶
Controls whether users can add, edit, or remove servers on the app settings page. If set to false, at least one server must be specified for defaultTeams or else users cannot interact with any servers. Expects a boolean, true or false.
Example:
enableServerManagement: true
Managed resources¶
Custom builds of the Mattermost desktop app support managed resources which are services available on the same hostname and protocol as the Mattermost server.
To configure managed resources, add their path to the managedResources field in your configuration file. Selecting a managed resource opens it as a pop-up window in the desktop app.
Additionally, you must configure the :ref:Managed Resource Paths <configure/environment-configuration-settings:managed resource paths>` server configuration setting. For example, adding the /video path:
[...]
managedResources: ['trusted', 'video'],
[...]
Below are examples of server URLs with valid and invalid managed resource URLs:
Server: https://mattermost.my.org
Valid:
https://mattermost.my.org/videoValid:
https://mattermost.my.org/conferenceInvalid:
http://mattermost.my.org/video(different protocol)Invalid:
https://conference.my.org(different origin)
Server: https://my.org/mattermost
Valid:
https://my.org/videoValid:
https://my.org/conferenceInvalid:
http://my.org/video(different protocol)Invalid:
https://conference.my.org(different origin)