Josh Avant
872da7a4fa
improve(android): overlap release notes with bundle builds ( #194286 )
2026-11-06 13:44:34 -06:00
Josh Avant
86d4d441d0
improve(android): build only bundles for store releases ( #186407 )
...
* improve(android): build only bundles for store releases
* test(android): consolidate release metadata checks
2026-10-27 22:18:45 -07:00
RoboClaw
83c98097fa
fix(android): release uploads fail with build-tools 37 ( #177205 )
...
* fix(android): parse build-tools 37 APK signer certificates
Recognize scheme-prefixed unrotated certificate labels while preserving pinned-certificate and single-signer checks. Extend the existing verification fixture to cover the current SDK output and rejection paths.
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
* fix(android): release uploads fail with build-tools 37
Worked on by:
- @vincentkoc
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
OpenClaw-Publication: f0631ce7-505d-42fb-a117-b070624de5b3
---------
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
2026-10-19 09:49:45 +00:00
Peter Steinberger
f659a3576b
test(agents,gateway,commands,cli,plugins): remove low-value tests (batch d041) ( #168208 )
...
* test(gateway): deslop x1072 tests
* test(feishu): deslop x1071 tests
* test(commands): deslop x1073 tests
* test(apps): deslop x1076 tests
* test(config): deslop x1069 tests
* test(agents): deslop x1078 tests
* test(test): deslop x1068 tests
* test(scripts): deslop x1077 tests
* test(cli): deslop x1083 tests
* test(agents): deslop x1081 tests
* test(commands): remove obsolete line-limit suppression
2026-10-10 05:30:02 +00:00
Peter Steinberger
c10b24f024
refactor(android): deslop android ( #163675 )
...
* refactor(android): deslop android
Consolidate shared permission, request, state, media, and presentation plumbing while preserving July 2026 and newer client contracts. Remove retired prototype navigation and the March notification migration.
* chore(android): refresh native localization inventory
* fix(android): keep permission checks visible to platform lint
2026-10-02 12:48:16 -07:00
Peter Steinberger
2fd8e321ba
feat(android): snooze sessions from the thread menu ( #162293 )
...
* feat(android): snooze sessions from the thread menu
Session rows now carry the Gateway's snoozedUntil/snoozedAt facts in the
hand-written ChatSessionEntry (parsed from sessions.list, merged from
sessions.changed with null receipts clearing them), and sessions.patch can
set a wake time or clear it with the session's expected identity. The
Threads page gains a Snoozed pill and long-press Snooze presets (In 1 hour,
In 3 hours, This evening, Tomorrow, Next week) or "Wake session" with the
wake time; Recent, Current, and the sidebar's recent list hide snoozed rows
until the wake instant, which the existing expiry scheduler now awaits.
The screenshot fixture gains a snoozed session so the owned-emulator lane
captures the states.
* fix(android): keep snooze strings in the native i18n source inventory
The native locale refresh workflow owns the generated string resources, so
the new snooze strings are recorded in apps/.i18n/native-source.json and
the generated NativeStringResources.kt / values/strings.xml are restored to
main; nativeString falls back to the source text until the refresh lands.
2026-09-30 20:38:08 -07:00
Peter Steinberger
624b66f24f
refactor(android): deslop Android app third pass ( #159589 )
...
Native App Locale Refresh / Refresh native uk (push) Blocked by required conditions
Native App Locale Refresh / Refresh native vi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-CN (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-TW (push) Blocked by required conditions
Native App Locale Refresh / Commit native locale refresh (push) Blocked by required conditions
Native App Locale Refresh / resolve-base (push) Waiting to run
Native App Locale Refresh / Verify generated PR App permissions (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ar (push) Blocked by required conditions
Native App Locale Refresh / Refresh native de (push) Blocked by required conditions
Native App Locale Refresh / Refresh native es (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fa (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fr (push) Blocked by required conditions
Node Runtime Conformance / scope (push) Waiting to run
Node Runtime Conformance / TypeScript contracts (push) Blocked by required conditions
Node Runtime Conformance / Rust workspace (push) Blocked by required conditions
Plugin Init Scaffold Validation / Validate provider scaffold (push) Blocked by required conditions
Plugin Init Scaffold Validation / scope (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / Preflight plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / Seal prepared plugin npm release (push) Blocked by required conditions
Plugin NPM Release / Trusted publisher OIDC exchange (push) Blocked by required conditions
Plugin NPM Release / approve_plugins_npm_release (push) Blocked by required conditions
Plugin NPM Release / Publish plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / verify_plugins_npm (push) Blocked by required conditions
Vitest Cache Warm / dependencies (push) Waiting to run
Vitest Cache Warm / warm (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
* refactor(android): deslop Android app third pass
* chore(android): refresh native string source sites
2026-09-27 04:26:22 -07:00
Josh Avant
cd2724e432
feat(release): automate iOS and Android store releases ( #158807 )
...
Add manually triggered iOS Store Release and Android Store Release workflows with the same local release commands. Derive store versions and OpenAI release notes at build time, retain recovery artifacts, and avoid generated metadata commits.
Pin queued releases to their dispatch commit, qualify native iOS behavior before signing, and improve Android screenshots and interrupted artifact recovery.
Validation includes focused release/planner tests, workflow and type checks, native iOS qualification, Android screenshot capture, and historical release-note exercises. CI failure attribution and remaining hosted release verification are documented in the PR.
Closes #158806
2026-09-26 06:28:29 -05:00
Vincent Koc
924874b976
feat(mobile): add dedicated version contract ( #136366 )
...
* feat(mobile): add dedicated version contract
Punchcard-Session: quiet-brook-meadow-cb
* fix(mobile): repair version contract checks
Punchcard-Session: calm-meadow-summit-7q
2026-09-03 04:53:27 +08:00
Peter Steinberger
3010318ba3
fix(android): isolate debug app installs ( #125099 )
2026-08-16 23:36:57 -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
88876f780b
fix(android): preserve device work across lifecycle changes ( #116593 )
...
* fix(android): use configured SDK for screenshot AVDs
* fix(android): keep chat jump control clear of messages
* fix(wear): ignore stale control completions
* fix(android): advertise node permission changes
* fix(android): select play flavor for benchmarks
* test(android): decouple cron benchmark from copy
* fix(android): install play variant in perf scripts
* fix(wear): clear gateway control busy state
* fix(android): surface voice e2e connection errors
* test(android): cover common live node commands
* fix(android): retain share parsing across recreation
* fix(android): retain permission requests across recreation
* fix(wear): bind realtime audio to talk attempts
* fix(android): track active permission host
* fix(wear): own gateway control busy state
* fix(wear): admit realtime channels by attempt
* fix(android): refresh permissions on top resume
* fix(wear): serialize reconnect retirement with writes
* chore(i18n): refresh native source inventory
* fix(wear): retain pending audio through start RPC
* fix(wear): negotiate realtime channel compatibility
* test(wear): assert reconnect outcome without owner churn
* fix(android): move settings prompt with active host
* fix(wear): reject stale relay starts
* chore(changelog): leave notes to release generation
2026-07-31 09:49:11 +08:00
Peter Steinberger
8d5e39afcd
feat(android): add Wear OS companion ( #109433 )
...
* feat(android): add Wear OS companion
Co-authored-by: Sebastian Schubotz <git@sibbl.net>
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
* style(android): format Wear release gate test
* test(android): cover Wear release CI contracts
* test(android): import Wear JSON fixture type
* fix(android): harden Wear proxy event actor
* test(android): stabilize Wear proxy actor tests
* test(android): isolate Wear proxy actor lifecycles
* test(android): own Wear actor dispatchers
* test(android): use real time for Wear actor tests
* test(android): own Wear actors in test scope
* test(android): stop Wear actors explicitly
* test(android): drain Wear actor cancellation
* test(android): isolate Wear actors from test scheduler
* test(android): inject Wear test clock
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
2026-07-16 20:59:29 -07:00
Vincent Koc
f038f509d9
refactor(android): remove unused benchmark coordinate ( #105524 )
2026-07-12 18:33:38 +02:00
Peter Steinberger
e0f45bfbf0
feat(tooling): enforce indexed access checks in root tests ( #105223 )
...
* feat(tooling): enforce indexed access checks in root tests
* style(tooling): clarify scoped package guard
2026-07-12 10:42:07 +01:00
Peter Steinberger
7fe004d852
feat: show build identity in About screens ( #103595 )
...
* feat: show build identity in About screens
* chore: leave root changelog to release automation
* fix: translate Control UI About build details
2026-07-10 10:42:36 +01:00
Peter Steinberger
054e3675e1
feat(android): publish signed APKs with stable releases ( #101212 )
...
* feat(android): publish signed release APKs
* fix(android): preserve fallback corrections
* test(android): isolate APK signer fixtures
* docs: refresh generated docs map
2026-07-07 00:39:59 +01:00
Colin Johnson
5e342c774d
improve: refresh Android overview control surface ( #95557 )
...
* improve android overview control surface
* fix android lint gates
* fix android voice e2e debug broadcast
* harden android voice e2e receiver
* fix(android): clarify Talk entry copy
---------
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-06-22 18:57:33 -05:00
joshavant
91220cbd31
android: archive release artifacts from pinned version
2026-06-16 19:13:44 +02:00
Peter Steinberger
e900428a47
docs: document repo support scripts
2026-06-04 08:01:15 -04:00
Ayaan Zaidi
d7aa1f31de
test(android): add gateway connect adb probe
2026-05-25 09:01:07 +05:30
Ayaan Zaidi
e52a3b31e4
test(android): add voice mode adb e2e harness
2026-05-25 09:01:06 +05:30
Ayaan Zaidi
ecec0d5b2c
build(android): add play and third-party release flavors
2026-03-20 12:45:25 +05:30
Ayaan Zaidi
040c43ae21
feat(android): benchmark script
2026-03-19 13:13:14 +05:30
Ayaan Zaidi
3fb629219e
build(android): add auto-bump signed aab release script
2026-03-14 09:25:17 +05:30
Ayaan Zaidi
5568b393a8
fix(android): rename app package to ai.openclaw.app
2026-03-07 14:51:03 +05:30
Ayaan Zaidi
b49c2cbdd9
perf(android): tighten startup path and add perf tooling
2026-02-26 07:50:09 +05:30