Skip to content

Mattermost plugin that injects custom styling on the web UI to remove native enterprise branding and add other QOL improvements.

Notifications You must be signed in to change notification settings

dy0gu/mattermost-plugin-freemium

Repository files navigation

Keeping it clean 🧹💼

This plugin was created to remove all free tier labels, warnings, and enterprise upgrade reminders from the Mattermost free edition web interface. It is intended to support a clean, self-hosted experience free from branding or ads tied to the original platform. It has now also evolved to provided QOL fixes for some less updated plugins, these fixes take no effect if you don't use such plugins.

Initially, the idea was to allow custom user CSS branding via a plugin settings text box. However, this was discarded out of respect for the Mattermost team, as they've since implemented this feature in the enterprise edition.

To clarify, this plugin is not intended to undermine Mattermost's work. The paid editions are vital to the platform's continued development and the talented team behind it. If you can, consider supporting them. Instead, this plugin provides an alternative for those who cannot purchase a paid edition or are restricted by legal or branding requirements.

Feel free to raise issues for any areas you think the plugin should address but currently doesn't.

Here is a non-exhaustive showcase of some of the changes made by the plugin:

1 2

Usage 🚀

Compatibility 📀

The plugin has been tested with the following versions:

  • 9.11.x
  • 10.x

Note that it should work with versions earlier than 9.11.0, though this was the one where the new branding changes were introduced.

Any new version is also likely compatible out of the box and will be incrementally supported while attempting to maintaining fixes for earlier releases.

Development 🛠️

See below for setting up a local workspace to work on the plugin, this section is targeted at developers.

The project structure here consists of a highly modified and optimized version of the mattermost-plugin-starter-template. To preserve simplicity, testing and development workflows have been removed, this means the plugin must be rebuilt and manually uploaded into a Mattermost instance anytime you want to test it.

The build version is based on the version.txt file that automatically gets bumped by the CI pipeline when a release is made.

  • Requirements 📋

  • Getting Started 🏁

    • Clone this repository.

    • Refer to each folder for instructions on that particular module.

  • Build 📦

    • Run the cross-platform build script to automatically create an installable plugin artifact:

      python build.py
    • The resulting tar.gz file is in the format accepted by Mattermost.

  • Tools 🧰

    • Pre-commit hooks to run project formatting and linting:

      # Needs the dependencies off all modules installed to run correctly!
      pip install lefthook
      lefthook install
      
      # When using pre-commit hooks, git commands will fail if any files are checked with errors.
      # These files must be added to the staging area and commited again after being fixed up.
  • Tips 💡

    • Fork the project and edit the web/styles/override.module.css file to add any custom styling or branding you need, in addition to the changes provided by the plugin.

About

Mattermost plugin that injects custom styling on the web UI to remove native enterprise branding and add other QOL improvements.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published