- Ya
- 9 Agosti 2026, 21:11 UTC
- Mwandishi
- kamo
- Ahadi ya
- d2f55a7
TipPanel took the panel's DOM id in a prop called `id` and then built its message keys from that same `id`, so every panel asked for **************** and next-intl's fallback printed the path. The copy was in messages all along; nothing ever looked it up. The DOM id and the copy id are now separate props with names that cannot be confused for one another. check-i18n-keys could not catch this: for a template key it verifies only that the static prefix is a group, so a garbage dynamic segment passes. The table the bar renders from moves to its own module and a test walks it, resolving every key each entry will ask for with a translator that throws on a miss. It fails on this exact id, so a renamed entry, a new entry without copy, or another wrong variable stops here instead of on somebody's launchpad.