Peter Steinberger
f7cbe9e5da
fix(slack): preserve partial reply delivery ( #127130 )
2026-08-21 02:32:05 -07:00
Peter Steinberger
9c3335a1a4
fix(qa): restore failed-tool recovery scenarios ( #126971 )
...
* fix(qa): sync cron failed-tool honesty fixture
* fix(qa): sync channel failed-tool honesty fixture
Amp-Thread-ID: https://ampcode.com/threads/T-01a02218-492f-73b8-8514-ef342917e129
* test(qa): sync OTEL failed-tool assertion
---------
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-08-21 02:20:53 -07:00
Peter Steinberger
782a7d7aed
refactor(discord): remove obsolete action runtime wrapper ( #127123 )
2026-08-21 02:07:48 -07:00
Peter Steinberger
d17bbfc31a
feat(nodes): expose plugin duplex channels ( #126961 )
...
* feat(nodes): expose plugin duplex channels
* fix(nodes): enforce duplex declarations
2026-08-21 01:52:06 -07:00
Peter Steinberger
5edc2a7f21
fix(twitch): retire client managers before disconnect ( #127103 )
2026-08-21 01:33:26 -07:00
Peter Steinberger
f28bb5e79d
refactor(telegram): remove obsolete progress summary collapse ( #127089 )
2026-08-21 01:19:49 -07:00
Peter Steinberger
fd3a919063
fix(media): clean failed temporary staging ( #127092 )
2026-08-21 01:02:27 -07:00
Shakker
69fa1a8eab
fix(codex): preserve steering transcript order
2026-08-21 07:45:40 +01:00
Peter Steinberger
5570c5ffac
fix(file-transfer): expose directory page tokens ( #127051 )
2026-08-20 23:28:31 -07:00
Peter Steinberger
f1723c757b
fix(telegram): preserve direct-topic self-history ( #127050 )
2026-08-20 23:18:05 -07:00
Peter Steinberger
6f52e9fc2f
fix(telegram): preserve direct-message topics in config and cron writeback ( #127010 )
...
* fix(telegram): preserve direct message topics in target writeback
* test(ui): consolidate cron scheduler status coverage
2026-08-20 22:27:10 -07:00
Peter Steinberger
4ba2c46cc4
fix(qa): own container first-run onboarding journey ( #126981 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-20 21:47:44 -07:00
Peter Steinberger
514d148519
fix(qa): reject skipped-only confidence lanes ( #126975 )
2026-08-20 21:01:38 -07:00
Dallin Romney
d0091b001c
fix(browser): isolate startup upload cleanup runtime ( #126136 )
...
* fix(browser): keep node-host cleanup lazy
* fix(browser): isolate upload cleanup runtime
2026-08-20 20:52:41 -07:00
Dallin Romney
5e00a07db8
fix(qa): stop lifecycle CI failing on reused PGIDs ( #123161 )
...
* test(qa): avoid reused PGID lifecycle assertion
* test(qa): drop reused PID cleanup fallback
2026-08-20 20:31:39 -07:00
Dallin Romney
45db176a64
test(openai): drop upstream realtime outcome assumption ( #126025 )
2026-08-20 20:09:32 -07:00
Vito Cappello
6d7bc062e3
fix(session-catalog): hide OpenClaw-managed provider sessions ( #125424 )
...
* fix(session-catalog): hide OpenClaw-managed upstream sessions
* fix(codex): filter managed paired-node sessions
* fix(codex): classify legacy managed sessions
* fix(session-catalog): classify managed provider sessions
* fix(session-catalog): backfill inter-session ownership
* fix(session-catalog): classify Claude internal prompts
* fix(session-catalog): retain durable provenance
* fix(codex): keep rollout home derivation private
* fix(anthropic): declare catalog schema dependency
* fix(anthropic): avoid catalog schema dependency
* fix(session-catalog): scope managed ownership to Codex
* fix(codex): contain catalog provenance reads
* fix(codex): bind managed threads to catalog home
---------
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Josh Lehman <550978+jalehman@users.noreply.github.com >
2026-08-20 19:51:55 -07:00
Peter Steinberger
94f042ba86
fix(nostr): retain SecretRef-backed accounts ( #126934 )
2026-08-20 19:14:08 -07:00
Peter Steinberger
07c8b42a71
fix(channels): preserve delivery after preview cleanup ( #126922 )
2026-08-20 18:18:25 -07:00
Peter Steinberger
319df0e7a1
test: trim plugin test duplicates ( #126917 )
2026-08-20 18:07:27 -07:00
Peter Steinberger
7e87d77261
fix(auth): report the database that actually holds an agent's profiles ( #126918 )
...
`openclaw models auth list` printed `Auth state store:
<state>/agents/main/agent/openclaw-agent.sqlite` on every install created since
a8a9f284fb , and that file does not exist. Credentials now persist in the shared
state database, so an operator debugging auth was sent to the wrong file while
the listed profiles resolved correctly from somewhere else.
`resolveAuthStorePathForDisplay` and `resolveAuthStatePathForDisplay` named the
agent-local file whenever an agent dir was supplied. That matched storage before
shared-auth ownership moved and stopped matching afterwards. The same helpers
feed `models auth order`, `models list --status`, the auth overview, two
auto-reply directive surfaces, and the `path` field of doctor's auth
HealthFindings, so structured diagnostics pointed at the wrong file too.
Display now mirrors the loader's own selection: an agent with a local auth store
shows its own database, otherwise the shared owner. Both helpers move to the
`paths.ts` barrel so they can consult `hasLocalAuthProfileStoreSource` without a
cycle back through `path-resolve`. Nothing about storage or loading changes.
`model-auth-provider` no longer derives the agent dir from the store path -- that
would have reported the state directory once the shared owner is selected -- and
uses the caller's agent dir instead.
Production -4 LOC.
2026-08-20 18:05:50 -07:00
Josh Avant
a042125170
fix(memory): preserve provenance across dreaming ( #126489 )
...
* fix(memory): preserve provenance across dreaming
* fix(build): preserve bundled hook metadata
* refactor(build): remove obsolete directory helper
* test(memory): align provenance fixtures
* test(memory): type consolidation run options
* test(memory): register write provenance siblings
* fix(memory): preserve legacy provenance registration
* fix(memory): make provenance provider-independent
* fix(memory): canonicalize provenance workspace keys
* fix(memory): keep provenance mutation host-private
* fix(build): track runtime postbuild implementations
* fix(build): verify bundled hook metadata outputs
2026-08-20 17:58:31 -07:00
Peter Steinberger
500fd2cac9
refactor(codex): separate exec session transport ( #126859 )
2026-08-20 17:10:26 -07:00
Peter Steinberger
a0786cf741
perf(matrix): replace lease drain test waits with fake timers ( #126885 )
2026-08-20 17:01:23 -07:00
Vincent Koc
fa71a6f27b
fix(qa): isolate packaged mock auth bootstrap ( #126247 )
...
* fix(qa): isolate packaged mock auth config
Punchcard-Session: frost-orchard-lantern-ze
(cherry picked from commit 648bd40a4f )
* fix(qa): scrub inherited shell startup env
* fix(qa): block exported Bash functions
2026-08-21 06:51:34 +08:00
Conan-Scott
7c959c85f9
fix(openai): preserve OAuth realtime session policy ( #126363 )
...
Co-authored-by: Clawdbot <clawdbot@apilab.us >
2026-08-20 15:17:03 -07:00
Peter Steinberger
6c9aae7cee
fix(firecrawl): prevent canceled requests from caching late results ( #126857 )
2026-08-20 15:09:38 -07:00
Sarah Fortune
67bcea131e
feat(slack): add compact commentary progress ( #126480 )
...
* feat(slack): add compact progress style
* chore(slack): protect compact progress contract
* chore(slack): clarify compact progress comment
* chore(slack): document compact task card behavior
* chore(slack): document compact draft card behavior
* chore(slack): document compact progress config contract
* fix(slack): enforce compact commentary-only progress
* chore(slack): strengthen compact style guard
* fix(slack): type compact progress config
* fix(slack): scope compact plan suppression
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-20 15:02:33 -07:00
Ben Badejo
784a228781
fix(matrix): recover after late leases drain ( #126712 )
...
Co-authored-by: Benjamin Badejo <ben@benbadejo.com >
2026-08-20 14:44:29 -07:00
Peter Steinberger
1362490b80
refactor(sandbox): canonicalize backend ownership ( #126828 )
2026-08-20 13:52:15 -07:00
Peter Steinberger
a4178c7eb1
fix(discord): demote expected command truncation logs ( #126824 )
2026-08-20 13:26:44 -07:00
Peter Steinberger
af858dff8e
fix(clickclack): clarify command menu permission errors ( #126802 )
2026-08-20 12:29:38 -07:00
Peter Steinberger
4249df34b4
improve(code-mode): call tools as global functions ( #126262 )
...
* feat(code-mode): expose tools as global functions
* fix(code-mode): harden callable tool composition
* fix(code-mode): reserve private guest globals
* fix(cron): migrate legacy code-mode triggers
* fix(code-mode): align final tool result contracts
2026-08-20 12:18:23 -07:00
Vincent Koc
15f33d9edc
fix(qa): preserve Codex auth identity across restarts ( #126777 )
2026-08-21 03:16:22 +08:00
Peter Steinberger
c0775c7f6d
fix(search): preserve provider cache hits across equivalent queries ( #126798 )
2026-08-20 12:04:19 -07:00
Peter Steinberger
231405930a
fix(discord): record activity after successful poll and sticker sends ( #126791 )
...
* fix(discord): record activity for structured outbound messages
* chore(discord): shrink structured-send assertion baseline
2026-08-20 11:56:07 -07:00
Peter Steinberger
c6c598c149
fix(qa-lab): normalize direct-message ingress before validation ( #126782 )
2026-08-20 11:37:12 -07:00
Peter Steinberger
ff0113cdb2
fix(perplexity): reject empty grounded search answers ( #126780 )
2026-08-20 11:33:03 -07:00
Peter Steinberger
31fc15b8dd
fix(memory-wiki): prevent oversized wiki content from crowding out model context ( #126779 )
...
* fix(memory-wiki): bound search snippets before model context
* fix(memory-wiki): bound compiled prompt digest context
2026-08-20 11:27:40 -07:00
Peter Steinberger
8efbf7ce00
fix(ui): session hovercards stop replaying unchanged PR status ( #126726 )
...
* perf(ui): avoid replaying unchanged session PR subscriptions
* test: ratchet assertion safety baseline
* test(ui): assert service worker update outcomes
* test(slack): avoid wall-clock rate-limit assertion
2026-08-20 11:11:40 -07:00
Peter Steinberger
82e8855acb
fix(moonshot): fail unfinished native search rounds ( #126765 )
2026-08-20 11:00:26 -07:00
Peter Steinberger
3c5cecee06
refactor: compact recovery ownership and model metadata ( #126751 )
...
* refactor: compact recovery ownership and model metadata
* chore: respect release-owned changelog gate
* test: skip unsupported Windows permission assertions
2026-08-20 10:30:21 -07:00
Peter Steinberger
aafa61be65
fix(discord): preserve message text from every embed ( #126752 )
...
* fix(discord): preserve text from every message embed
* chore(discord): shrink assertion baseline after embed cleanup
2026-08-20 10:28:20 -07:00
Peter Steinberger
ccabd53235
fix(telegram): make common emoji reactions work reliably ( #126739 )
...
* fix(telegram): normalize supported reaction emoji variants
* chore(telegram): prune obsolete assertion safety baseline
2026-08-20 09:57:35 -07:00
Peter Steinberger
58cda469f5
refactor(acp): simplify ownership plumbing ( #126741 )
2026-08-20 09:48:04 -07:00
Dallin Romney
cc38771540
test(nextcloud-talk): isolate error response timing ( #126740 )
2026-08-20 09:39:51 -07:00
Dallin Romney
d9b09a0799
test(nostr): scope private key env fixtures ( #123039 )
2026-08-20 09:36:29 -07:00
Peter Steinberger
7975432eb5
fix(onboard): enable Runway and Alibaba video provider authentication ( #126722 )
...
* fix(onboard): enable Runway and Alibaba video provider authentication
* perf(ui): load image lightbox only when opening images
* perf(ui): defer onboarding memory import outside setup
2026-08-20 09:30:48 -07:00
Vito Cappello
4fdfb8b1bf
fix(ollama): carry real Ollama Cloud context windows and capabilities ( #126653 )
...
* fix(ollama): carry real Ollama Cloud context windows and capabilities
The ollama-cloud catalog still described three models (minimax-m2.7, glm-5.1,
glm-5.2) plus a retired kimi-k2.5. Every other cloud model — including kimi-k3,
the current flagship — was absent, so core synthesized it at the generic
DEFAULT_CONTEXT_TOKENS of 200k. A kimi-k3 session therefore ran with 200,000 of
its real 1,048,576 token window: 80% of the context silently discarded, with no
warning anywhere in the product.
Describe the full current cloud lineup with context windows, input modalities
and reasoning support verified against live /api/show and the ollama.com model
pages. Only mistral-large-3 lacks thinking (vision + tools + cloud only).
Suffixed refs shared the same defect from the other side: the default lookup is
keyed bare, so `kimi-k3:cloud` missed it and fell to the 128k plugin default.
A hardcoded glm-5.2 literal in buildOllamaModelDefinition had been papering over
that for exactly one model; replace it with a lookup through the canonical
cloud-id normalizer, which model-reasoning.ts already owned, and drop the
duplicate spelling of that helper.
* fix(ollama): cover exact cloud catalog variants
* fix(ollama): remove invalid cloud aliases
* fix(ollama): default Ollama Cloud onboarding to minimax-m3
Cloud onboarding derives `defaultModel` from the first entry of
OLLAMA_CLOUD_DEFAULT_MODELS, so array order silently owned the out-of-box
model choice. Put minimax-m3 (524,288 ctx, thinking + tools + vision) at
index 0, add it to the bundled rows it was missing from, and document the
ordering contract at the declaration.
Pin the resolved default id in the cloud setup tests so a reorder cannot
move it unnoticed, and align the provider doc's onboarding default and
fallback row list.
Claude-Session: https://claude.ai/code/session_01QXUQuDVataA5o16kxNnmoX
* fix(ollama): preserve default and shared model contracts
* test(ollama): consolidate cloud setup capability expectations
---------
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-20 08:46:39 -07:00
Peter Steinberger
e50f73d331
fix(onboard): activate media-only provider authentication ( #126711 )
...
* fix(onboard): activate media-only provider authentication
* refactor(onboard): keep media model defaults plugin-private
2026-08-20 08:43:40 -07:00