joshavant
026f4045b7
Revert "fix(protocol): preserve gateway session attribution across node runs"
...
This reverts commit 735f176b01 .
2026-08-07 18:40:17 -05:00
WhatsSkiLL
62937ea6fc
fix(android): keep Wear chat on the latest reply ( #120307 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-08-07 16:32:30 -04:00
WhatsSkiLL
a23444fc74
fix(android): gate Wear model controls by operator scope ( #120016 )
...
* fix(android): gate Wear model controls by operator scope
* chore(android): refresh native i18n inventory
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Colin Johnson <colin@solvely.net >
2026-08-07 11:00:41 -04:00
Dallin Romney
2a0bbd23f5
feat: expose session classification facts ( #106832 )
...
* feat: expose session presentation metadata
* fix: restrict session titles to safe display metadata
* fix: preserve saved session display names
* fix(protocol): tolerate future session presentation values
* fix(gateway): keep direct peer names out of presentation
* fix(protocol): connect session presentation to native rows
* fix(gateway): canonicalize session presentation metadata
* fix(gateway): satisfy session presentation CI checks
* feat(gateway): flatten session classification facts
* fix: repair session classification generated models
* fix(gateway): canonicalize session classification keys
* fix(gateway): classify spawned delivery sessions
* fix(android): retain session classification facts
* test(android): make scripted gateway calls concurrency-safe
* test(live-updater): isolate fixture git commands
2026-08-07 14:56:56 +08:00
Vincent Koc
735f176b01
fix(protocol): preserve gateway session attribution across node runs
2026-08-07 08:06:01 +08:00
openclaw-mantis[bot]
d5668d83c0
chore(i18n): refresh native locales ( #119669 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 20:08:30 +08:00
WhatsSkiLL
238c8bfc23
fix(android): show active session status in sidebar ( #118624 )
2026-08-05 11:55:10 -04:00
Peter Steinberger
4511c9b71f
refactor(android): remove obsolete chat rendering paths ( #119615 )
2026-08-05 08:17:04 -07:00
Josh Avant
618fba92bf
feat(audit): add execution identity inspection ( #117034 )
...
* feat(audit): add opt-in execution identity inspection
* fix(audit): gate recovery identity retention
* fix(audit): keep recovery identity type private
* test(audit): type internal recovery fixture
* test(audit): split recovery identity coverage
* docs(audit): define operator read trust boundary
* test(qa): register identity scenario child
* fix(audit): enforce shared identity retention bounds
* fix(audit): seal public ingress identity boundary
* fix(audit): keep ingress guard lint-clean
* fix(gateway): preserve advertised method order
* chore(protocol): sync advertised method order
* fix(protocol): encode audit selector invariants
* test(audit): prove exact execution guard
* fix(audit): keep identity storage lazy
2026-08-04 20:05:15 -05:00
openclaw-mantis[bot]
7f9994d4f9
chore(i18n): refresh native locales ( #118883 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-04 05:07:27 +08:00
joshavant
1f78c39bd8
fix: adapt completion delivery to current main
2026-08-03 02:48:34 -05:00
Peter Steinberger
c49b68328e
test(android): consolidate Wear bridge fixtures ( #118559 )
2026-08-03 00:42:43 -07:00
Peter Steinberger
4b3d0b37be
test(android): consolidate connection TLS fixtures ( #118532 )
2026-08-02 23:29:37 -07:00
Peter Steinberger
d2ff210679
test(android): compact chat persistence fixtures ( #118456 )
2026-08-02 21:51:33 -07:00
Peter Steinberger
39c506bbf2
test(android): compact onboarding gateway fixtures ( #118383 )
2026-08-02 20:09:31 -07:00
Peter Steinberger
1d2fc98bf4
test(android): reduce voice fixture duplication ( #118270 )
2026-08-02 19:27:55 -07:00
Peter Steinberger
c43ba8e3fc
fix(cli): speed up hook status reads through the Gateway ( #118288 )
...
* perf(cli): reuse gateway hook status (#118222 )
* chore(protocol): register hooks.status schema module in generated surfaces
2026-08-02 17:21:28 -07:00
WhatsSkiLL
4c136a7dea
fix-android-sidebar-search-results ( #117981 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-08-02 17:13:16 -07:00
Peter Steinberger
3ebb0ca3b6
chore(lint): resolve the 40 reserved baseline findings to a zero-noise lint:all ( #118256 )
...
* fix(lint): resolve reserved runtime findings
* chore(lint): scope intentional contract findings
* fix(android): preserve WebMessageListener bridge contract
2026-08-02 16:08:57 -07:00
Peter Steinberger
a1c2009b91
chore(android): stabilize branch coordination unit tests ( #118210 )
...
* test(android): stabilize branch coordination tests
* test(android): await outbox drain boundary
* test(android): isolate reconciliation drain fixture
2026-08-02 15:25:19 -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
Peter Steinberger
860b4ee4a7
test(android): share Wear transport fixtures ( #118177 )
2026-08-02 14:01:28 -07:00
Peter Steinberger
1787cbb9de
test(android): compact chat recovery fixtures ( #118166 )
2026-08-02 13:21:29 -07:00
Peter Steinberger
aae0342f7c
test(android): consolidate gateway security fixtures ( #118165 )
2026-08-02 13:17:01 -07:00
Peter Steinberger
4e4959b283
refactor(android): consolidate chat controller test setup ( #117862 )
2026-08-01 23:06:51 -07:00
Vincent Koc
ff770f9a48
fix(i18n): sync pinned native translations ( #117726 )
2026-08-02 09:36:29 +08:00
WhatsSkiLL
2fc32204b4
fix(android): show pinned state in sidebar sessions ( #117063 )
...
* fix(android): show pinned state in sidebar sessions
* fix(ci): leave native locale refresh to workflow
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-08-01 16:16:49 -07:00
Peter Steinberger
e49c8339b8
refactor(android): simplify durable outbox test scenarios ( #117667 )
2026-08-01 15:45:02 -07:00
Peter Steinberger
9e43844264
build: generate native Canvas resources on demand ( #117424 )
2026-08-01 08:16:56 -07:00
WhatsSkiLL
f0170ca238
Android: collapse sidebar search behind header action ( #116956 )
...
* feat(android): collapse sidebar search
* test(android): cover sidebar search toggle
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* chore(android): refresh sidebar i18n inventory
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* test(android): restore sidebar test clock
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* test(android): remove stateful sidebar UI test
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-31 12:10:43 -07:00
Peter Steinberger
349cc33669
test(android): synchronize Wear channel transport close completion ( #116788 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:36:37 -07:00
Vincent Koc
20e68e01df
fix(gateway): sign device proofs with challenge time ( #116679 )
2026-07-31 16:45:53 +08:00
Vincent Koc
9309a4fce9
test(android): remove duplicate setup-code coverage ( #116658 )
2026-07-31 12:12:35 +08: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
openclaw-mantis[bot]
8c61044576
chore(i18n): refresh native locales ( #116567 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-31 08:29:26 +08:00
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
openclaw-mantis[bot]
81d165c612
chore(i18n): refresh native locales ( #116213 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-30 15:17:38 +08:00
joshavant
e4e7f37d24
chore(android): record 2026.7.4 Play metadata
2026-07-30 01:49:07 -05:00
joshavant
eb263c5104
chore(android): prepare 2026.7.4 Play release
2026-07-30 01:19:40 -05:00
licheer-zte
6288a750ca
fix(android): move Wear capability keep rules to raw keep files to prevent resource shrinking ( #116068 )
...
* fix(android): move Wear capability keep rules to raw keep files
Resource-shrinker keep directives in res/values/*.xml are not honored
by Android's resource shrinker during release builds. Move the
tools:keep declarations into dedicated res/raw/*.keep.xml files as
documented by Android:
https://developer.android.com/topic/performance/app-optimization/customize-which-resources-to-keep
Fixes openclaw/openclaw#116049
* fix(android): rename keep files - use underscores instead of dots
Android resource names must contain only lowercase a-z, 0-9, and underscores.
Dots in file names cause build failure with AAPT2 resource merger.
- ai.openclaw.app.phone.keep.xml -> ai_openclaw_app_phone_keep.xml
- ai.openclaw.app.wear.keep.xml -> ai_openclaw_app_wear_keep.xml
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 08:55:45 +08:00
Peter Steinberger
e1cc617f86
feat(android): media renditions, MediaSession, video upload ( #116037 )
...
* feat(android): add media rendition and video support
* chore(android): refresh native i18n inventory
* fix(android): opt in to Media3 command API
* chore(android): sync native i18n source locations
2026-07-29 15:44:04 -04:00
Peter Steinberger
ff72f287c3
fix(gateway): declare viewer presence explicitly instead of deriving it from subscriptions ( #116001 )
...
* fix(gateway): declare viewer presence explicitly instead of deriving it from subscriptions
* refactor(ui): isolate viewer presence lifecycle ownership
* chore(protocol): register viewer presence schema owner
* fix(ui): keep viewer presence cleared after detach
* chore: drop changelog edits from this PR
CHANGELOG.md is release-owned; release generation derives entries from merged
PRs. Release-note context stays in the PR body.
2026-07-29 13:56:54 -04:00
Peter Steinberger
80176dab8d
feat(android): inline audio/video players with Media3 ( #115916 )
...
* feat(android): add inline media players
* fix(android): release inactive media players
* fix(android): preserve paused media playback
* test(android): include Media3 license notice
* chore(android): refresh native i18n inventory
2026-07-29 10:26:45 -04:00
Peter Steinberger
68a3d28906
fix: keep content after HTML-backed disclosures visible ( #115877 )
...
* fix(chat): close disclosures in coalesced HTML
Keep model-authored details closers visible to the shared disclosure contract when CommonMark absorbs them into type-6 HTML blocks across the Control UI and native apps.
* refactor(apps): isolate disclosure unfolding
Keep the native disclosure segmenter below its lint complexity and type-size limits, and refresh the source-owned native i18n inventory after the move.
* fix(apps): align disclosure helper visibility
Keep the extracted same-file helper compatible with Swift access control while leaving its implementation types hidden outside the source file.
* fix(apps): align source replacement visibility
Keep the source replacement helper at the same file-private boundary as the extracted disclosure unfolding types.
2026-07-29 10:24:46 -04:00
Peter Steinberger
662abec754
feat(gateway): push session PR indicators to subscribed clients ( #115643 )
...
* feat(gateway): push session PR indicators to subscribed clients
* test(gateway): fix PR indicator drift
* chore(protocol): allowlist PR-indicator event for native apps (Control UI surface)
* test: align PR indicator lifecycle coverage
* fix(ui): scope session PR store listeners to active watchers
2026-07-29 06:30:01 -04:00
Peter Steinberger
4232126bba
chore: update dependencies across workspace ( #115677 )
...
* chore(deps): update dependencies
* fix(deps): restore CI compatibility
2026-07-29 05:16:42 -04:00
Vincent Koc
14940edf15
feat(skills): add Skill Workshop lifecycle hooks ( #115606 )
...
* feat(skills): add lifecycle hook contracts
* feat(plugins): expose skill hook contracts
* feat(plugins): identify skill evaluators
* feat(skills): persist proposal evaluation lifecycle
* feat(skills): add agent evaluation action
* feat(skills): emit committed skill lifecycle changes
* feat(gateway): expose skill proposal evaluation lifecycle
* feat(ui): add Skill Workshop evaluations
* fix(skills): bind lifecycle state to proposal revisions
* fix(skills): preserve lifecycle events without artifacts
* feat(cli): evaluate skill proposals
* fix(ui): bind evaluations to proposal revisions
* docs(skills): document lifecycle hook primitives
* chore(plugin-sdk): refresh skill hook surface
* fix(skills): harden proposal evaluator execution
* fix(plugins): isolate skill evaluator inputs
* fix(cli): align skill lifecycle deadlines
* fix(skills): preserve evaluation replay invariants
* test(ui): capture Skill Workshop evaluation proof
* fix(skills): bind apply to evaluated target tree
* fix(skills): preserve evaluation contract edges
* fix(skills): bound evaluation event storage
* chore(skills): keep lifecycle helpers internal
* refactor(skills): isolate evaluation persistence
* fix(skills): satisfy lifecycle validation gates
* chore(protocol): refresh Skill Workshop clients
* docs: refresh Skill Workshop map
* chore: keep release notes in PR metadata
* docs: refresh merged docs map
* fix(ci): type Code Mode catch errors
* fix(skills): freeze lifecycle observation payloads
* fix(protocol): keep proposal inspect backward-decodable
* fix(skills): enforce final evaluator bundle limits
* fix(skills): preserve lifecycle caller attribution
* chore: drop subsumed Code Mode formatting
* test(plugins): adapt lifecycle hook mocks
2026-07-29 15:49:44 +08:00
Peter Steinberger
138675aeeb
feat(apps): render collapsible details natively ( #115641 )
...
* feat(apps): render collapsible details natively in chat
* fix(apps): preserve reference definitions when folding disclosures
* fix(apps): keep authored details summaries unlocalized
* fix(apps): keep raw-HTML disclosure examples literal
* refactor(apps): isolate summaries and raw HTML contexts
* fix(apps): honor all CommonMark raw HTML contexts in disclosures
* chore(apps): refresh native i18n inventory for disclosure strings
2026-07-29 02:52:54 -04:00
Peter Steinberger
26bfa88bb2
fix: restore native Talk transcripts, fallback, and microphone access ( #115577 )
...
* fix(ios): decode frameless Talk events
* fix(android): keep browser-only Talk models native
* fix(macos): gate dashboard media capture
* docs(talk): clarify native platform fallbacks
* chore(i18n): refresh native source inventory
* fix(android): gate relay entry on provider-level browser-only models too
2026-07-29 01:55:47 -04:00
Peter Steinberger
df9a940872
feat(chat): show live run telemetry across clients ( #113084 )
...
* feat(chat): show live run telemetry across clients
* fix(chat): satisfy native validation gates
* fix(chat): settle advertised terminal runs
* fix(android): clear stale run usage on gaps
* chore(i18n): align native source inventory
* fix(chat): reconcile telemetry with current projections
* refactor(chat): keep run state in owner extensions
* chore(i18n): refresh native source inventory
* test(ui): expect persistent working telemetry through streaming
2026-07-29 01:27:58 -04:00