Peter Steinberger
6038480915
feat(ui): browse Gateway and node folders from one root ( #105114 )
...
* feat(ui): browse Gateway and node folders
* chore: keep changelog release-owned
* chore: refresh native i18n inventory
* refactor(macos): isolate node filesystem commands
2026-07-12 09:07:07 +01:00
Peter Steinberger
448b90a594
feat(android): adopt per-device app sessions ( #105115 )
...
* feat(android): adopt per-device app sessions
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
* test(android): assert latest session adoption wins
---------
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
2026-07-12 09:06:45 +01:00
Vincent Koc
4da606ccf1
refactor(line): remove unused rich-menu user helpers ( #105107 )
2026-07-12 16:05:07 +08:00
Peter Steinberger
1a946dba78
test(qa): cover repeated live restart recovery ( #105126 )
2026-07-12 09:03:54 +01:00
Peter Steinberger
1c9a2f6a9d
perf(gateway): skip completed startup migrations ( #105099 )
2026-07-12 09:03:45 +01:00
Vincent Koc
ac69e5008c
fix(ci): avoid stale workflow rate limits ( #105117 )
...
* fix(ci): throttle stale issue locking
* fix(ci): throttle stale issue locking
2026-07-12 16:03:24 +08:00
Peter Steinberger
d325b6c76b
fix: preserve parent abort reasons through timeouts ( #105071 )
2026-07-12 09:02:12 +01:00
Peter Steinberger
b6c171901e
fix(secrets): harden exec provider diagnostics ( #105082 )
2026-07-12 09:01:33 +01:00
Peter Steinberger
be74297a14
fix(docs): preserve Render product name
2026-07-12 03:59:01 -04:00
Peter Steinberger
da4a480089
chore(apps): remove more dead code
2026-07-12 00:58:32 -07:00
Vincent Koc
55679d88c6
test(agents): budget Grok reasoning live probes
2026-07-12 15:55:29 +08:00
Peter Steinberger
89f740651d
fix(browser): normalize geolocation permission origins ( #105092 )
...
Co-authored-by: llagy007 <0668001470@xydigit.com >
2026-07-12 08:54:04 +01:00
Vincent Koc
68f2874126
chore(ui): refresh locales and repair cron lifecycle fixtures ( #105100 )
...
* chore(ui): refresh control ui locales
* test(cron): keep lifecycle fixtures in memory
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 15:53:06 +08:00
Vincent Koc
8f3fe36e28
test(gateway): match current-bound cron probes
2026-07-12 15:52:21 +08:00
Vincent Koc
8ac8754679
fix(ci): read Codex live sessions from sqlite
2026-07-12 15:50:47 +08:00
Peter Steinberger
e77cf7d44e
fix(audit): correlate prefixed outbound conversations ( #104816 )
...
* fix(audit): normalize outbound conversation refs
* chore(audit): leave release notes to release tooling
2026-07-12 08:46:52 +01:00
Vincent Koc
cf33f5aa02
fix(qa): force Codex runtime for Slack approvals
2026-07-12 15:43:58 +08:00
Peter Steinberger
952733d6fa
test(macos): isolate gateway device stores ( #105048 )
2026-07-12 08:42:20 +01:00
Vincent Koc
b0455c9323
test(gateway): assert sqlite trajectory capture
2026-07-12 15:41:35 +08:00
zw-xysk
0b30a3292f
docs(slack): fix channel config examples — use 'enabled' instead of 'allow' to match strict schema ( #103491 )
...
* docs(slack): fix channel config examples — use 'enabled' instead of 'allow' to match strict schema
* docs(slack): align config reference channel toggle
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 08:38:03 +01:00
Peter Steinberger
e4d8a2a55b
fix(android): preserve TLS hostname context ( #105072 )
...
* fix(android): preserve TLS hostname context
Co-authored-by: whisky0809 <32197959+whisky0809@users.noreply.github.com >
* style(android): order TLS test imports
* style(android): group TLS test imports
---------
Co-authored-by: whisky0809 <32197959+whisky0809@users.noreply.github.com >
2026-07-12 08:32:03 +01:00
Kushida
9b057036e3
fix(gateway): keep channels stopped during shutdown and reload ( #104811 )
...
* fix(gateway): stop retired health monitor restarts
* style(gateway): format health monitor regression
* fix(gateway): stop retired monitor account scans
* refactor(gateway): coordinate health monitor handoff
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 08:27:45 +01:00
Peter Steinberger
401ae11b71
fix(codex): preserve native subagent results after parent cleanup ( #102060 )
...
Codex native subagent results now survive parent cleanup, app-server persistence races, resumptions, and transient delivery failures. The monitor treats app-server thread/read and thread/turns/list history as canonical recovery state (works on non-stdio transports), retains the shared physical client only while detached children need monitoring, fences stale reads across lifecycle changes, keeps interrupted children resumable, preserves multi-agent V2 subAgentActivity lineage, and bounds terminal delivery retries with a durable failed state. Removes rollout-file discovery, transcript parsing, periodic whole-client rescans, and the deferred one-shot cleanup path.
Adds an opt-in live E2E lane (OPENCLAW_LIVE_CODEX_NATIVE_SUBAGENT=1) proving detached delivery and history-only recovery against a real app-server with an OpenAI key, restores the registered-child user-spoof regression test, and registers both codex opt-in live files in the release shard optional-env map.
Closes #97593
Related: #93313
2026-07-12 08:27:40 +01:00
llagy007
f5a50db569
fix(microsoft-foundry): reject malformed endpoints ( #104796 )
2026-07-12 08:23:44 +01:00
Vincent Koc
efdce6754d
fix(ci): align scheduled e2e checks with sqlite sessions
2026-07-12 15:22:37 +08:00
Peter Steinberger
ba9a04580b
fix(macos): unblock node transport reconnects ( #105091 )
...
* fix(macos): unblock node transport reconnects
* chore(macos): leave release notes to release flow
2026-07-12 08:17:59 +01:00
Vincent Koc
5839c2e04b
fix(plugins): avoid native ESM fallback races
2026-07-12 15:16:07 +08:00
Vincent Koc
82b07423a0
test(ui): isolate chat settings persistence
2026-07-12 15:11:04 +08:00
Vincent Koc
4d15c47e9f
fix(qa): keep runtime parity lanes reproducible
2026-07-12 15:10:38 +08:00
Vincent Koc
d36d543ed4
fix(qa): recognize typed Slack approval actions
2026-07-12 15:10:38 +08:00
Vincent Koc
b66929152c
fix(ci): retry locale placeholder mismatches
2026-07-12 15:09:23 +08:00
Vincent Koc
87c8bdfc81
test(ui): isolate locale-sensitive custom elements
2026-07-12 15:00:53 +08:00
Vincent Koc
ee17910f2a
fix(cron): persist fast-mode session state ( #105094 )
2026-07-12 14:58:56 +08:00
Peter Steinberger
35abbb7d0f
chore(apps): sync native i18n inventory
2026-07-11 23:57:56 -07:00
Peter Steinberger
bf13c3bb1b
chore(apps): remove dead native code
2026-07-11 23:51:21 -07:00
chengzhichao-xydt
789e7e2e36
fix(security): preserve UTF-16 boundaries in secret mask ( #104800 )
...
Co-authored-by: chengzhichao-xydt <chengzhichao-xydt@users.noreply.github.com >
2026-07-12 07:50:46 +01:00
Galin Iliev
68dcfe633d
fix(msteams): emit native cjs runtime entrypoints ( #102366 )
...
Co-authored-by: Galin Iliev <Galin.Iliev@microsoft.com >
2026-07-11 23:48:05 -07:00
Peter Steinberger
8d39c1baa5
test(ui): expect the Automations tab label on the agents page
...
#104251 renamed agents.tabs.cronJobs to Automations; aligns the stale
expectation that keeps main's checks-ui red.
2026-07-11 23:40:01 -07:00
Peter Steinberger
6921fb4ce7
refactor(ios): trim approval test fixtures ( #105052 )
2026-07-12 07:38:45 +01:00
Peter Steinberger
706377fe1a
style(ui): format app-navigation.ts
2026-07-11 23:24:47 -07:00
destire-mio
f547e2bd85
fix(feishu): drive info finds files past the first page ( #104190 )
...
Co-authored-by: destire-mio <248462155+destire-mio@users.noreply.github.com >
2026-07-12 07:24:06 +01:00
Peter Steinberger
46355cbdcf
fix(android): stop canceled work from surfacing failures ( #105047 )
...
* fix(android): propagate request cancellation
* chore: keep release notes in PR body
2026-07-12 07:22:27 +01:00
Peter Steinberger
ae3008c70a
fix(ios): show unavailable Watch approval state
2026-07-11 23:19:37 -07:00
Vincent Koc
48bda3197b
test(qa): validate debug request cursor
2026-07-12 08:18:34 +02:00
Vincent Koc
bdc9c6070d
fix(qa): add stable mock request cursors
2026-07-12 08:18:34 +02:00
Peter Steinberger
0d84d691e5
test(ui): expect Automations as the default pinned sidebar route
...
#104251 pins cron by default; aligns the expectation added by the
Overview retirement (#104819 ) which asserted an empty default set.
2026-07-12 02:16:01 -04:00
Peter Steinberger
1e0c3e9ee9
build(android): refresh stable dependencies ( #105037 )
2026-07-12 07:13:17 +01:00
moguangyu5-design
0b140c3546
fix(telegram): rewrite allow-always alias for any whitespace separator ( #104942 )
...
* fix(telegram): rewrite allow-always alias for any whitespace separator
* fix(telegram): require absolute approval alias suffix
---------
Co-authored-by: moguangyu5-design <moguangyu5-design@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 07:13:05 +01:00
Peter Steinberger
cfe95266af
feat(ui): redesign cron page as sidebar-first Automations master-detail ( #104251 )
...
Rebuilds the Control UI cron page as a sidebar-first Automations master-detail workspace: a task list pane (All/Active/Paused tabs, search, filter popover, curated emoji suggestion cards, scheduler footer) beside a detail pane that edits the selected task inline (prompt, row-style Details/Frequency groups, collapsible Advanced, per-task run history) and shows all-task recent activity when nothing is selected. Create & run now kicks a new task immediately after creation. The modal editor and quick-create wizard are retired; the automation-ideas catalog from #104761 is ported into the new suggestions list. Nav item renamed to Automations and pinned by default; route (/cron) and cron.* RPC contracts unchanged.
Closes #104217
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-12 07:12:26 +01:00
Peter Steinberger
2a02ab6bbe
refactor(apps): reuse Watch approval transport models ( #105024 )
...
* refactor(apps): reuse watch approval transport models
* fix(ios): satisfy exact identifier lint
2026-07-12 07:08:03 +01:00