branding: scrub .tsx defaultMessage source layer + scanner guards it #18

Merged
mohlec merged 1 commit from branding/scrub-tsx-defaultmessages into slash/main 2026-07-30 17:03:35 +00:00
Owner

Answers "how do I fix the .tsx defaultMessage i18n-extract revert risk": scrub the source layer so extract can only ever regenerate a clean en.json, and extend the scanner to keep it clean.

  • ~298 defaultMessage strings (all 5 forms) + SiteName fallbacks scrubbed Mattermost->Slash (URLs + legal entity preserved).
  • check-branding.sh now also fails on Mattermost in .tsx defaultMessage lines. It immediately caught 2 multi-line stragglers my transform missed -- fixed.

114 files, +317/-298. CI webpack build is the syntax validator.

Out of scope (documented): ~15 hardcoded JSX strings in dead enterprise/cloud license panels (not i18n), ~40 code identifiers (MattermostFeatures enum etc, not trademark-visible).

Answers "how do I fix the .tsx defaultMessage i18n-extract revert risk": scrub the source layer so extract can only ever regenerate a clean en.json, and extend the scanner to keep it clean. - ~298 defaultMessage strings (all 5 forms) + SiteName fallbacks scrubbed Mattermost->Slash (URLs + legal entity preserved). - check-branding.sh now also fails on Mattermost in .tsx defaultMessage lines. It immediately caught 2 multi-line stragglers my transform missed -- fixed. 114 files, +317/-298. CI webpack build is the syntax validator. Out of scope (documented): ~15 hardcoded JSX strings in dead enterprise/cloud license panels (not i18n), ~40 code identifiers (MattermostFeatures enum etc, not trademark-visible).
branding: scrub .tsx defaultMessage source layer + scanner guards it
All checks were successful
Build Slash Webapp / branding-audit (pull_request) Successful in 55s
Build Slash Webapp / build-webapp (pull_request) Has been skipped
8d1937e1e5
Closes the i18n-extract revert risk. ~298 defaultMessage fallback
strings (all 5 syntactic forms) + '|| Mattermost' SiteName fallbacks
scrubbed Mattermost->Slash, same URL/legal-entity exclusions as en.json.
With the source layer clean, i18n-extract can only regenerate a clean
en.json.

check-branding.sh extended to fail on Mattermost in any .tsx/.ts
defaultMessage (minus URL/Inc/functional allowlist). The extension
immediately caught two multi-line-value stragglers the bulk transform
missed (admin_definition.tsx), now fixed -- scanner working as designed.

Out of scope (documented in BRANDING_CHANGES.md): ~15 hardcoded JSX
strings in dead enterprise/cloud license panels (not i18n), and ~40
code identifiers (MattermostFeatures enum, classNames) that aren't
trademark-visible.
mohlec merged commit c86d9fa7d6 into slash/main 2026-07-30 17:03:35 +00:00
mohlec deleted branch branding/scrub-tsx-defaultmessages 2026-07-30 17:03: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-server!18
No description provided.