Commit Graph

6113 Commits

Author SHA1 Message Date
Vincent Koc
dddf42c606 fix(i18n): mark imported Apple translations complete 2026-07-12 18:33:47 +02:00
Vincent Koc
689cf0ba3a fix(i18n): require complete translation reuse 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
35a336f9db fix(i18n): widen Apple coverage key set 2026-07-12 18:33:47 +02:00
Vincent Koc
578650cf7c fix(i18n): retain honest Apple fallback state 2026-07-12 18:33:47 +02:00
Vincent Koc
2f11a5793c test(i18n): guard semantic Apple status paths 2026-07-12 18:33:47 +02:00
Vincent Koc
d2f5008939 test(i18n): distinguish inflected Apple resources 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
a8ae1bff7f fix(ios): preserve localized status semantics 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
Vincent Koc
ef29fe1270 refactor(scripts): remove telegram runner testing alias (#105502) 2026-07-12 17:50:24 +02:00
Vincent Koc
968604849c refactor(scripts): remove benchmark testing aliases (#105497) 2026-07-12 17:34:12 +02:00
Vincent Koc
d9778b38b3 fix(release): satisfy ClawHub error lint 2026-07-12 16:03:46 +02:00
Vincent Koc
2c98b21584 fix(clawhub): retry transient package reads (#105388) 2026-07-12 15:25:55 +02:00
Vincent Koc
796fc409f6 fix(e2e): echo dynamic mobile markers 2026-07-12 15:22:19 +02:00
Peter Steinberger
ef3a0cf1fc fix(test): bound agents-core full-suite processes (#105382) 2026-07-12 14:11:08 +01:00
Vincent Koc
720774aa67 fix(sqlite): preserve complete database file sets during recovery (#105370)
* fix(sqlite): harden agent database recovery

* chore(sqlite): allow recovery maintenance primitive
2026-07-12 15:10:11 +02:00
Peter Steinberger
9d042e252c fix(release): keep source-ref packaging self-contained (#105360)
* fix(release): make ref packaging harness self-contained

* docs(agents): preserve cwd after PR merge

* test(release): track package harness temp dirs

* style(test): format package harness imports
2026-07-12 13:45:24 +01:00
Peter Steinberger
6ec82a907a fix(ci): support frozen session-store proof (#105337)
* fix(ci): support frozen session-store proof

Keep current targets SQLite-strict while validating pre-cutover release targets through their persisted JSON session contract.

* style(test): format frozen session fixture
2026-07-12 12:46:01 +01:00
Vincent Koc
5e453f3c72 fix(ci): restore repo e2e and beta plugin compatibility (#105287) 2026-07-12 13:43:25 +02: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
0454ba70d1 build(i18n): reconcile retained Android catalogs 2026-07-12 13:26:39 +02:00
Vincent Koc
2588b834c3 fix(i18n): classify Android structural strings 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
ca5827a2a5 test(i18n): enforce typed Android presentation 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
66b27f0ce3 fix(i18n): require the Android base catalog 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
ad98a6e5ca style(i18n): satisfy checker control-flow lint 2026-07-12 13:26:39 +02:00
Vincent Koc
6dffe0dc28 fix(i18n): type contradiction diagnostics 2026-07-12 13:26:39 +02:00
Vincent Koc
78e2a64808 style(i18n): format Android localization checker 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
37c4b740b2 fix(i18n): exclude generated Android resources 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
Peter Steinberger
5f856a26ba fix(release): package unreleased ref candidates (#105291)
* fix(release): package unreleased ref candidates

* docs(agents): preserve PR artifact enums
2026-07-12 11:45:03 +01:00
Peter Steinberger
a824078101 fix(channels): tombstone corrupt ingress rows (#105259)
* fix(infra): guard channel ingress queue parseJson against corrupted JSON

* fix(infra): fix type assertion in ingress queue test

* fix(infra): use tagged parse result and validate payload before claiming

* fix(infra): remove unnecessary non-null assertion in ingress queue test

* fix(infra): scan corrupt ingress rows in claimNext

* test(gateway): avoid typed empty mock call tuple access

* fix(infra): tombstone corrupt ingress rows on duplicate enqueue and stale recovery

Two P1 gaps: enqueue() threw on duplicate when the existing row had corrupt
payload_json, and recoverStaleClaims() silently skipped corrupt claimed rows,
leaving them invisible to recovery. Both paths now tombstone the unrecoverable
row as failed with reason "corrupt_payload" and return a proper result.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(infra): resolve lint shadow and await-thenable in recoverStaleClaims

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(channels): tombstone corrupt ingress rows

* test(channels): use explicit placeholder claim tokens

* refactor(channels): name claim token values

* refactor(channels): keep claim projection direct

* fix(channels): preserve active ingress claims

* fix(channels): make corrupt recovery policy-aware

* refactor(channels): name corrupt claim token

* fix(channels): bound corrupt ingress reconciliation

* fix(channels): paginate pending ingress by key

* refactor(telegram): return live owner check directly

* build(plugin-sdk): refresh public export budget

---------

Co-authored-by: Pick-cat <huang.ting3@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-12 11:09:52 +01:00
Vincent Koc
4c077df1b1 fix(sqlite): repair canonical unique index drift (#105260)
* fix(sqlite): repair canonical unique index drift

* chore(sqlite): allow schema repair DDL
2026-07-12 18:08:16 +08:00