Commit Graph

26 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
Peter Steinberger 7c70571683 chore(lint): clear 172 lint:all baseline violations in five batches (#118098)
* chore(lint): clean Android-Linux app assets batch

* chore(lint): clean setup-launcher-plugin batch

* chore(lint): clean changelog-updater batch

* chore(lint): clean QA-runtime-helper batch

* chore(lint): clean script-tests batch

* fix(mxc): await sandbox spawn before bridge selection

* fix(test): make fake plutil metacharacter escaping survive the template hop
2026-08-02 14:08:09 -07:00
Vincent Koc 4896416521 fix(android): preserve generated lint suppressions (#115501) 2026-07-29 11:37:40 +08:00
Vincent Koc 6dbe278283 fix(android): allow post-merge flavor translations 2026-07-24 15:26:58 +08:00
Vincent Koc 4990ac3aa9 fix(i18n): cover Android flavor surfaces 2026-07-24 15:26:58 +08:00
Vincent Koc a11b13622a test(i18n): require localized compact token suffixes 2026-07-21 20:54:26 +08:00
Vincent Koc dc1abfb4a6 test(i18n): cover generated Wear lint attributes 2026-07-21 18:42:12 +08:00
Vincent Koc c6c1151c3a build(i18n): generate Wear locale resources 2026-07-21 17:36:49 +08:00
Peter Steinberger 262deec72c feat(mobile): session Dashboard on iOS and Android via authenticated Control UI webview (#112163)
* feat(mobile): session dashboard screens on iOS and Android via authenticated Control UI webview

* fix(android): keep configured Control UI base path in session dashboard URL

* docs(android): note system-trust boundary of the shared Control UI webview

* fix(android): origin-only document-start rule for Control UI auth script

* chore(i18n): refresh native inventory on rebased head

* fix(ios): swiftlint closure form in session dashboard toolbar

* fix(i18n): tolerate workflow-owned pending native rows in PR alignment checks

* fix(android): KTX toUri per lint and refresh native inventory

* fix(android): ktlint import order incl. main-inherited fleet test, refresh inventory
2026-07-21 01:13:23 -07:00
Peter Steinberger b57660d024 fix(apps): call chat sessions threads (#111038)
* fix(apps): call chat sessions threads

* test(apps): update thread wording expectations

* fix(i18n): guard retained Android translations
2026-07-18 20:34:12 -07:00
Vincent Koc 88d41ad5d2 fix(i18n): cover raw Android presentation strings 2026-07-12 13:26:39 +02:00
Vincent Koc b392dbbbcc build(android): regenerate runtime-owned locale resources 2026-07-12 13:26:39 +02:00
Vincent Koc fdf1250ece fix(i18n): close Android scanner blind spots 2026-07-12 13:26:39 +02:00
Vincent Koc 4bc1a0343e fix(i18n): harden Android localization scans 2026-07-12 13:26:39 +02:00
Vincent Koc 5b7f50c077 fix(i18n): parse nested Kotlin interpolation 2026-07-12 13:26:39 +02:00
Vincent Koc 1b87391658 fix(android): close locale review gaps 2026-07-12 13:26:39 +02:00
Vincent Koc 71db13d4c3 fix(android): localize command and overview models 2026-07-12 13:26:39 +02:00
Vincent Koc 5dbcfac2a4 fix(android): prefer real locale translations 2026-07-12 13:26:39 +02:00
Vincent Koc d91ae52040 test(android): scan values resource aliases 2026-07-12 13:26:39 +02:00
Vincent Koc 56ca704433 test(android): include XML resource references 2026-07-12 13:26:39 +02:00
Vincent Koc bd52ff5f5f test(android): cover settings model localization 2026-07-12 13:26:39 +02:00
Vincent Koc b5844bbba2 test(android): harden localization coverage checks 2026-07-12 13:26:39 +02:00
Vincent Koc c03d64558f feat(android): generate native localization resources 2026-07-12 13:26:39 +02:00
Vincent Koc 03d3f49c3d fix(android): preserve Swedish app name 2026-07-01 03:43:03 -07:00
Vincent Koc 844775a6de feat(android): localize every native locale 2026-07-01 03:43:03 -07:00
Vincent Koc af00b0bebf feat(android): localize gateway onboarding 2026-07-01 03:43:03 -07:00