Peter Steinberger
a0ad31fe8a
fix(sessions): preserve transcript and child ownership ( #116897 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 09:16:13 -07:00
Peter Steinberger
79f3474836
fix(ui): preserve chat stream ownership and accessible rendering ( #116929 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 09:14:07 -07:00
Colin Johnson
e909e56635
fix(ui): prevent new-chat controls overlapping on mobile ( #116607 )
2026-07-31 10:08:50 -04:00
Shakker
2f80f87c32
test: avoid allocation-heavy case setup ( #116837 )
2026-07-31 13:51:59 +01:00
Shakker
25324606c7
test: cover every sharing mutation phase
2026-07-31 13:51:59 +01:00
Shakker
5bb23a6882
chore: format sharing mutation tests
2026-07-31 13:51:59 +01:00
Shakker
1915ca0e8f
test: cover stale sharing mutation completion
2026-07-31 13:51:59 +01:00
Shakker
776304975c
fix: fence sharing mutations to their connection
2026-07-31 13:51:58 +01:00
Peter Steinberger
67943535b1
fix(ui): make plugin and session controls keyboard accessible ( #116820 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:48:44 -07:00
Peter Steinberger
18cd6ee654
fix(ui): own model provider config mutation lifecycle ( #116829 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:20:27 -07:00
Peter Steinberger
28744126fc
fix(ui): restore mobile navigation and accessible usage filters ( #116751 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:01:46 -07:00
Peter Steinberger
9812380f10
fix(ui): coalesce profile identity refresh ( #116764 )
...
* fix(ui): coalesce profile identity refresh
* style(ui): format profile refresh e2e
2026-07-31 05:00:21 -07:00
Peter Steinberger
708c4d68dc
fix(ui): preserve chat attachments and run ownership ( #116752 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:59:06 -07:00
Peter Steinberger
c75e435e30
fix(ui): scope agent cron jobs and surface model catalog failures ( #116771 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:47:31 -07:00
Peter Steinberger
988e1974b0
fix(ui): preserve scoped session state across updates ( #116772 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:43:32 -07:00
Peter Steinberger
95df2dfd6a
fix(ui): preserve Skills credentials and serialize configuration updates ( #116749 )
...
* fix(ui): preserve skill credentials and serialize updates
* refactor(ui): extract skill config mutation ownership
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:26:18 -07:00
Peter Steinberger
b4e10e8a90
fix: preserve markdown formatting around media attachments ( #116786 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:20:39 -07:00
Vincent Koc
22911713e5
Merge pull request #116734 from vincentkoc/fix/talk-pcm-output-budget
...
* commit 'b2b3515e04e9780e7c76a6533c35a6c384ed638e':
fix(ui): reject oversized Talk audio before decoding
fix(ui): cancel overflowing realtime Talk playback
fix(ui): bound realtime Talk PCM playback ownership
2026-07-31 19:11:24 +08:00
Vincent Koc
5b7f514c94
fix(chat): explain chat-only model limits
2026-07-31 18:43:47 +08:00
Vincent Koc
9b736a42c6
feat(models): expose tool support to clients
2026-07-31 18:43:47 +08:00
Vincent Koc
8f1001615c
merge: sync main into Talk playback bounds
...
* commit 'refs/frozen/talk-pcm-output-main': (21 commits)
fix(agents): compact session status change text (#116742 )
fix(llama-cpp): recover plaintext tool calls (#116736 )
fix(telegram): validate native queue arguments before fallback (#116726 )
chore(skills): add autonomous issue sweep workflow
docs(auto-qa): require clean root-cause refactors
fix(ollama): models advertise tools when /api/show fails (#109971 )
fix(ollama): use CJK-aware char estimate for usage fallback (#110073 )
fix(ollama): release failed setup response bodies before returning (#111802 )
feat(plugins): externalize Synthetic provider (#116720 )
fix(agents): unblock channel turns after restart recovery (#116728 )
fix(telegram): keep typing alive during active steered tasks (#116721 )
fix(gateway): admit standalone MCP app work (#116727 )
test(ui): cover the Talk relay start-stop race
fix(ui): close superseded Talk allocations
test(google): cover expired CLI OAuth compatibility
docs(google): document supported auth paths
fix(ui): clarify blocked inference setup
fix(google): guide broken CLI profiles to supported auth
fix(onboarding): hide unsupported Google CLI setup routes
fix(google): retire Gemini CLI OAuth setup
...
2026-07-31 17:55:14 +08:00
Vincent Koc
94c0f33f1f
Merge pull request #116611 from openclaw/experiment/google-cli-supported-paths
...
fix(google): stop offering unsupported CLI setup
2026-07-31 17:48:18 +08:00
Vincent Koc
2838a2a0ea
fix(ui): reject oversized Talk audio before decoding
2026-07-31 17:10:06 +08:00
Vincent Koc
a33ae0b05b
fix(ui): cancel overflowing realtime Talk playback
2026-07-31 17:10:05 +08:00
Vincent Koc
b54e0049c5
fix(ui): bound realtime Talk PCM playback ownership
2026-07-31 17:10:05 +08:00
Vincent Koc
85b4a4a612
test(ui): cover the Talk relay start-stop race
...
Co-authored-by: shaoohh <150606856+shaoohh@users.noreply.github.com >
2026-07-31 16:48:38 +08:00
Vincent Koc
a2679ca314
fix(ui): close superseded Talk allocations
...
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
2026-07-31 16:48:38 +08:00
Vincent Koc
20e68e01df
fix(gateway): sign device proofs with challenge time ( #116679 )
2026-07-31 16:45:53 +08:00
Vincent Koc
091bc7f9ed
Merge remote-tracking branch 'origin/main' into experiment/google-cli-supported-paths
...
* origin/main: (115 commits)
test: type session request parameters (#116713 )
fix: retain event invalidation for pagination
docs: note queued session refresh fix
fix: preserve queued session refresh options
fix(exec): require approval for abbreviated inline eval flags [AI] (#116529 )
fix: keep owner-only tools out of non-owner skill commands [AI] (#116532 )
fix(tui): require a fresh agent roster (#116715 )
fix(memory-wiki): preserve user edits when rolling back ChatGPT imports (#116517 )
fix(agents): cron failures preserve timeout and cancellation reasons (#116566 )
fix(release): unblock beta validation workflows (#116708 )
fix(ci): discover frozen target startup benchmark cases (#116711 )
fix(session): preserve reset message payloads (#116195 )
fix(qa): tolerate loaded-runner bus delivery stalls (#116448 )
improve(ci): rebalance embedded agent test configs (#116436 )
fix(browser): return committed trace path (#116702 )
fix(qa): exceed Slack table aggregate limit in fallback probe (#116447 )
fix(qa): use built plugin tools server (#116442 )
fix(test): keep memory FD repro config valid (#116698 )
fix(telegram): keep queued tool progress in one message (#116685 )
fix(qa): stop waiting on yielded fanout runs (#116440 )
...
# Conflicts:
# src/system-agent/setup-inference-detect.ts
# ui/src/e2e/model-setup.e2e.test.ts
2026-07-31 16:40:33 +08:00
Vincent Koc
0f31254230
Merge pull request #116696 from openclaw/fix/talk-gateway-uplink-bound
...
fix(ui): bound Talk relay microphone uplink
* refs/remotes/origin/pr/116696:
fix(ui): bound Talk relay microphone uplink
2026-07-31 16:31:24 +08:00
Shakker
fcf2e7aadc
test: type session request parameters ( #116713 )
2026-07-31 09:21:05 +01:00
Shakker
75d10f8e4f
fix: retain event invalidation for pagination
2026-07-31 09:21:05 +01:00
Shakker
fe5d591cc3
fix: preserve queued session refresh options
2026-07-31 09:21:04 +01:00
Vincent Koc
a84ede7248
fix(ui): bound Talk relay microphone uplink
2026-07-31 16:09:51 +08:00
Vincent Koc
22e84c6ced
fix(ui): show local provider identity after setup
2026-07-31 12:46:47 +08:00
Vincent Koc
b3ce00b480
refactor(schema): share config validation runtime ( #116622 )
2026-07-31 12:40:48 +08:00
Vincent Koc
9906f810f6
test(ui): remove duplicate avatar route coverage ( #116656 )
2026-07-31 12:02:12 +08:00
Vincent Koc
7bc216394a
fix(ui): preserve mixed schema union values ( #116602 )
2026-07-31 11:15:21 +08:00
Vincent Koc
2bd9329af2
merge: sync origin/main
...
* origin/main:
fix(ai): prevent websocket cache clobber on concurrent acquire (#116216 )
test(ui): settle custodian mobile layout assertions (#116613 )
fix(agents): resume Code Mode through gateway restarts (#116605 )
2026-07-31 09:43:10 +08:00
Vincent Koc
871abad910
test(ui): settle custodian mobile layout assertions ( #116613 )
2026-07-31 09:35:16 +08:00
Vincent Koc
9e965073e5
Merge remote-tracking branch 'origin/main' into experiment/google-cli-supported-paths
...
* origin/main: (168 commits)
fix(plugins): keep registry sqlite root consistent (#116427 )
fix(cli): keep Gateway auth failures parseable in JSON (#116597 )
fix(trajectory): preserve prompts in oversized events (#116220 )
test(buzz): add live QA Lab channel lane (#116298 )
chore(i18n): refresh native locales (#116567 )
feat: add OpenClaw TUI prototype skill (#116583 )
fix(update): accept concrete versions selected by ranges (#116585 )
fix(agents): preserve locked session model routes
test(qa-lab): preserve Matrix fault proxy identity
fix(ci): extend OpenAI live profile setup budget (#116580 )
fix: prevent configured models from stalling startup (#116553 )
fix(cli): close MCP listener after one-shot commands
fix(auto-reply): keep explicit NO_REPLY silent (#116548 )
test(discord): cover deferred backpressure terminals
fix(discord): cancel backpressured realtime playback
test(discord): cover realtime output backpressure
fix(codex): add remote WebSocket heartbeat and reconnect (#116135 )
fix(macos): wait for the current reconnect snapshot (#116550 )
fix(outbound): recognize current-source message-tool sends (#116560 )
fix(voice-call): type cancelled consult outcomes
...
# Conflicts:
# extensions/google/setup-api.test.ts
# ui/src/e2e/model-setup.e2e.test.ts
2026-07-31 09:30:03 +08:00
Vincent Koc
94b85cba5f
feat(setup): improve local model onboarding
2026-07-31 08:53:13 +08:00
Vincent Koc
e96b9d2cd0
improve(ui): verify llama.cpp model setup
2026-07-30 23:41:58 +08:00
Vincent Koc
183db47e97
fix(ui): preserve schema-backed settings edits ( #116282 )
...
* fix(ui): harden schema-backed settings controls
Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com >
* test(ui): match config secret label in Chromium
* chore(ui): remove release-owned changelog entry
* test(agents): mock incremental registry persistence
---------
Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com >
2026-07-30 23:08:53 +08:00
Vincent Koc
ca1328dddb
Merge pull request #116285 from openclaw/fix/control-ui-session-dedupe
...
* origin/fix/control-ui-session-dedupe:
chore: leave release notes to release flow
fix(ui): deduplicate gateway-native session hosts
2026-07-30 22:53:53 +08:00
Vincent Koc
5e5d436579
fix(ui): clarify blocked inference setup
2026-07-30 22:51:30 +08:00
Omar Shahine
5f4471c8d3
feat(ui): finish cron -> Automations rename in visible strings ( #114853 )
...
* feat(ui): finish cron -> Automations rename in visible strings
* fix(ui): strip persisted pre-rename Cron labels before applying the Automation prefix
Codex review finding: gateway rows persist labels as 'Cron: ...' (and keep
writing them until the strings PR lands), so the renamed typed prefix
double-rendered as 'Automation: Cron: ...'. Legacy label prefixes are now
stripped before prefixing; regression tests cover both stored shapes.
* fix(ui): catalog typed-session prefixes and refresh locale catalogs for the rename
Review follow-ups: typed-session prefixes come from the i18n catalog and
display branching uses machine identity (session kind), not translated text;
remaining English feature labels (config group, settings nav, dreaming intro)
renamed; all 20 locale catalogs refreshed through the owner sync (translated,
strict ui:i18n:check green) with a non-English regression protecting the
renamed keys.
* chore(ui): reconcile locale catalogs after rebase onto main locale refresh
* fix(ui): keep locale bundles workflow-owned; pin the rename at the English source
CI isolates generated locale artifacts from source PRs (preflight changed-scope
gate); the post-merge control-ui-locale-refresh workflow owns retranslation.
This PR ships the English source, catalog prefix keys, and machine-identity
display branching; the regression pins the renamed keys at the source of truth.
* fix(ui): move rename catalog test out of workflow-owned locales dir
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-07-30 07:18:19 -07:00
Peter Steinberger
7a9d2c3e72
fix(ui): show the correct Threads page size ( #116349 )
...
* fix(ui): correct sessions page-size controls
* test(ui): defer unrelated memory mock repair
* style(ui): format page-size regression
2026-07-30 04:12:41 -07: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
Peter Steinberger
dbe7140397
fix(ui): restore Workboard routing and full-gate contracts ( #116342 )
...
* fix(ui): restore full-gate routing contracts
* fix(ui): preserve startup route redirects
* fix(ui): import route location type
2026-07-30 03:40:25 -07:00