branding: mass Mattermost i18n scrub + flag-all-minus-allowlist scanner #17

Merged
mohlec merged 1 commit from branding/scrub-mattermost-strings into slash/main 2026-07-17 20:39:04 +00:00
Owner

Addresses the recurring branding slip-throughs by fixing the ROOT CAUSE: the old check-branding.sh was a 3-phrase block-list that passed anything not listed.

Scanner rewritten to flag-all-minus-allowlist -- fails on ANY Mattermost in en.json values + server templates, except an explicit AGPL/URL/legal-entity allowlist. Upstream merges now fail by default.

It immediately caught a real regression: service.go SiteName fallback had silently reverted Mattermost<-Slash in the 11.7.7 merge.

Scrubbed: 280 en.json values (end-user + admin), About dialog headline (-> SiteName, AGPL copyright/NOTICE kept), service.go fallback.

Documented follow-ups: .tsx defaultMessage source layer (i18n-extract revert risk) + mattermost.com legal URLs (need real destinations).

Branding audit passes.

Addresses the recurring branding slip-throughs by fixing the ROOT CAUSE: the old check-branding.sh was a 3-phrase block-list that passed anything not listed. **Scanner rewritten to flag-all-minus-allowlist** -- fails on ANY Mattermost in en.json values + server templates, except an explicit AGPL/URL/legal-entity allowlist. Upstream merges now fail by default. **It immediately caught a real regression**: service.go SiteName fallback had silently reverted Mattermost<-Slash in the 11.7.7 merge. **Scrubbed**: 280 en.json values (end-user + admin), About dialog headline (-> SiteName, AGPL copyright/NOTICE kept), service.go fallback. **Documented follow-ups**: .tsx defaultMessage source layer (i18n-extract revert risk) + mattermost.com legal URLs (need real destinations). Branding audit passes.
branding: mass Mattermost i18n scrub + flag-all-minus-allowlist scanner
All checks were successful
Build Slash Webapp / branding-audit (pull_request) Successful in 51s
Build Slash Webapp / build-webapp (pull_request) Has been skipped
d31037d025
The old check-branding.sh matched 3 fixed phrases in 3 folders -- a
block-list that silently passed anything not listed. Every branding
slip-through this session (trial modal, TEAM EDITION badge, 'unsupported
edition of Mattermost', compass) was invisible to it.

Scanner rewritten to FLAG-ALL-MINUS-ALLOWLIST: fails on ANY 'Mattermost'
in en.json values and server email/HTML templates, except an explicit
allowlist (AGPL attribution about.copyright/about.notice, mattermost.com
URLs, the 'Mattermost, Inc.' legal entity, Go comments, and one
functional license-SKU-parsing string). Upstream-merge-introduced
strings now fail by default instead of passing.

The new scanner immediately caught a real regression: service.go's
getConfigSiteName() fallback had reverted from 'Slash Chat' to
'Mattermost' in the 11.7.7 upstream merge -- re-fixed here.

Scrubbed:
- 280 en.json values: bare 'Mattermost' -> 'Slash' (URLs + legal entity
  preserved). End-user AND admin-console strings (owner's call).
- About dialog headline -> SiteName (was 'Mattermost Team Edition');
  copyright + NOTICE retained per AGPL-3.
- service.go SiteName fallback -> 'Slash Chat'; stale comments fixed.

Follow-ups documented in BRANDING_CHANGES.md: .tsx defaultMessage source
layer (latent i18n-extract revert risk) and the mattermost.com legal
URLs (need real Slash/NCW destinations).
mohlec merged commit f5039b55f4 into slash/main 2026-07-17 20:39:04 +00:00
mohlec deleted branch branding/scrub-mattermost-strings 2026-07-17 20:39:05 +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-server!17
No description provided.