Jitsi video integration plugin
  • Go 51.6%
  • TypeScript 39.2%
  • Makefile 7.4%
  • JavaScript 1.5%
  • Dockerfile 0.2%
  • Other 0.1%
Find a file
mohlec 69da38198e docs: upstream sync workflow and current deployment status
- UPSTREAM_SYNC.md: step-by-step rebase procedure, full table of NCW
  invariants to verify after every sync, known conflict surface areas,
  post-rebase build/smoke-test steps
- README.md: updated to reflect deployed state, current command (/meet),
  NCW customization table linking to UPSTREAM_SYNC.md for rationale
2026-06-18 17:42:24 +00:00
.github Enabling dependabot (#248) 2024-05-24 13:59:18 +03:00
assets Added russian translation (#145) 2020-08-05 23:47:57 +02:00
build [MM-216] Sync the plugin with starter template (#239) 2024-02-15 00:06:57 -05:00
public MM-40214: Add App Bar icon (#214) 2022-06-16 16:30:54 +02:00
server feat: rename /jitsi to /meet, 'Start Meeting' label, fix button color 2026-06-17 21:11:58 +00:00
webapp Fix button color: use #root prefix for higher CSS specificity 2026-06-17 21:28:41 +00:00
.editorconfig Copying some files from the starter-template repository (#44) 2020-05-27 14:48:37 +02:00
.gitattributes [MM-216] Sync the plugin with starter template (#239) 2024-02-15 00:06:57 -05:00
.gitignore [MM-216] Sync the plugin with starter template (#239) 2024-02-15 00:06:57 -05:00
.gitpod.yml Create .gitpod.yml (#212) 2022-05-20 12:04:43 -05:00
.golangci.yml [GH-170] Allow to overwrite pre join page inside Mattermost (#217) 2024-03-04 19:59:26 +05:30
.nvmrc [MM-62] Update plugin with respect to phase 1 upgrades (#237) 2024-01-16 18:01:47 -05:00
CONTRIBUTING.md Add CONTRIBUTE.md (#139) 2021-01-13 22:53:26 +02:00
docker-make [MM-62] Update plugin with respect to phase 1 upgrades (#237) 2024-01-16 18:01:47 -05:00
Dockerfile needs golang 1.21 (#257) 2024-12-03 09:26:39 +01:00
go.mod Bump github.com/mattermost/mattermost/server/public (#269) 2025-06-06 13:54:15 +02:00
go.sum Bump github.com/mattermost/mattermost/server/public (#269) 2025-06-06 13:54:15 +02:00
LICENSE Initial commit 2017-12-01 09:10:00 -08:00
Makefile Bump github.com/mattermost/mattermost/server/public from 0.1.9 to 0.1.11 (#266) 2025-05-27 13:39:25 +02:00
plugin.json fix: add missing version field to plugin.json 2026-06-05 18:21:02 +00:00
README.md docs: upstream sync workflow and current deployment status 2026-06-18 17:42:24 +00:00
UPSTREAM_SYNC.md docs: upstream sync workflow and current deployment status 2026-06-18 17:42:24 +00:00

slash-jitsi-plugin

Jitsi Meet video conferencing integration for Slash Chat (NCW fork of mattermost-plugin-jitsi).

Branch: Work on ncw/main only — master is the upstream mirror, never commit there.

Status

Item Status
meet.ncwcom.com (CT#142) Running
Plugin deployed to CT#137 Live — /meet command working
Desktop button color fix White text on NCW purple
Mobile Jitsi Implemented in slash-mobile (native component)

Features

  • /meet slash command — posts a meeting card in the channel with a JOIN MEETING button
  • App bar icon — one-click meeting start from channel header
  • Self-hosted Jitsi at meet.ncwcom.com
  • Channel-based room naming (team+channel slug)

NCW Customizations vs upstream

File Change Why
plugin.json id = com.ncwcom.slash-jitsi; default URL = https://meet.ncwcom.com Plugin identity + self-hosted server
server/command.go /jitsi/meet Brand-neutral command name
webapp/src/index.tsx registerPlugin(manifest.id), MM 10+ API guard, CSS injection for button color MM 11.7 compat; NCW theme color collision fix
webapp/src/components/post_type_jitsi/post_type_jitsi.tsx Inline button styles, className='slash-jitsi-btn', hardcoded color: '#FFFFFF' MM global <a> color override makes button text invisible without this
webapp/package.json NODE_OPTIONS=--openssl-legacy-provider in build scripts webpack 4 + Node 24 (OpenSSL 3) incompatibility

See UPSTREAM_SYNC.md for the full rationale and rebase procedure.

Building

git checkout ncw/main
# On CT#139 (git.ncwcom.com) — Node 24 + Go 1.24 installed:
NODE_OPTIONS=--openssl-legacy-provider make dist
# Output: dist/com.ncwcom.slash-jitsi-2.1.0.tar.gz (~66 MB)

Deploying to CT#137

See RUNBOOK.md in slash-deploy for the full procedure. Quick reference:

# On CT#137 — download from Forgejo release v2.1.1:
TOKEN="<forgejo-token>"
curl -f -L -H "Authorization: token $TOKEN" \
  -o /tmp/com.ncwcom.slash-jitsi-2.1.0.tar.gz \
  "http://172.16.0.101:3000/slash/slash-jitsi-plugin/releases/download/v2.1.1/com.ncwcom.slash-jitsi-2.1.0.tar.gz"
/opt/mattermost/bin/mmctl plugin delete com.ncwcom.slash-jitsi --local
/opt/mattermost/bin/mmctl plugin add /tmp/com.ncwcom.slash-jitsi-2.1.0.tar.gz --local
/opt/mattermost/bin/mmctl plugin enable com.ncwcom.slash-jitsi --local

Note: Only port 3000 (Forgejo HTTP) is open between CT#137 and CT#139. SCP/SSH fails.

Configuration (in Mattermost System Console)

Setting Value
Jitsi Server URL https://meet.ncwcom.com (default)
Meeting Names mattermost — channel-based (default)
Use JWT false
Use Jitsi Link false

Upstream sync

See UPSTREAM_SYNC.md for the complete step-by-step procedure, invariant checks, and known conflict surface areas.

Quick reference:

# 1. Update mirror
git checkout master
git pull https://github.com/mattermost/mattermost-plugin-jitsi.git master
git push origin master

# 2. Rebase NCW changes
git checkout ncw/main
git rebase master

# 3. Verify invariants (see UPSTREAM_SYNC.md §4)
# 4. Rebuild and test
NODE_OPTIONS=--openssl-legacy-provider make dist