Commit Graph

38 Commits

Author SHA1 Message Date
WhatsSkiLL
47f8c1d6b0 Android: add adaptive app navigation sidebar (#113908)
* feat(android): add adaptive navigation sidebar

* fix(android): satisfy native i18n checks

* fix(android): use adaptive Material navigation

* fix(android): preserve adaptive navigation state

* chore(i18n): refresh native source baseline

* fix(android): keep compact navigation labels on one line

* chore(android): refresh native i18n source lines

* fix(android): preserve sidebar gateway status

* fix(android): satisfy status label checks

---------

Co-authored-by: Colin <colin@solvely.net>
2026-07-30 17:27:45 -04:00
Vincent Koc
4896416521 fix(android): preserve generated lint suppressions (#115501) 2026-07-29 11:37:40 +08:00
Vincent Koc
4990ac3aa9 fix(i18n): cover Android flavor surfaces 2026-07-24 15:26:58 +08:00
Vincent Koc
1908ea1df4 fix(i18n): suppress lint on generated Wear translations 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
e0b1a39d2a improve(i18n): generate native locales after merge (#111557)
* ci(i18n): move native locale generation post-merge

* fix(i18n): allow generated Android companions
2026-07-19 15:42:41 -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
Peter Steinberger
e5ac755681 fix(i18n): regenerate derived app catalogs inside native:i18n:sync (#110454)
Rewriting apps/.i18n/native-source.json without regenerating the derived
Android/Apple artifacts lands a stale iOS catalog and turns the repo-wide
apple/android i18n checks red for every PR (this is how main broke after
recent app-string additions: the inventory and translations were
committed while Localizable.xcstrings was not regenerated).

native-app-i18n.ts sync --write now chains syncAndroidAppI18n and a new
exported syncAppleAppI18n (catalog + InfoPlist strings) so one command
leaves the whole i18n tree consistent. The shared locale list moves to
scripts/native-i18n-locales.ts to break the import cycle between the
inventory scanner's top-level CLI await and the derived generators.
2026-07-18 07:15:41 +01:00
Peter Steinberger
b3301e3212 feat(clients): show live plan checklists in web, iOS, and Android chat (#108675)
The gateway already broadcasts stream:"plan" agent events with typed
{step, status} snapshots; all three clients dropped them. Control UI now
renders an expandable checklist bar above the composer (run-scoped,
cleared on run lifecycle); the shared iOS/macOS chat UI mounts a
Liquid Glass pill (iOS 26 glassEffect, material fallback) between the
message list and composer; Android adds an expandable pill above the
composer bridged through ChatController/NodeRuntime/MainViewModel.
All parsers accept typed and legacy string steps, enforce the
single-in_progress invariant, and scope snapshots and clears to the
owning run. Locale artifacts, Android resources, and the iOS string
catalog carry generated translations for the pill strings.
2026-07-16 09:33:52 -07:00
Leon-SK668
9b6361a50c fix(android): preserve emoji in voice error status (#108101)
* fix(android): preserve emoji in voice error status

* chore(android): sync native i18n inventory

* fix(android): align voice status i18n allowlist
2026-07-15 01:16:27 -07:00
Peter Steinberger
2c8306a5be improve(android): make gateway QR pairing prominent in Settings
Mirror the iOS gateway settings ordering: nav-bar QR scan action,
Scan QR to Pair hero while unpaired, one Add Gateway panel (scan,
setup code + connect, discovered gateways with per-row connect),
paired gateways below, manual host/credential plumbing at the bottom.
Add facts rows (Discovered, Default Agent, Agents, Instance ID) and a
Diagnose action, plus a deterministic 'gateway' screenshot scene.

Closes #106186
2026-07-13 08:02:56 -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
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
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
e580275464 feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane (NUIA phase 5) (#105180)
* feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane

Burns down all 153 scripts-lane errors (bench aggregation, release
checks, i18n inventories, argv indexing) and flips the flag in
tsconfig.scripts.json. Direct-Node-executed release harness scripts use
local narrowing instead of workspace imports, which do not resolve
under plain node execution. Benchmark measured loops untouched.

* fix(scripts): import expect helpers via relative package sources

tsconfig path aliases resolve from cwd under tsx, so release wrapper
scripts running against old release target cwds could not resolve
@openclaw/normalization-core (not a linked root dependency). Relative
package-source imports match the established pattern on the adjacent
lines and are cwd-independent; old-target planning verified directly.
2026-07-12 10:17:00 +01:00
Peter Steinberger
2e2366b6d3 chore(tooling): typecheck scripts/** with a dedicated tsgo lane (#104348)
* feat(tooling): add tsgo typecheck lane for scripts/**

* fix(scripts): burn down scripts type debt surfaced by the new lane

Typing-only except bugs the lane surfaced: gh-read timeout race,
Discord Headers spread dropping entries, undefined allowedHeadBranches
match, plugin-boundary matchAll crash. Deletes retired config keys from
fixtures/benches (prompt snapshots regenerated, config dump only) and
the orphaned non-runnable sync-moonshot-docs script. Adds full-surface
.d.mts declarations for existing .mjs boundaries.
2026-07-11 02:31:17 -07:00
joshavant
341231831b chore(android): prepare 2026.6.11 Play release 2026-07-01 17:26:11 -05:00
Vincent Koc
9c130388a3 fix(android): validate resource apostrophe syntax 2026-07-01 03:43:03 -07:00
Vincent Koc
5e786ac27a test(android): enforce localized resource coverage 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