• This repository has been archived on 07/Mar/2018
  • Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mattermost frontend app for OS X, Windows and Linux

Build Status

Matterfront

This application is deprecated in favor of the official one

An application for Mattermost for OS X, Windows, and Linux, powered by Electron.

screenshot on OS X

Installation

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.

Connecting to your teams

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 and Chrome command-line args

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

Enabling the tray icon

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.

Running in Developer Mode

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.

Testing

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.

Use your production Mattermost instance

After following the configuration steps above, run npm start from within your matterfront directory

Vagrant method

  1. Set up your config.json using "url":"http://192.168.33.33"
  2. run vagrant up from within your local copy of this repo
  3. run npm start

Building your own app

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.

Name and affiliation

Matterfront is a Mattermost frontend application. This application is in no way affiliated with nor endorsed by Mattermost. See Mattermost branding guidelines.

More Repositories

1

xbox_one_controller

HID-compliant Xbox One Controller driver for OS X
C++
218
star
2

ex-mode

Ex mode for Atom
CoffeeScript
169
star
3

apply

Simple zero-dependency tool to provision *nix machines
Shell
50
star
4

trim_patcher

Enable TRIM on Mac OS X for non-Apple SSDs
Python
46
star
5

rsync

rsync algorithm in python
Python
38
star
6

dotfiles

My dot files
Shell
28
star
7

ruby-skyjam

A Google Music client gem
Ruby
21
star
8

unelastic

Disable Safari elastic scrolling a.k.a rubberbanding
JavaScript
14
star
9

linux-console-themes

A collection of color themes for the Linux VTs
Perl
11
star
10

sprockets-less

Better Less integration with Sprockets 2.x
Ruby
11
star
11

bitcoinj-wallet-dump

Dump wallets serialized by bitcoinj
Protocol Buffer
9
star
12

toolbelt

Various unix-ish command line tools
Python
8
star
13

py-skyjam

A simple script that lazily downloads your Google Play music.
Python
8
star
14

normandy

Channels for CSP style Ruby
Ruby
6
star
15

ObsidianClock

A Clock MenuExtra replacement for use with Obsidian Menu Bar
Objective-C
5
star
16

vim-one-colorschemes

One Dark and One Light themes from Atom for Vim
Vim Script
5
star
17

python-dcpu_16

DCPU-16 implementation in Python
Python
5
star
18

go_shell

Tutorial - Write a shell in Go
Go
4
star
19

ld48-29

Beneath the Surface
Go
3
star
20

mattermost-newrelic-integration

Send NewRelic alerts to Mattermost
Go
3
star
21

digitalocean-ext4-to-btrfs

Convert debian 8.0 ext4 root to btrfs
Shell
3
star
22

terminal-one-themes

One themes inspired from Atom for OS X Terminal
3
star
23

coreaudio_example

CoreAudio minimalist example (without Xcode)
C++
3
star
24

rebel

Rebel - Ruby-flavored SQL
Ruby
3
star
25

umodule-js

Minimalist CommonJS module definition and requirement implementation, squarely aimed at browsers
CoffeeScript
2
star
26

ruby-tee

Teeing enumerations into procs
Ruby
2
star
27

vimfiles

My Vim configuration files and modules
Vim Script
2
star
28

fishfiles

Fish configuration
Shell
2
star
29

package-ruby

A namespaced package system for Ruby
Ruby
2
star
30

tilt-pdf

Integrates PDF generation into a Tilt flow
Ruby
1
star
31

http-chunked-progress

Chunked Progress extension to HTTP
1
star
32

awesomerc

Awesome WM config files and custom widgets
Lua
1
star
33

wasp

A Lisp that stings
Python
1
star
34

pingscan

A highly threaded python network discovery utility.
Python
1
star
35

local_tunnel

Client for localtunnel.me
Ruby
1
star
36

he_comes

TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚​N̐Y̡
1
star
37

zipcode-fr

Query french zip codes and cities
Ruby
1
star
38

zipcode-db

Unified interface to query international zip/postal codes
Ruby
1
star
39

debride-slim

Extends debride to analyze Slim files
Ruby
1
star