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
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
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
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
Vincent Koc
bb68389a66
fix(ui): deduplicate gateway-native session hosts
2026-07-30 15:22:37 +08:00
Vincent Koc
69f10e72f2
fix(ollama): retry unreachable setup in place ( #116210 )
2026-07-30 12:23:56 +08:00
Shakker
e7d01b511b
style: format dynamic route coverage ( #116197 )
2026-07-30 04:04:07 +01:00
Shakker
6aae5c184f
test: cover dynamic route startup reconnect
2026-07-30 04:04:07 +01:00
Shakker
e2ae02a0c4
refactor: keep dynamic route identity page-owned
2026-07-30 04:04:07 +01:00
Shakker
5285b28c5e
fix: load dynamic deep links once
2026-07-30 04:04:07 +01:00
Vincent Koc
12e5eb6a23
fix(ui): clarify model setup flows ( #116086 )
2026-07-30 09:47:57 +08:00
Vincent Koc
2d9cf7b6d1
improve(ui): guide optional channel setup after model setup ( #116078 )
2026-07-30 09:08:07 +08:00
Vincent Koc
1065c1d697
fix(ui): identify source builds in settings footer ( #116134 )
...
* fix(ui): identify source builds in settings footer
* fix(release): classify all official Control UI builds
2026-07-30 08:58:34 +08:00
Vincent Koc
e473598c2c
fix(ui): make model setup actionable before selection ( #116079 )
2026-07-30 08:34:43 +08:00
Shakker
68c472f379
refactor: keep update timing constants private
2026-07-30 01:03:51 +01:00
Shakker
899573a8c6
fix: reject stale update reconciliation
2026-07-30 01:03:51 +01:00
Shakker
e2654017d4
refactor: keep update status response private
2026-07-30 01:03:51 +01:00
Shakker
302e394455
fix: bound update status reconciliation
2026-07-30 01:03:51 +01:00
Shakker
f8aa44dcda
fix: preserve uncertain update outcomes
2026-07-30 01:03:51 +01:00
Shakker
8d47c7d274
refactor: keep update reconciliation within size budgets
2026-07-30 01:03:51 +01:00
Shakker
ce8995f716
fix: release update reconciliation on access loss
2026-07-30 01:03:51 +01:00
Shakker
1408dad5d5
test: cover both managed update response orders
2026-07-30 01:03:51 +01:00
Shakker
a69fea5f2d
fix: reconcile ambiguous gateway updates
2026-07-30 01:03:51 +01:00
Peter Steinberger
d60436a4ee
feat(ui): transcode renditions and waveform audio cards ( #116115 )
...
* feat(ui): add chat media renditions and waveforms
* fix(ui): tighten media playback guards
* fix(ui): bound waveform decode memory
* fix(ui): harden media playback retries
* fix(ui): preserve valid media state
* fix(ui): stop detached video playback
* fix(ui): bound media artifact resolution
* fix(ui): reject failed media fallback sources
* refactor(ui): split attachment availability helpers
* fix(ui): unload media across auth resets
* fix(ui): retain the longest-lived media ticket
2026-07-29 16:44:05 -07:00
Vincent Koc
5141a3593c
fix(ui): keep external settings mutations from racing saves ( #116031 )
...
* fix(ui): serialize external config mutations
* test(ui): align plugin E2E refresh ordering
2026-07-30 06:33:49 +08:00
Vincent Koc
925fdb023e
refactor(ui): remove retired time format bootstrap ( #116097 )
2026-07-29 22:23:27 +00:00
Vincent Koc
9eee6181d7
fix(ui): serialize Control UI config writers ( #116029 )
2026-07-30 05:09:23 +08:00
Vincent Koc
b7193cd3fc
fix(ui): recover curated settings state ( #116032 )
2026-07-30 04:29:44 +08:00
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
Shakker
4849ec4982
fix: clear partial Talk startup state ( #116067 )
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