Vincent Koc
dcae280db6
Merge remote-tracking branch 'origin/audit/macos-accessibility-followup' into audit/macos-accessibility-land-116026
...
* origin/audit/macos-accessibility-followup:
fix(ui): dismiss picker after focus leaves widget
fix(ui): keep picker trigger inside focus boundary
test(ui): split terminal accessibility coverage
test(ui): cover terminal picker pointer paths
chore: leave accessibility notes to release prep
fix(ui): type terminal shadow focus checks
fix(ui): make terminal session picker keyboard accessible
2026-07-30 04:16:32 +08:00
salvormallow
73b5e7aab4
fix(hooks): save memory on automatic session rollover ( #61675 )
...
* fix(hooks): persist memory on session rollover
Co-authored-by: salvormallow <15044561+salvormallow@users.noreply.github.com >
* fix(hooks): persist memory on automatic session reset
* fix(hooks): keep auto-reset reason internal
* fix(hooks): retain auto-reset memory admission
* fix(hooks): make session rollover return explicit
* test(hooks): track session memory temp dirs
* fix(hooks): satisfy session memory return contract
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 04:13:26 +08: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
25d3c39130
fix(protocol): allow config hint documentation URLs ( #116063 )
2026-07-29 16:09:11 -04:00
Shakker
4849ec4982
fix: clear partial Talk startup state ( #116067 )
2026-07-29 21:08:21 +01:00
Shakker
a7e881d14f
docs: note Talk session isolation
2026-07-29 21:08:21 +01:00
Shakker
cae9a61f6d
refactor: keep Talk reset internal
2026-07-29 21:08:21 +01:00
Shakker
c1438475eb
test: cover realtime Talk teardown
2026-07-29 21:08:21 +01:00
Shakker
8671148999
fix: isolate realtime Talk sessions
2026-07-29 21:08:21 +01:00
Vincent Koc
702892e1c3
fix(ui): dismiss picker after focus leaves widget
2026-07-30 03:58:24 +08: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
d6f9affe79
feat(cli): run agent exec against the ambient config, composed in memory ( #116038 )
...
* feat(cli): run agent exec against the ambient config, composed in memory
Exec previously ignored the operator's config entirely, so a one-shot turn
could not reach configured providers, credentials, or agentRuntime harness
selection. It now layers config the way other folder-scoped coding CLIs do.
The composed config is published as this process's runtime snapshot rather
than serialized to a temp file and re-read through OPENCLAW_CONFIG_PATH. The
snapshot is the only in-process config cache, so the file only ever fed it --
while writing env-substituted provider keys to disk where the run's own exec
tool could read them.
* fix(cli): resolve exec stored credentials from the configured agent dir
* chore(scripts): allow agent exec the file-scoped config loader at its process boundary
* test(cli): cover the exec credential default and pinned-config flags
2026-07-29 15:38:27 -04:00
mikasa
d2f2123da5
fix #95351 : [Feature]: Generic JSONL line-parsing hook for CliBackendPlugin (native tool-card support beyond claude-stream-json) ( #95386 )
...
* feat(plugin-sdk): add CLI backend JSONL parser hook
* fix(test): isolate non-git workspace fixtures
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 03:37:39 +08:00
Stellar鱼
42e23c11e0
feat(plugins): allow per-turn tool narrowing in prompt hooks ( #114151 )
...
* feat(plugins): allow per-turn tool narrowing in prompt hooks
* fix(hooks): keep prompt tool policy baseline internal
* fix(test): track active tools in embedded session fixture
* test(agents): preserve active tool fixture state
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 03:28:45 +08:00
Vincent Koc
8a4f891450
docs(hooks): mark pairing hook observation-only ( #116055 )
2026-07-30 03:27:36 +08:00
Vincent Koc
2ad7427e16
fix(ui): keep picker trigger inside focus boundary
2026-07-30 03:27:24 +08:00
Peter Steinberger
03a2c8208d
docs(control-ui): document composer capability menu ( #115858 )
...
* docs(control-ui): document composer capability menu
* docs(control-ui): explain tool access discovery states
* docs(map): regenerate docs map
2026-07-29 15:26:56 -04:00
Jason (Json)
3f6f172873
fix(build): bound declaration memory use ( #116021 )
2026-07-29 13:25:47 -06:00
Kevin Lin
ec32f181a1
fix: Slack replies recover after gateway startup replay ( #115991 )
...
* fix: diagnose prepared model owner config drift
* fix(gateway): bind replies to published model owner
* fix(gateway): bind durable replay to published owner
* test: preserve requested workspace in reply mock
2026-07-29 12:25:45 -07:00
sunlit-deng
066241a0d0
fix(azure-speech): keep valid voices from malformed catalogs ( #115067 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 03:20:22 +08:00
Jason (Json)
46ec7a43a8
fix(agents): prevent model runtime startup timeout ( #116039 )
2026-07-29 13:17:07 -06: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
2366d354d9
fix(skills): run experience review outside released request roots ( #116040 )
2026-07-29 15:07:58 -04:00
Peter Steinberger
ca07207649
docs(security): add safe Gmail reader setup ( #116041 )
...
* docs(security): add safe Gmail reader setup
* docs: leave release notes to release flow
* docs: refresh documentation map
2026-07-29 15:07:35 -04:00
Shakker
052212dc97
chore: refresh browser gateway runtime ( #116043 )
2026-07-29 20:05:56 +01:00
Shakker
2cdedd7eeb
test: isolate gateway sequence lifecycle coverage
2026-07-29 20:05:56 +01:00
Shakker
e7547d470c
docs: note gateway reconnect sequence fix
2026-07-29 20:05:56 +01:00
Shakker
403a9b778b
test: cover gateway sequence reset on restart
2026-07-29 20:05:56 +01:00
Shakker
dbcd479007
test: cover gateway sequence reset on reconnect
2026-07-29 20:05:56 +01:00
Shakker
ab3f52c367
fix: reset gateway event sequence on reconnect
2026-07-29 20:05:56 +01:00
Josh Lehman
6beaff450e
fix(codex): avoid transcript mirror snapshot churn ( #115070 )
2026-07-29 11:59:14 -07:00
Peter Steinberger
5d02f42709
fix(test): stop cross-file state leaks in media suites ( #116027 )
2026-07-29 14:58:54 -04:00
Ryan Hughes
9560e17185
feat(hooks): add persistent hook session mode ( #75918 )
...
* feat(hooks): add explicit persistent sessions
* fix(hooks): validate persistent mapping session keys
* chore: leave persistent hooks note to release process
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 02:57:28 +08:00
Vincent Koc
14e65ab6b3
test(ui): split terminal accessibility coverage
2026-07-30 02:54:10 +08:00
Vincent Koc
83aca8a59c
fix(memory): return early for blank searches ( #116034 )
2026-07-30 02:48:50 +08:00
Nikolai Melekhin
c709aa7787
fix(tool-search): long-lived gateways leak heap from finished embedded runs ( #114767 )
...
* fix(tool-search): long-lived gateways leak heap from finished embedded runs
applyToolCatalogCompaction remembered a reusable catalog snapshot for
hook-bound (run-scoped) catalogs even though their identity-pinned
fingerprint can never match a later run's rebuilt tools, so every
embedded run parked ~1.7 MB of finished run graph in the process-global
map until the 256-slot eviction. Skip the reusable-snapshot path when a
toolHookContext is present; hook-context-free callers keep the #86887
cross-run reuse unchanged.
* fix(tool-search): correct premise-assert types flagged by check-test-types
expectDefined takes a label argument in this repo and entry.tool is
CatalogTool; use the file's existing idioms (labelled expectDefined,
AnyAgentTool cast) so the tsgo test lane passes.
* fix(tool-search): cover hook-bound snapshot owners
Port the leak fix onto the current run-owned catalog boundary, derive cache eligibility from actual wrapped entries, cover prewrapped harness tools, and add the release note.
* chore(tool-search): keep release note in PR context
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 02:48:31 +08:00
Vincent Koc
8d6dae1e81
test(ui): cover terminal picker pointer paths
2026-07-30 02:46:37 +08:00
Peter Steinberger
3f4d65a672
feat(harness): report copilot code-mode engagement on the attempt result ( #115913 )
...
* feat(harness): report copilot code-mode engagement on the attempt result
* test(copilot): prove code-mode engagement through the production tool bridge
* docs: describe the normalized codeModeEngaged value for native harnesses
2026-07-29 14:44:15 -04:00
Peter Steinberger
b240703cfc
fix(ui): compact the macOS gateway picker menu ( #115977 )
...
* fix(ui): compact native gateway menu
* chore: leave changelog to release automation
* test: stabilize UI and CLI process checks
2026-07-29 14:42:18 -04:00
Vincent Koc
6ef0beaa60
Merge pull request #115951 from openclaw/refactor/isrecord-cleanup-final-20260729
...
refactor: reuse canonical record guards
2026-07-30 02:36:19 +08:00
WhatsSkiLL
d4436e9a17
perf(codex): stream large CLI session JSONL scans ( #115997 )
...
* fix(codex): stream CLI session JSONL scans
* perf(codex): scan JSONL in bounded chunks
* perf(codex): keep small JSONL reads fast
* perf(codex): avoid rescanning long rollout records
* test(codex): prove streamed rollout recovery
* refactor(codex): isolate JSONL line scanning
* fix(codex): avoid env ratchet token in relay constant
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 02:35:41 +08:00
RogueL90
499d48edbb
cron: reject webhook URLs with embedded credentials ( #51822 )
...
* cron: reject webhook URLs with embedded credentials
* fix(cron): reject credential-bearing webhook URLs
* chore: leave cron webhook note to release process
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 02:32:32 +08:00
Vincent Koc
925bea1fd0
chore: leave accessibility notes to release prep
2026-07-30 02:20:37 +08:00
Vincent Koc
e677b8cbc8
fix(ui): type terminal shadow focus checks
2026-07-30 02:19:21 +08:00
Peter Steinberger
97d374b357
refactor(agents): remove retired Codex CLI parser ( #116017 )
2026-07-29 14:14:41 -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
Vincent Koc
1294df882a
fix(ui): make terminal session picker keyboard accessible
2026-07-30 02:06:44 +08: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
Vincent Koc
fa570d8ed3
test(plugins): include dreaming sidecar in startup expectation ( #116018 )
...
(cherry picked from commit cbb3c420db )
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-30 01:52:25 +08:00