You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(platform-objects): restore the declared title on the System Overview by-action table and pin the default-locale bundle to the source (#8767)
* fix(platform-objects): restore the declared title on the System Overview by-action table and pin the default-locale bundle to the source (#8721)
`widget_recent_events` became an ADR-0021 dataset-bound breakdown of audit
events by action, but all four hand-authored locale bundles kept the
pre-conversion title (`Recent Audit Events` and its three translations). The
translation is what renders, so the declared string reached nobody in any
locale; the widget's `description` had drifted the same way.
Restoring the source string exposed the duplicate it was masking: the Row 3 pie
(`widget_events_by_type`) and this table both declared `Audit Events by Action`
over the same dataset and dimension. The pie keeps the broad name (the share
picture); the table becomes `Event Volume by Action` — the exact per-action
count its `values: ['event_count']` produces, which is what its description
already said. Widget ids are untouched, so no translation key or persisted
widget state moves.
- correct `widget_recent_events` title + description in en / zh-CN / ja-JP /
es-ES (leaf values only — this half is hand-authored and regenerating it
would delete the runtime-contributed nav translations)
- add the default-locale content-parity assertion to
`app-nav-translation-parity.test.ts`: every declared app label/description,
statically declared nav label, dashboard label/description and widget
title/description must appear in `en.ts` verbatim. Every pre-existing claim
in that file is a key-set claim, which a stale value satisfies.
- stale-marking for TRANSLATED locales when a source string changes is
deliberately not designed here — it needs a product decision on what a stale
translation should do.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XeQRiAa7vYRVX5Fog7Zby8
* test(platform-objects): point the two deliberate parity gaps at their tracking issues (#8721)
The default-locale content check documents two gaps it does not close: the
`pages.*` section (sources live in @objectstack/cloud-connection and
@objectstack/mcp, which this package must not import) and the translated
locales (what a stale translation should do is a product decision). Both were
argued in the comments and tracked nowhere.
- `pages.*` gap -> #8764, with the note that it is unguarded in EVERY locale
including `en`, and that `check:app-nav-i18n` is the gate that can see it
- translated-locale gap -> #8765, with the consequence pinning `en` has on it:
the drift stops being uniform across four bundles and becomes locale-specific
Comment-only; no assertion changes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XeQRiAa7vYRVX5Fog7Zby8
---------
Co-authored-by: Claude <noreply@anthropic.com>
fix(platform-objects): the System Overview by-action table serves its declared title again, and the default locale bundle is now pinned to the source string (#8721)
6
+
7
+
`widget_recent_events` was converted into an ADR-0021 single-form — a
8
+
dataset-bound breakdown of `sys_audit_log` events by action — but all four
9
+
hand-authored locale bundles kept serving the title the widget had *before* the
widget_config_changes: {title: 'Cambios de Configuración',description: 'Modificaciones de configuración del sistema'},
152
152
widget_events_by_type: {title: 'Eventos de Auditoría por Acción',description: 'Distribución de eventos de auditoría por tipo de acción'},
153
153
widget_events_by_user: {title: 'Eventos por Usuario',description: 'Distribución de actividad entre usuarios'},
154
-
widget_recent_events: {title: 'Eventos de Auditoría Recientes',description: 'Últimos eventos de la plataforma (inicio de sesión, cierre de sesión, configuración, …)'},
154
+
widget_recent_events: {title: 'Volumen de Eventos por Acción',description: 'Volumen de eventos agrupado por acción (inicio de sesión, cierre de sesión, configuración, …)'},
0 commit comments