No description
  • TypeScript 50.2%
  • Go 38.9%
  • JavaScript 6.3%
  • SCSS 3%
  • HTML 0.9%
  • Other 0.6%
Find a file
2026-02-14 22:53:40 -05:00
.github Remove auto-running release.yml 2026-02-14 22:53:40 -05:00
api [MM-61758] Burn on read feature (#34703) (#34710) 2025-12-11 12:40:21 +01:00
demo-data feat: add demo mode for local testing 2026-02-05 10:28:44 -05:00
docs Create v11.3.0-custom.21.md 2026-02-14 22:51:32 -05:00
e2e-tests test: add E2E tests for Status Log Dashboard 2026-02-04 13:19:21 -05:00
server fix: skip WebSocket status test in WSL environment 2026-02-14 20:24:04 -05:00
thoughts/shared/handoffs/general Handoff: Webapp Tests for Thread Features 2026-02-04 05:25:32 -05:00
tools feat: redesign demo data for gaming server showcase 2026-02-05 11:36:35 -05:00
webapp fix: increase Node heap size for webapp production build 2026-02-14 21:00:02 -05:00
.editorconfig Move .editorconfig to repo root (#24398) 2023-08-30 16:29:07 -04:00
.gitattributes fix: force LF line endings for shell scripts via .gitattributes 2026-02-14 22:32:41 -05:00
.gitignore Update .gitignore 2026-02-14 11:16:41 -05:00
.gitpod.yml Add .gitpod.yml to use mattermost-gitpod-config repo for Gitpod configuration (#19984) 2022-04-14 11:02:50 -04:00
.nvmrc [MM-56594] Upgrade from Node-18.10(Maintaince) to Node-20.11(LTS) (#26335) 2024-03-18 11:22:46 +00:00
build.bat fix: update release workflow and build script for Forgejo compatibility 2026-02-14 14:41:21 -05:00
CHANGELOG.md Changelog link (#8805) 2018-05-30 10:23:25 -04:00
CLAUDE.md feat: add local WSL test environment 2026-02-14 14:58:31 -05:00
client4_extension.go Finalize tests 2026-02-04 00:47:38 -05:00
CODEOWNERS MM-59271 Add DataLoader classes and batch loading missing users and statuses (#27804) 2024-08-06 15:39:10 -04:00
CONTRIBUTING.md update CONTRIBUTING.md and github ISSUE_TEMPLATE (#30862) 2025-04-29 15:42:40 +03:00
extract-all-icons.ps1 Extract-svgs script for finding icons 2026-02-02 16:10:37 -05:00
extract-svgs.ps1 Extract-svgs script for finding icons 2026-02-02 16:10:37 -05:00
LICENSE.enterprise Source available metrics (#24879) 2024-01-08 10:47:24 -04:00
LICENSE.txt Update LICENSE.txt to reflect new paths (#28241) 2024-10-01 09:47:09 -03:00
local-test.config.example Add decryption support for local-test 2026-02-09 13:38:42 -05:00
local-test.ps1 fix: local-test plugin loading - separate runtime dir from file store and handle webapp-only plugins 2026-02-09 14:51:04 -05:00
manage-tests.ps1 feat: auto-discovery test system for CI 2026-02-08 18:02:29 -05:00
NOTICE.txt chore: Update NOTICE.txt file with updated dependencies (#34675) 2025-12-08 12:54:17 +02:00
quick-test.bat Create quick-test.bat 2026-01-30 14:59:37 -05:00
README.md Update README.md 2026-02-08 16:57:07 -05:00
release.bat feat: add local release build scripts (release.bat + wsl-release.sh) 2026-02-14 22:30:18 -05:00
SECURITY.md MM-41988 Updated links to legacy domain about.mm.com (#19552) 2022-03-16 19:47:57 +08:00
test-build.bat Fix build errors: mlog generics, plugin import, GetSessions context, test-build.bat 2026-01-30 22:35:53 -05:00
TEST_PLAN_MATTERMOST_EXTENDED.md Update TEST_PLAN_MATTERMOST_EXTENDED.md 2026-02-04 15:32:44 -05:00
tests.bat feat: add local WSL test environment 2026-02-14 14:58:31 -05:00
webapp.npmrc Update local-test to rebuild webapp and s3-sync 2026-01-31 16:39:25 -05:00
wsl-release.sh feat: add local release build scripts (release.bat + wsl-release.sh) 2026-02-14 22:30:18 -05:00
wsl-setup.sh fix: WSL test scripts CRLF handling and rsync exclusion 2026-02-14 16:17:09 -05:00
wsl-test.sh Log to file for wsl-test 2026-02-14 19:55:43 -05:00

Mattermost Extended Logo

A fork of Mattermost with end-to-end encryption, custom icons, and other enhancements.

FeaturesInstallationDocumentationContributing

Base Version License Platform


Overview

This fork adds several features to Mattermost that aren't available in the upstream version. All features are behind feature flags and can be enabled independently.

Mattermost Extended Interface


Features

End-to-End Encryption

Client-side encryption using RSA-4096 + AES-256-GCM. Messages and files are encrypted in the browser before being sent to the server.

Encrypted Messages

  • Per-session key generation stored in sessionStorage
  • Messages encrypted for all active sessions of each recipient
  • File attachments encrypted with metadata hidden from server
  • Purple visual styling indicates encrypted content

Discord-Style Replies

Inline reply previews with curved connector lines, similar to Discord's reply system.

Discord-Style Replies

  • Click Reply to queue posts, then send a message to reply to all at once
  • Visual connector lines link replies to the original post
  • Graceful degradation: replies appear as clickable blockquotes when disabled
  • Click any reply preview to jump to the original message

Chat Sounds

Customizable sound effects for message and reaction events, inspired by Guilded.

Chat Sounds Settings

  • Master volume control with per-sound toggles
  • Sounds for: message sent, reactions, DMs, mentions, and more
  • Preview buttons to test each sound
  • Throttled playback to prevent audio spam

Custom Channel Icons

Channels can have custom icons instead of the default globe/lock icons.

Custom Channel Icons

  • Material Design Icons (7000+)
  • Lucide icons
  • Custom SVG via base64
  • Searchable picker in channel settings

Custom Thread Names

Threads can be renamed to something more descriptive than the first message.

Custom Thread Names


Threads in Sidebar

Followed threads appear nested under their parent channel in the sidebar.

Threads in Sidebar


Hide Deleted Message Placeholders

When enabled, deleted messages disappear immediately instead of showing "(message deleted)".


Feature Flags

Feature Environment Variable Default
End-to-End Encryption MM_FEATUREFLAGS_ENCRYPTION Off
Discord-Style Replies MM_FEATUREFLAGS_DISCORDREPLIES Off
Chat Sounds MM_FEATUREFLAGS_GUILDEDSOUNDS Off
Custom Channel Icons MM_FEATUREFLAGS_CUSTOMCHANNELICONS Off
Custom Thread Names MM_FEATUREFLAGS_CUSTOMTHREADNAMES Off
Threads in Sidebar MM_FEATUREFLAGS_THREADSINSIDEBAR Off
Hide Deleted Placeholders MM_FEATUREFLAGS_HIDEDELETEDMESSAGEPLACEHOLDER Off

Features can also be toggled in System Console > Mattermost Extended > Features:

Admin Console


Installation

Building from Source

git clone https://github.com/stalecontext/mattermost-extended.git
cd mattermost-extended

# Build server
cd server && make build-linux BUILD_ENTERPRISE=false

# Build webapp
cd ../webapp && npm ci && npm run build

Creating a Release

# Commit changes, then tag and push
./build.bat 11.3.0-custom.1 "Release description"

# GitHub Actions builds and publishes automatically

Documentation

Document Description
Features Detailed feature documentation
Architecture Technical design
Build & Deploy CI/CD and deployment
Development Local development setup
Encryption E2E encryption details

Project Structure

mattermost/
├── server/
│   ├── channels/api4/               # REST API (+ encryption.go)
│   ├── channels/store/              # Database layer
│   └── public/model/                # Data models & feature flags
│
├── webapp/
│   ├── channels/src/components/     # UI components
│   ├── channels/src/utils/encryption/  # Crypto library
│   └── platform/                    # Shared packages
│
├── docs/                            # Documentation
└── .github/workflows/               # CI/CD

Repository Description
mattermost-extended This repository
mattermost-extended-mobile Mobile app
mattermost-extended-cloudron-app Cloudron packaging

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Test with local-test.ps1
  4. Submit a pull request

License

Licensed under the same terms as Mattermost. See LICENSE.txt.


GitHubIssuesReleases