Mattermost Logo

Mattermost Developer Blog

Submitting Great PRs Posted on Jan 24, 2019 by Jesse Hallam

If you want to submit good pull requests, start with our contribution checklist. Today, that page talks about what to fork, how to style your code, how to write unit tests and where to push your code. Implicit in all of that is the need to write great code, of course! But this blog post isn’t about writing great code, it’s about making your pull request a great experience for you and your reviewers.

Read More
Go: Idiomatic Error Handling Posted on Oct 18, 2018 by Jesse Hallam

Go is an extremely opinionated programming language. import something in a file that’s not used? It won’t compile, and there’s no flag to override. While there are workarounds, the end result remains the same: Go files are never cluttered by unused imports. This is true for all Go code everywhere, making every Go project more accessible. Not all Go opinions are enforced by the compiler. Some are documented in Effective Go, and yet others are reflected only in the coding style of the Go standard library.

Read More
Plugin System Overhaul Posted on Jul 18, 2018 by Joram Wilander

Mattermost 5.2 will include major overhauls to the plugin system. Over the last six months of plugins being in beta, we’ve received a lot of great feedback from our community and customers building Mattermost plugins, as well as from our core team. We’ve taken this experience and feedback and used it to enhance our plugin system. This brings us a step closer to moving plugins out of beta and into a full stable release.

Read More
Subpath Support Posted on Jun 25, 2018 by Jesse Hallam

Mattermost 5.1 will include support for serving Mattermost from subpaths. This allows Mattermost to be exposed at something like, with your proxy server exposing different services at other subpaths. Subpath support is configured via the Site URL. Using subpaths in production In production, after configuration and restart, the application server expects all HTTP requests to be anchored to the configured subpath. This includes static assets, API calls, and WebSockets.

Read More
npm@6 Posted on May 22, 2018 by Harrison Healey

Heads up that with PR#1239, we’re effectively switching to npm@6. Why the change? Previously, doing a fresh npm install would unexpectedly change package-lock.json. Upgrading to npm@6 should resolve this going forward. What do I need to do? Make sure you’re running npm@6: npm install -g npm@6

Read More
Platform Repository Splitting Posted on Sep 4, 2017 by Joram Wilander

A reminder that Mattermost will be separating the /platform repo into two repositories on September 6th, 2017: a new repository for webapp client code, hosted at existing repository (/platform) renamed to /mattermost-server, containing the server code. Why the change? Separates PRs for client and server with better naming conventions. This is similar to React Native and Redux repositories and helps us: work on one part of the system (webapp/server) without worrying about the other.

Read More