This application is deprecated in favor of the official one
An application for Mattermost for OS X, Windows, and Linux, powered by Electron.
First, clone down this project, and then from within that directory in your favorite terminal run:
> npm install
// installs packages....
> npm link
// creates a local symlink
You're now ready to start developing against your local mattermost installation. Make sure
you have your config.json setup as noted in the steps below.
Matterfront can connect to multiple teams. For now, the names and urls or your teams are pulled from a json file in your home directory.
Create a text file at ~/.matterfront/config.json. (Where ~ is your home directory). Make it look like this:
{
"teams": [{
"name": "team1",
"url": "http://some.server.com/team1"
},{
"name": "team2",
"url": "http://some.server.com/team2"
}]
}Note: each team must have a unique name specified in the config.
You should be able to provide your credentials when the mattermost page loads the first time.
Support for adding multiple teams through the UI is coming soon.
Electron supports a subset of Chrome command-line switches when it starts up the main Chromium window. These command-line switches can be set via a config file in your home dir.
Create a text file at ~/.matterfront/config.json. (Where ~ is your home directory), and include a chrome-args key, like this:
{
"chrome-args": {
"remote-debugging-port":"2929",
"no-proxy-server": ""
}
}Matterfront will read this file and apply each switch when it starts up the app. Note that config options that don't have a value can specify a value of "".
These values can also be specified via the developer command-line like this:
electron . --chrome-args:remote-debugging-port=2929 --chrome-args:no-proxy-server
Matterfront can show an icon in the tray, which is the notification area on Windows, or menu bar on OS X. To enable the tray icon, set the option showTrayIcon in your config.json, like this:
{
"showTrayIcon": true
}If the tray icon is enabled, Matterfront will not quit when the window is closed. Quit the process using the corresponding menu item of the tray icon.
To launch the app from source without building a distribution:
npm run start
To launch the app in watch mode:
npm run start-watch
While running in watch mode, any code changes will automatically be reflected in the running app as files are saved. If main process code changes, the whole app will restart. If browser-side code changes, the browser window will reload. Check out ./electron-watch.js for details.
Other dev tasks are also available as both "run-once" and "watch". Check out the package.json scripts block for details.
This project contains a Vagrant environment, consisting of a locally hostable mattermost instance you can use for testing. Alternatively, you can use your own production mattermost server.
After following the configuration steps above, run npm start from within your matterfront directory
- Set up your
config.jsonusing"url":"http://192.168.33.33" - run
vagrant upfrom within your local copy of this repo - run
npm start
First follow the install instructions above. Then from within your project root, you can build for all platforms and distributions by running:
npm run build
This will output the following distributions into the /dist directory:
dist/
|- matterfront-darwin-x64/
|- matterfront-linux-ia32/
|- matterfront-linux-x64/
|- matterfront-win32-ia32/
|- matterfront-win32-x64/
Each directory contains an executable for the platform listed. For more detailed
build options, check out how to modify your build from within package.json by
using the options from electron-packager to modify your built artifacts.
If you are on Linux or OS X, you need Wine for Windows builds.
Matterfront is a Mattermost frontend application. This application is in no way affiliated with nor endorsed by Mattermost. See Mattermost branding guidelines.
