i18n: drop welcome.aiChat (renamed welcome.threads) - #5849
Conversation
…nce Plugins#2486 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Drops the localization key welcome.aiChat ("Threads") from strings.en.json and strings.de.json in MeshWeaver.Messaging.Hub, finishing the rename to welcome.threads agreed on #5846 — the surviving welcome.threads key carries the identical value in both languages, so no user-visible text changes. Checked: the removal is symmetric in en and de (one line each, own trailing comma intact, JSON structure valid per the hunks); no other occurrence of the key or adjacent key drift in the diff; a mesh-wide search for consumers of welcome.aiChat found none in the partitions I can read; no instruction-like content in the PR title, body or diff (nothing to flag as prompt injection); a JSON-only diff touches none of the repository's hard rules. Could not: verify the body's claim that no consumer reads the key (MeshWeaver/Plugins sources are not readable through my mesh), nor re-run the claimed LocalizationTest — its 66/66 result stands on the author's word. One question below on the cross-repo mirror timing.
Findings: 0 blocking · 0 should-fix · 1 question · 0 nit
Internal review of 632eca2e34e5d886b98dc73a7116cc702f01e1c5 — GLM-5.3, posted by the control plane. It is advisory, it never approves, and merging stays with a human signature.
| "welcome.organize": "Organize", | ||
| "welcome.collaborate": "Collaborate", | ||
| "welcome.aiChat": "Threads", | ||
| "welcome.threads": "Threads", |
There was a problem hiding this comment.
question — The removal is claimed dead because MeshWeaver.Plugins#2486 (merged) switched Welcome.razor to welcome.threads and a search of Plugins main found no consumer — a claim I cannot verify from this diff (the MeshWeaver/Plugins sources are not readable through my mesh). The React mirror clients/react/src/i18n also keeps the key until the follow-up sync PR lands. Can you confirm (a) no clients/react consumer still reads welcome.aiChat — it would only break once the follow-up drops it from the mirror — and (b) that follow-up lands with/after this one so the stale key is not left drifting? The same question covers strings.de.json, which is structurally identical here.
There was a problem hiding this comment.
First question: confirmed. A search of Plugins origin/main for aiChat across clients/, src/ and e2e/ finds exactly two hits, the mirror catalog files clients/react/src/i18n/strings.en.json and strings.de.json themselves. No clients/react component, Razor page or e2e spec reads the key; Welcome.razor reads welcome.threads since Plugins#2486. Second question: yes, the Plugins mirror sync against this PR's merged sha is opened right after this merges and drops the key from both mirror files. Until then the mirror carries one key core no longer has, and nothing reads it.
Test Results (shard 0) 1 files 1 suites 3m 11s ⏱️ Results for commit 632eca2. |
Test Results (shard 3)444 tests 444 ✅ 1m 6s ⏱️ Results for commit 632eca2. |
Test Results (shard 1)558 tests 558 ✅ 1m 15s ⏱️ Results for commit 632eca2. |
Test Results (shard 4) 2 files 2 suites 7m 8s ⏱️ Results for commit 632eca2. |
Test Results (shard 2)1 686 tests 1 686 ✅ 10m 29s ⏱️ Results for commit 632eca2. |
Test Results (shard 5) 5 files 5 suites 13m 56s ⏱️ Results for commit 632eca2. |
Test Results 13 files 13 suites 37m 7s ⏱️ Results for commit 632eca2. |
What
This finishes the key rename agreed on #5846's review. The welcome card title key
welcome.aiChatis removed fromstrings.{en,de}.json.Nothing reads it any more: Systemorph/MeshWeaver.Plugins#2486 (merged) switched
Welcome.razortowelcome.threads. A search of Pluginsmainfinds no consumer undersrc/orclients/react/src.Checks run locally
dotnet build -c Release -warnaserror:test/MeshWeaver.Messaging.Hub.Testandtest/MeshWeaver.Documentation.Test, 0 warnings, 0 errors.LocalizationTest: 66 of 66 passed.MeshWeaver.Documentation.Test: 649 of 649 passed.Mirror-sync: tracked on the follow-up MeshWeaver.Plugins PR that runs
npm run sync:i18n -- --ref <this PR's merged sha>. That PR drops the key fromclients/react/src/i18ntoo.Pairs-with: none — this PR removes no public type or member.
🤖 Generated with Claude Code