Commit Graph

29 Commits

Author SHA1 Message Date
Peter Steinberger edf1777ddb refactor(i18n): re-key native i18n artifacts to content-hash identity (v2) (#123347)
* refactor(i18n): re-key native i18n artifacts to content-hash identity (v2)

The native inventory stored a write-only 'line' field per entry, so any
unrelated edit above a string rewrote apps/.i18n/native-source.json
(~half of all commits touching it were pure line-number churn). Identity
was (surface, path, source), duplicating the same string per file
(5385 entries for 4187 unique pairs) and churning IDs on file moves.
Locale artifacts were positional arrays repeating full English source
text, so one inserted string rewrote diff spans in all 21 files.

v2 artifacts: inventory entries keyed by (surface, source) with merged
per-site {path, kind} lists and pure sha256 content-hash IDs; locale
files become id-keyed sorted translation maps. Existing translations
carry over by source match with a deterministic duplicate pick; the
sticky-ID reuse machinery and positional validation are deleted.
Everything under apps/.i18n plus generated platform locale artifacts is
marked linguist-generated. ci-changed-scope gains a one-time
owner-complete migration escape mirroring the control-ui precedent.

CLI surface (baseline/check/sync/verify) and the locale-refresh
workflow are unchanged.

* ci: register run-attempt-state test in its Vitest lane

Commit e04dfd26e2 added extensions/codex/src/app-server/run-attempt-state.test.ts
without a lane owner, so the full-suite ownership audit
(test/vitest-projects-config.test.ts) fails on main. Register it in the
attempt-light shard alongside its run-attempt siblings.
2026-08-13 19:39:32 -07:00
Vincent Koc 54345505d1 test(i18n): prove iOS discovery catalog ownership 2026-07-28 23:48:57 +08:00
Vincent Koc 6726404c18 fix(i18n): include shared discovery copy in macOS catalog 2026-07-28 23:48:57 +08:00
Vincent Koc 9b63702543 fix(macos): localize privacy permission prompts 2026-07-28 23:48:01 +08:00
Peter Steinberger 9a624cd78f fix(ios): localize Agent Pro detail labels (#112980)
* fix(ios): preserve localized Agent Pro detail labels

* fix(ios): localize Dreaming metric labels

* test(ios): refresh native localization inventory

* test(setup): align isolated detection fallback

* test(system-agent): allow slow shared TUI setup

* test(chat): allow loaded outbox retry drain

---------

Co-authored-by: Alix-007 <li.long15@xydigit.com>
2026-07-23 09:01:07 -07:00
joshavant 690ed56441 fix(ios): preserve localized app display names 2026-07-22 22:56:22 -05:00
Vincent Koc fd31e53bd9 test(i18n): cover shared macOS chat strings 2026-07-21 20:14:39 +08:00
Vincent Koc d4021c351c fix(macos): localize settings surfaces (#112185) 2026-07-21 16:15:40 +08:00
Peter Steinberger bdf71d7d98 refactor(apple): unify offline client databases (#111598)
* refactor(apple): unify offline client databases

* refactor(apple): remove dead cache APIs

* fix(apple): satisfy native storage gates

* fix(apple): sync generated localization catalog

* Revert "fix(apple): sync generated localization catalog"

This reverts commit d0f5e7b74932e98ccc5f1984840e8f9d545edc2d.

* fix(i18n): keep source validation pre-merge

* test(macos): isolate flaky suite state

* test(macos): isolate log locator on main actor
2026-07-19 22:14:12 -07:00
joshavant cac32bb5d1 fix(ios): declare Health update purpose 2026-07-13 19:12:21 -05:00
Vincent Koc 9bc3a7bfe4 fix(i18n): bind plist translations to stable IDs 2026-07-12 18:33:47 +02:00
Vincent Koc f7739ad676 fix(i18n): scope inflected count placeholders 2026-07-12 18:33:47 +02:00
Vincent Koc a49e6a32e9 fix(watch): make localized text extraction explicit 2026-07-12 18:33:47 +02:00
Vincent Koc dddf42c606 fix(i18n): mark imported Apple translations complete 2026-07-12 18:33:47 +02:00
Vincent Koc 971789b25a fix(i18n): cover interpolated Swift runtime forms 2026-07-12 18:33:47 +02:00
Vincent Koc 53eff8785e fix(i18n): constrain translation reuse 2026-07-12 18:33:47 +02:00
Vincent Koc 7592d33e77 fix(i18n): guard translation reuse 2026-07-12 18:33:47 +02:00
Vincent Koc 8670514a5b fix(i18n): refresh current InfoPlist translations 2026-07-12 18:33:47 +02:00
Vincent Koc 84bb9bbb74 test(i18n): allow source-equal locale copy 2026-07-12 18:33:47 +02:00
Vincent Koc b2516ef9a1 build(i18n): harden Apple localization generation 2026-07-12 18:33:47 +02:00
Vincent Koc 0b3e98a76e fix(ios): preserve string catalog version 2026-07-12 18:33:47 +02:00
Vincent Koc cc85d8256f fix(ios): use plural-aware localized counts 2026-07-12 18:33:47 +02:00
Vincent Koc 1591aa4c32 build(ios): support inflected localized counts 2026-07-12 18:33:47 +02:00
Vincent Koc 7074d5cd0c build(ios): enforce runtime localization coverage 2026-07-12 18:33:47 +02:00
Tyler Nishida 2db5bd3394 feat(ios): refresh onboarding setup flow (#98868) 2026-07-05 21:38:54 -04:00
Vincent Koc d3e6d1fd6c fix(macos): compile packaged localizations 2026-07-01 05:19:12 -07:00
Vincent Koc a53b6823c6 test(apple): enforce phased catalog coverage 2026-07-01 05:19:12 -07:00
Vincent Koc 9cfbd1b65c feat(apple): localize native app surfaces 2026-07-01 05:19:12 -07:00
Vincent Koc 02046b665f feat(apple): add Russian and Hindi app catalogs 2026-07-01 05:19:12 -07:00