jesse-merhi
5e84c19c82
fix(zalouser): cancel abandoned setup QR sessions
2026-08-12 08:42:01 +10:00
jesse-merhi
5194c3fafb
fix(zalouser): cancel QR presentation failures promptly
2026-08-12 06:38:24 +10:00
jesse-merhi
efcc1d7f01
fix(zalouser): cancel failed QR login sessions
2026-08-12 06:38:24 +10:00
jesse-merhi
2976958bc3
fix(zalouser): stop login without a QR image
2026-08-12 06:38:23 +10:00
jesse-merhi
7612e7e2e2
fix(zalouser): handle unusable QR login images
2026-08-12 06:38:23 +10:00
Peter Steinberger
e74be5d41d
refactor: eliminate final wrapper-shadowing hazards ( #122157 )
...
* refactor: disambiguate wrapper-shadowed exports
* test: align renamed session and facade boundaries
* test: cover renamed runtime mock exports
* refactor: align remaining wrapper owner call sites
* test: align overlap-rebased runtime mocks
* refactor: preserve public SDK names after overlap rebase
* chore: regenerate wrapper shadowing baselines
* test: align cron model selection mocks
2026-08-11 13:34:24 -07:00
Vyctor H. Brzezowski
7d99f9fd86
fix(ui): keep new-session identity anchored ( #122242 )
2026-08-11 17:30:53 -03:00
Peter Steinberger
01c1ebf803
test(cli): trim duplicate gateway process cases ( #122240 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 13:25:53 -07:00
Peter Steinberger
8f4a90a518
fix(media): decode local file URLs safely ( #122192 )
...
* fix(media): decode local file URLs safely
* refactor(media): remove obsolete helper exports
2026-08-11 13:19:09 -07:00
Vincent Koc
13823c85fb
refactor(agents): centralize typed activity event emission ( #122188 )
2026-08-12 04:16:46 +08:00
Peter Steinberger
627e83d4f7
fix(ui): effort slider matches selected level after model switches ( #122125 )
...
* fix(ui): align effort picker after model switches
Publish ordered per-model effort profiles from the Gateway and reconcile new-session effort overrides so labels, slider positions, and create payloads stay consistent.
* fix(ci): align model profile contracts
2026-08-11 13:14:11 -07:00
Peter Steinberger
32a43960c6
fix(backup): keep large file reads from false-timeout ( #122235 )
...
* fix(backup): track file read progress
* fix(backup): keep progress type internal
2026-08-11 13:09:40 -07:00
Peter Steinberger
a40df57bae
refactor(agent-runner): split run policy ownership ( #122209 )
...
* refactor(agent-runner): split tool-call normalization ownership
* refactor(agent-runner): split incomplete-turn ownership
* test(agent-runner): hide incomplete-turn test helper
* test(ci): route split incomplete-turn tests
* test(ci): enumerate split incomplete-turn tests
* test(vitest): route split incomplete-turn tests to their serial shard
2026-08-11 13:06:29 -07:00
Jason (Json)
09c39e0ec5
fix(scripts): keep bundled channel smoke standalone ( #122212 )
2026-08-11 13:05:46 -07:00
Peter Steinberger
a1846dbebc
feat(ui): session-reset dividers + boundary markers for DB-backed sessions ( #122222 )
...
* feat(ui): show session-reset dividers and fix boundary markers on DB-backed sessions
/reset now leaves a durable 'Session reset' divider at the transcript
boundary in the Control UI. Root-cause fix underneath: the SQLite
transcript projection only selected message events, so compaction (and
now reset) markers never reached clients for DB-backed sessions; marker
synthesis now has one owner (session-transcript-message.ts) consumed by
both storage backends across full/recent/paged/by-id/anchor reads.
Additive __openclaw marker kind 'reset' documented in clients.md.
* fix(gateway): keep history readers out of the plugin SDK barrel and fix CI gates
Direct imports for the sqlite history readers (the session-accessor barrel
is SDK-reachable via session-transcript-lock-runtime); reset marker added
to the kept-tail chat.history expectation; lint naming fixes; marker tests
split into session-transcript-readers.markers.test.ts.
2026-08-11 12:59:11 -07:00
Peter Steinberger
7eed2c3f21
feat(google): add current-turn native video input ( #122074 )
...
* feat(agents): add current-turn Gemini video handoff
* test(google): add live native video regression
* build(ai): emit provider types entrypoint
* fix(google): preserve video shedding on retry
2026-08-11 12:58:32 -07:00
Vincent Koc
01cd9cc2a8
test(browser): isolate shared fixture state ( #122216 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-12 03:57:39 +08:00
Peter Steinberger
69b08c4460
test(cli): trim duplicate cold-command process cases ( #122236 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 12:57:35 -07:00
Vyctor H. Brzezowski
6c485842b1
fix(ui): calm composer focus treatment ( #122232 )
2026-08-11 16:53:30 -03:00
Peter Steinberger
7a1d5a86c7
test(cli): replace redundant ACP process cases ( #122229 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 12:40:03 -07:00
Peter Steinberger
73ae583263
refactor(tasks): simplify subagent activity tracking ( #122198 )
...
* refactor(tasks): simplify subagent activity tracking
* fix(android): single-source subagent activity expiry clock
* chore(i18n): refresh native source baseline
2026-08-11 12:30:49 -07:00
Peter Steinberger
8c567306ba
fix(openai): remove duplicate GPT-5.6 picker entry ( #122178 )
...
* fix(openai): remove duplicate GPT-5.6 picker entry
* test(gateway): split OpenAI model picker coverage
* test(openai): align canonical model fixtures
* chore(plugin-sdk): refresh agent harness API baseline
2026-08-11 12:29:36 -07:00
Vyctor H. Brzezowski
a1a1c791fc
improve(ui): blend chat header into transcript ( #122220 )
2026-08-11 16:28:22 -03:00
Vincent Koc
e8885eefcd
fix(update): migrate plugin config before final validation ( #122199 )
...
Stage transitional plugin install-record writes without plugin-schema validation, then require fresh doctor and strict validation for every aggregate plugin change.
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-12 03:16:22 +08:00
Ayaan Zaidi
746a188c90
refactor(media): collapse attachment byte classification into media-core ( #122168 )
...
Attachment MIME gating and extraction dispatch used nine separate byte policies across five files; the allowlist could approve one MIME while dispatch observed another after a second sniff. @openclaw/media-core/attachment-classify now owns byte sniffing, text heuristics, extension mapping, and the seven attachment classes; the cache stores one classification that gates and dispatch share. Channel-declared MIME leads with the transport Content-Type as a byte-arbitrated hint, normalizeMimeType folds YAML/XML synonyms so existing configured allowlists keep matching, and input_file API callers keep declared-MIME precedence over cosmetic filenames. Net -135 production LOC.
Proof: 2,153 focused tests across media-core/media-understanding/media plus boundary-contract and deadcode-mirror suites; ClawSweeper local review clean (round 5, zero findings); live Telegram default-turn probe green.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-11 19:10:49 +00:00
Peter Steinberger
2e6c693177
fix(backup): prevent false archive stalls during active traversal ( #122213 )
...
* fix(backup): track archive producer progress
* chore(backup): leave release notes to release flow
2026-08-11 12:08:37 -07:00
Peter Steinberger
b955a7b989
test(cli): remove duplicate update dry-run process cases ( #122218 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 12:07:43 -07:00
Alix-007
d76f71cee7
fix(auto-reply): omit heartbeat inbound metadata ( #122075 )
...
* fix(auto-reply): omit heartbeat inbound metadata
Prevent synthetic heartbeat routes from appearing as user-role Conversation info while preserving delivery routing. Fixes #97067 . Reported by @xxtyyq.
* test(auto-reply): use complete heartbeat model state
* test(qa): prove heartbeat metadata boundary
* test(auto-reply): deduplicate heartbeat metadata coverage
Co-authored-by: Alix-007 <li.long15@xydigit.com >
Punchcard-Session: frost-cedar-harbor-2n
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-12 03:02:22 +08:00
Peter Steinberger
79701dfc84
fix: speed up streamed assistant output ( #122206 )
...
* fix: speed up streamed assistant output
* fix: preserve plan stream invalidation
2026-08-11 12:01:14 -07:00
Vincent Koc
7fe75acb5f
fix(compaction): recover overflow from sparse assistant history ( #122159 )
...
Prevent overflow recovery from dereferencing missing assistant usage metadata while preserving explicit unavailable and legacy CLI barriers.
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-12 02:54:01 +08:00
Josh Lehman
2f4dff7428
fix(context-engine): long sessions continue past 20k events ( #122149 )
...
* oc-5b3: canonicalize durable commitTurn
* oc-deb: remove stale commitTurn test fields
2026-08-11 11:53:11 -07:00
Peter Steinberger
9836148970
test(cli): remove redundant process composites ( #122197 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 11:50:08 -07:00
Peter Steinberger
2d6a5d7356
refactor(gateway): split worker environment service by ownership ( #122138 )
...
* refactor(gateway): split worker environment service by ownership
* refactor(gateway): derive environment intent at the contract owner
* chore(lint): ratchet max-lines baseline after worker-service split
* style(gateway): prune unused symbols after worker-service split
* refactor(gateway): narrow worker-service seam exports
* chore(plugin-sdk): refresh API baseline
2026-08-11 11:48:28 -07:00
Peter Steinberger
5179e12352
fix(macos): deliver provisional notifications ( #122179 )
...
* fix(macos): accept provisional notifications
* fix(macos): return notification permission labels
* fix(macos): preserve notification inventory
2026-08-11 11:42:06 -07:00
Peter Steinberger
cfd6807915
improve: remove redundant slow heartbeat admission test ( #122095 )
...
* test(infra): remove redundant heartbeat admission composite
* test(agents): format OAuth issuer cases
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 11:40:26 -07:00
Peter Steinberger
0771787da2
fix(state): repair mis-stamped v17 agent databases ( #122171 )
...
* fix(state): repair mis-stamped v17 agent databases
* refactor(state): keep lease repair helpers internal
2026-08-11 11:34:46 -07:00
Kevin Lin
2d0c30fd65
fix(slack): keep previously joined threads active beyond 24 hours ( #121708 )
...
* fix(slack): keep participated threads active beyond 24 hours
* fix(plugin-state): reject transient TTLs after durable migration
* fix(slack): keep channel entrypoint on narrow plugin API
* chore(sdk): refresh sharded durable-state API baselines
* fix(slack): preserve existing thread expiration without migration
* fix(slack): preserve hydrated legacy thread expiration
---------
Co-authored-by: kevinlin-openai <kevinlin@openai.com >
2026-08-11 11:31:07 -07:00
Vincent Koc
bd6ff17d4d
refactor(mcp): centralize requester runtime materialization ( #122151 )
2026-08-12 02:30:53 +08:00
Peter Steinberger
508265cb4f
docs: add operator backups guide covering archives, snapshots, scheduling, and continuous replication ( #122196 )
2026-08-11 11:29:02 -07:00
Peter Steinberger
4f6a6d9819
fix(cron): record stream failures before alerts ( #122187 )
...
Ensure exhausted stream-source restarts finalize durable cron run history before the existing generic failure alert is delivered.
2026-08-11 11:27:10 -07:00
tharuntejmeta
a57e8c70f5
feat(meta): add Muse Spark 1.2 models ( #120373 )
...
* feat(meta): add Muse Spark 1.2 models
* fix(meta): verify Muse Spark 1.2 catalog metadata
* fix(meta): verify Muse Spark 1.2 contracts
* docs(meta): quote discounted services terms
* fix(meta): preserve replay fields for simple completions
* test(meta): align stream host adapter types
* fix(meta): apply catalog cap for zero max tokens
* fix(meta): preserve omitted output cap
* fix(meta): scope responses stream wrapper
* fix(ai): preserve source API for stream wrappers
* fix(ai): distinguish hook and dispatch APIs
* test(ai): adapt plugin streams synchronously
* chore(plugin-sdk): refresh API baseline
* chore(plugin-sdk): refresh sharded API baseline
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-08-11 11:26:58 -07:00
Peter Steinberger
d498daa26b
test(core): remove duplicate stream cases ( #122190 )
2026-08-11 11:21:08 -07:00
Peter Steinberger
3d76246792
refactor: eliminate final export name collisions ( #122083 )
...
* refactor: resolve final export name collisions
* refactor: update remaining collision rename consumers
* style: format rebased auth helpers
* test: update remaining session entry mocks
* test: update remaining runtime mock exports
* test: update delivery info path mock
* refactor: reconcile combined collision sweeps
* chore: regenerate collision and sdk baselines
2026-08-11 11:18:24 -07:00
Ayaan Zaidi
d2825c70a5
refactor(telegram): consolidate bot handlers into named modules ( #122174 )
...
The bot-handlers family was 22 files behind a 22-line fan-out: six files holding one callback switch, four holding one inbound pipeline, every interface a derived ReturnType, processMessage taking 8 positional args, and its params type declared inside bot-native-commands.ts. Three named coordinators (inbound pipeline, callback router, event bindings) now sit behind the same registerTelegramHandlers entry with hand-written leaf contracts; the factory graph, 16 slice/barrel files, and the type shim are deleted. Behavior-neutral: bot.test.ts and the ingress e2e byte-identical to main (SHA-256-pinned) and green; +185 production LOC accepted as the written-contract tradeoff.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-11 18:18:16 +00:00
Vincent Koc
5bc7efe746
fix(test): keep CLI process suites in owner lane ( #122160 )
2026-08-12 02:07:51 +08:00
Vyctor H. Brzezowski
2c636dda0c
fix(ui): hide unavailable session changes action ( #122152 )
2026-08-11 15:02:58 -03:00
Peter Steinberger
063ebec5a9
test(cli): stabilize run-main fault injection ( #122173 )
2026-08-11 11:01:59 -07:00
Peter Steinberger
86bc5aa726
test(plugins): remove stale test plumbing ( #122175 )
2026-08-11 11:01:05 -07:00
Vincent Koc
0e52f4c4ce
fix(update): avoid duplicate configured plugin installs ( #122161 )
...
Make updater doctor phases explicit so only post-plugin finalization marks post-core convergence, and strip ambient convergence state from fresh child environments.
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-12 01:56:40 +08:00
WhatsSkiLL
d9766c3d57
fix(wizard): honor remote password auth in probes ( #118134 )
...
* fix(wizard): honor remote password auth in probes
* fix(wizard): preserve remote probe auth policy
* test(wizard): keep remote probe coverage focused
* fix(gateway): preserve remote probe secret refs
* fix(gateway): isolate remote probe credentials
* fix(wizard): authenticate remote health checks
* fix(gateway): unify remote probe auth precedence
* test(gateway): align remote probe auth coverage
* fix(gateway): preserve disabled exec-ref guard
* fix(gateway): block failed remote ref fallback
* test(gateway): follow consolidated probe coverage
* fix(wizard): stop health after unresolved remote auth
* fix(gateway): preserve configured sibling probe auth
* fix(wizard): bind remote health target
* docs(gateway): clarify remote probe auth precedence
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-08-12 00:46:25 +07:00