Remove Mattermost enterprise license gate (full unlock) — deployed to CT#137 #1

Merged
mohlec merged 1 commit from slash/full-unlock-2.2.0 into ncw/main 2026-08-09 20:04:35 +00:00
Owner

Puts the code currently running in production onto the NCW mainline.

What it does. Makes the plugin license checks always report as licensed, unlocking everything upstream gates behind a paid Mattermost licence: multiple bots, multiple AI services, self-service agents, embedding/RAG. Two files — every backend gate funnels through IsBasicsLicensed/IsMultiLLMLicensed, and every frontend gate through checkEnterprise/ProfessionalLicensed. Verified no bypassing SkuShortName/GetLicense checks exist elsewhere.

Why v2.2.0 and not latest. Slash server is 11.7.9 on the 11.7 ESR line. v2.3.0 requires server 11.8.0 and v2.4.0+ requires 11.9.0, so v2.2.0 (min_server_version 6.2.1) is the newest compatible release. The same patch on v2.5.1 is parked on slash/full-unlock with release slash-v2.5.1-unlock, ready for whenever the server leaves ESR.

Deployed as 2.2.0+c9f7258a on CT#137 via mmctl --local plugin add --force (hot swap, no restart). Bundle is repacked linux-amd64 only, because the full 5-arch build is ~115 MB and the server caps plugin uploads at 100 MB.

Status: agent @link is live and answering; web search via the Skynet MCP relay is working. Image tools still return a broken link — that needs a separate ImageContent patch to mcp/client.go.

Puts the code currently running in production onto the NCW mainline. **What it does.** Makes the plugin license checks always report as licensed, unlocking everything upstream gates behind a paid Mattermost licence: multiple bots, multiple AI services, self-service agents, embedding/RAG. Two files — every backend gate funnels through `IsBasicsLicensed`/`IsMultiLLMLicensed`, and every frontend gate through `checkEnterprise/ProfessionalLicensed`. Verified no bypassing `SkuShortName`/`GetLicense` checks exist elsewhere. **Why v2.2.0 and not latest.** Slash server is 11.7.9 on the 11.7 ESR line. v2.3.0 requires server 11.8.0 and v2.4.0+ requires 11.9.0, so v2.2.0 (min_server_version 6.2.1) is the newest compatible release. The same patch on v2.5.1 is parked on `slash/full-unlock` with release `slash-v2.5.1-unlock`, ready for whenever the server leaves ESR. **Deployed** as `2.2.0+c9f7258a` on CT#137 via `mmctl --local plugin add --force` (hot swap, no restart). Bundle is repacked linux-amd64 only, because the full 5-arch build is ~115 MB and the server caps plugin uploads at 100 MB. **Status:** agent `@link` is live and answering; web search via the Skynet MCP relay is working. Image tools still return a broken link — that needs a separate `ImageContent` patch to `mcp/client.go`.
Slash: remove Mattermost enterprise license gate (full unlock)
Some checks failed
ci / e2e-build-artifact (pull_request) Has been cancelled
ci / plugin-tests (pull_request) Has been cancelled
ci / evals-bedrock (pull_request) Has been cancelled
ci / evals-anthropic (pull_request) Has been cancelled
ci / evals-azure (pull_request) Has been cancelled
ci / evals-mistral (pull_request) Has been cancelled
ci / evals-openai (pull_request) Has been cancelled
ci / lint (pull_request) Has been cancelled
ci / Verify webapp i18n + package-lock are in sync (pull_request) Has been cancelled
ci / build (pull_request) Has been cancelled
ci / e2e-shard-1 (pull_request) Has been cancelled
ci / e2e-shard-2 (pull_request) Has been cancelled
ci / e2e-shard-3 (pull_request) Has been cancelled
ci / e2e-shard-4 (pull_request) Has been cancelled
ci / e2e-llmbot-real-apis-citations (pull_request) Has been cancelled
ci / e2e-llmbot-real-apis-edge-cases (pull_request) Has been cancelled
ci / e2e-llmbot-real-apis-reasoning (pull_request) Has been cancelled
ci / e2e-channel-analysis-real-apis (pull_request) Has been cancelled
ci / e2e-system-console-real-apis (pull_request) Has been cancelled
ci / e2e-tool-config-real-apis (pull_request) Has been cancelled
ci / e2e-tool-calling-anthropic (pull_request) Has been cancelled
ci / e2e-tool-calling-openai (pull_request) Has been cancelled
ci / evals-comment (pull_request) Has been cancelled
ci / upload-s3-pr (pull_request) Has been cancelled
ci / deploy (pull_request) Has been cancelled
c9f7258adb
Make the plugin's license checks always report as licensed so all
upstream-gated Agents features work without a paid Mattermost license:
multiple bots, multiple AI services, self-service agents, embedding/RAG.

- enterprise/license.go: isAtLeastE20/E10Licensed always return true.
- webapp/src/license.tsx: checkEnterprise/ProfessionalLicensed return true.

Based on v2.2.0, the newest upstream release compatible with Slash server
11.7.9 (min_server_version 6.2.1). v2.3.0+ requires server 11.8.0/11.9.0,
which would mean leaving the 11.7 ESR line. The same patch on v2.5.1 is
kept on branch slash/full-unlock for when the server moves off ESR.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mohlec merged commit 5629d4db57 into ncw/main 2026-08-09 20:04:35 +00:00
mohlec deleted branch slash/full-unlock-2.2.0 2026-08-09 20:04:36 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
slash/slash-agents-plugin!1
No description provided.