Vincent Koc
6a5219765c
chore(i18n): refresh native source inventory
2026-07-31 03:53:42 +08:00
Vincent Koc
d028a73639
style(macos): align scheduled task helpers
2026-07-31 03:53:42 +08:00
Vincent Koc
6876ae752a
fix(macos): recheck scheduled task cancellation
2026-07-31 03:53:42 +08:00
Vincent Koc
6c8363f7b9
fix(macos): cancel stale store refresh work
2026-07-31 03:53:42 +08:00
Vincent Koc
50a3c4df8a
fix(macos): stop periodic work on cancellation
2026-07-31 03:53:42 +08:00
Vincent Koc
b907309b35
perf(macos): reuse Tailscale discovery session ( #116465 )
...
* fix(macos): reuse tailscale discovery session
* test(macos): stabilize voice ears expiry assertion
2026-07-31 02:51:23 +08:00
Vincent Koc
8a12343efe
fix(ios): stabilize Apple UI validation across runtimes ( #116487 )
...
* test(ios): align source guards with current contracts
* test(ios): stabilize cross-version UI automation
* test(ios): harden typography boundary audit
* test(ios): synchronize deterministic UI launches
2026-07-31 01:30:46 +08:00
Vincent Koc
668721bcfc
fix(macos): coalesce tailscale status checks ( #116321 )
2026-07-31 00:19:51 +08:00
Peter Steinberger
d962a3d9c1
fix(ios): avoid duplicate URLs in shared drafts ( #116430 )
...
* fix(ios): deduplicate shared URLs
* test(ios): prove share provider extraction
2026-07-30 09:09:35 -07:00
Vincent Koc
9e8cc6fe8a
fix(macos): avoid identity reads during menu rendering ( #116435 )
...
* fix(macos): avoid identity reads during menu rendering
* chore(i18n): refresh native source inventory
2026-07-30 23:56:19 +08:00
Vincent Koc
3cf98a8708
test(ios): cover auth cleanup during gateway forget ( #116425 )
2026-07-30 15:46:59 +00:00
Vincent Koc
6959a3e390
fix(macos): avoid repeated endpoint source reads ( #116421 )
2026-07-30 23:19:06 +08:00
Peter Steinberger
7fa95e2656
feat(ui): add composable skill references ( #116330 )
...
* feat(ui): add composable skill references
* fix(ui): align skill reference CI contracts
* fix(ui): scope skill references to WebChat
2026-07-30 04:07:02 -07:00
joshavant
cc570a7453
chore(ios): refresh native i18n inventory
2026-07-30 03:04:42 -05:00
joshavant
28f73d93c1
fix(ios): isolate capability router handlers
2026-07-30 03:04:42 -05:00
joshavant
e6f7a400e2
docs(ios): cut 2026.7.22 release notes
2026-07-30 03:04:42 -05:00
Vincent Koc
1daea4c898
fix(macos): preserve replacement notification overlays ( #116226 )
2026-07-30 15:27:40 +08: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
Vincent Koc
cb75290edb
fix(macos): serialize voice wake trigger sync ( #116202 )
2026-07-30 12:01:26 +08:00
Vincent Koc
fa0bced544
fix(macos): preserve voice ear boost expiry ( #116196 )
2026-07-30 11:19:25 +08:00
Vincent Koc
86d300a3cb
fix(macos): stop canceled voice wake timers ( #116189 )
2026-07-30 10:55:34 +08:00
Vincent Koc
859280ee11
fix(macos): coalesce location permission requests ( #116183 )
2026-07-30 10:41:51 +08:00
Vincent Koc
5128df0cdd
fix(macos): guard remote tunnel restart ownership ( #116172 )
2026-07-30 10:29:33 +08: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
Vincent Koc
514ab48d17
fix(macos): back off approval socket retries ( #116125 )
2026-07-30 07:52:01 +08:00
Vincent Koc
de67565cda
fix(macos): back off failed Gateway connects ( #116114 )
...
* fix(macos): back off failed gateway connects
* fix(macos): skip backoff for transport cancellation
2026-07-30 07:23:22 +08:00
Vincent Koc
246d878580
fix(macos): pause inactive canvas polling ( #116106 )
2026-07-30 06:32:46 +08:00
Vincent Koc
ee7b23dfe6
fix(macos): reduce permission polling allocation churn ( #116092 )
...
* fix(macos): reuse location manager for permission polling
* chore: remove release-owned changelog note
* test(macos): avoid volatile location status comparison
2026-07-30 06:10:25 +08:00
Vincent Koc
fc3f114a93
fix(macos): recover dashboard after gateway auth reconnect ( #116080 )
2026-07-30 05:22:38 +08:00
Vincent Koc
861b35ed44
fix(macos): allow dev source installs to finish ( #116072 )
2026-07-30 04:38:38 +08:00
Peter Steinberger
11de91ad03
fix(qa): forward-port beta 6 validation fixes ( #116065 )
...
* test(macos): avoid busy-spin timeout fixtures
* fix(qa): forward-port beta 6 validation fixes
* test(qa): complete Telegram run options fixture
2026-07-29 16:21:04 -04:00
Vincent Koc
b0a091644f
fix(macos): prevent app stalls from stuck subprocess probes ( #115938 )
...
* refactor(macos): pin subprocess groups through cleanup
* refactor(macos): keep bounded process probes async
* test(macos): cover async process probe limits
* fix(macos): preserve local gateway version fallback
* test(macos): cover gateway version probe fallback
* fix(macos): handle subprocesses that exit before monitoring
* test(macos): stress instant bounded process exits
* fix(macos): close bounded process exit registration race
* fix(macos): preserve bounded probe output ordering
* fix(macos): propagate bounded process cancellation
* fix(macos): recover missed subprocess exit events
* chore(macos): refresh native i18n inventory
* fix(macos): reject invalid process argument bytes
2026-07-29 20:12:35 +00:00
Peter Steinberger
0021e51f22
feat(apple): media renditions, Now Playing, video upload ( #116051 )
...
* feat(apple): complete media playback and uploads
* fix(apple): preserve movie picker metadata
* fix(apple): harden rendition and picker routing
* style(apple): fix macOS media formatting
2026-07-29 15:50:18 -04: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
e0ab154e5e
fix(ui): explain unavailable MCP tool catalogs ( #115994 )
...
* fix(ui): explain undiscovered MCP tools
* fix(ui): scope MCP discovery notices to the viewed connector
2026-07-29 15:12:08 -04:00
Peter Steinberger
777cfed85a
feat(mac): hand off gateway-owned settings panes to the dashboard ( #115999 )
...
* feat(mac): hand off gateway-owned settings panes to the dashboard
Gateway-config Settings tabs (Channels, Skills, Cron Jobs, Threads,
Instances) now default to a native handoff page with an Open in Dashboard
deep link; a Debug toggle re-enables the legacy native panes. Adds an
openclaw:native-navigate host->shell event with generation-guarded URL
fallback, and lifts the dashboard route map + same-app path validation
into OpenClawKit for future iOS reuse. Exec Approvals stays native: the
Dashboard's host-native policy editor is read-only by contract.
* fix(mac): satisfy native-i18n inventory and type budget
* fix(mac): refresh native i18n source locations
2026-07-29 14:12:42 -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
a914fcd1f7
fix(mac): hide duplicate Gateway in dashboard picker over SSH ( #115963 )
...
* fix(mac): dedupe active SSH gateway profile
* fix(mac): dedupe gateway before tunnel readiness
* chore(mac): defer release note to release process
2026-07-29 12:27:32 -04:00
Vincent Koc
e94693aa52
fix(macos): enable keyboard navigation in web views
2026-07-29 22:59:39 +08:00
Peter Steinberger
afae681085
feat(apple): add inline media players ( #115903 )
2026-07-29 10:36:38 -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
Vincent Koc
0686676ebd
perf(macos): reduce onboarding mascot redraw cadence ( #115896 )
2026-07-29 21:50:05 +08:00
Vincent Koc
592f81ca33
fix(macos): eliminate subprocess polling for SSH tunnel readiness ( #115846 )
...
* fix(macos): inspect tunnel listener sockets in process
* test(macos): cover exact process listener inspection
* fix(macos): scan listeners to the child fd limit
* refactor(macos): normalize libproc byte counts
* chore(macos): keep release notes in the PR
2026-07-29 21:48:52 +08:00
Vincent Koc
1c3e669f30
fix(macos): bound SSH tunnel teardown ( #115861 )
...
* fix(macos): bound SSH tunnel teardown
* test(macos): cover resistant tunnel process groups
* fix(macos): escalate surviving tunnel process groups
* chore(i18n): refresh macOS tunnel source offsets
* chore(macos): keep release notes in the PR
* refactor(macos): own SSH tunnel process lifecycle
* test(macos): stress tunnel teardown lifecycle
* fix(macos): unpublish tunnels before async teardown
* chore(i18n): refresh macOS tunnel source offsets
* test(macos): remove unused tunnel process accessor
* fix(macos): preserve tunnel launch diagnostics
* test(macos): cover tunnel launch failures
* chore(i18n): refresh tunnel diagnostic offsets
2026-07-29 21:47:25 +08:00
Vincent Koc
7d00787e20
fix(macos): skip unchanged config forensics ( #115886 )
...
* perf(macos): skip unchanged config forensics
* test(macos): cover config forensic read caching
* test(macos): make config metadata changes deterministic
2026-07-29 21:42:36 +08:00
Vincent Koc
cba59e4674
fix(macos): prevent remote discovery hangs during Tailscale checks ( #115852 )
...
* fix(macos): bound discovery subprocess execution
* refactor(macos): migrate tailscale discovery runner
* refactor(macos): make wide-area discovery asynchronous
* test(macos): prove discovery subprocess cleanup
* chore(macos): keep release notes in the PR
2026-07-29 21:38:57 +08:00
Colin Johnson
306c02af57
feat(ui): preview session workspace images ( #95956 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 09:22:46 -04:00