Peter Steinberger
dacb3d1aa2
refactor(queue): share drain helpers across announce and reply
2026-02-22 17:54:51 +00:00
zwffff
c543994e90
Default reasoning to on when model has reasoning: true ( fix #22456 ) ( #22513 )
...
* Default reasoning to on when model has reasoning: true (fix #22456 )
What: When a model is configured with reasoning: true in openclaw.json (e.g. OpenRouter x-ai/grok-4.1-fast), the session now defaults reasoningLevel to on if the user has not set it via /reasoning or session store.
Why: Users expected setting reasoning: true on the model to enable reasoning; previously only session/directive reasoningLevel was used and it always defaulted to off, so Think stayed off despite the model config.
* Chore: sync formatted files from main for CI
* Changelog: note zwffff/main OpenRouter fix
* Changelog: fix OpenRouter entry text
* Update msteams.md
* Update msteams.md
* Update msteams.md
---------
Co-authored-by: 曾文锋0668000834 <zeng.wenfeng@xydigit.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-02-22 12:19:36 -05:00
Peter Steinberger
24ea941e28
test: dedupe auto-reply web and signal flows
2026-02-22 17:11:54 +00:00
Peter Steinberger
d116bcfb14
refactor(runtime): consolidate followup, gateway, and provider dedupe paths
2026-02-22 14:08:51 +00:00
Peter Steinberger
adfbbcf1f6
chore: merge origin/main into main
2026-02-22 13:42:52 +00:00
Peter Steinberger
8e29160eaa
test: remove fixed waits from tool-result ordering tests
2026-02-22 12:29:08 +00:00
Peter Steinberger
c343132dbb
fix(agents): harden bash tool and reply directive handling
2026-02-22 11:29:31 +00:00
Peter Steinberger
b77e53da67
refactor(session): centralize transcript path option resolution
2026-02-22 12:02:38 +01:00
Peter Steinberger
6c2e999776
refactor(security): unify secure id paths and guard weak patterns
2026-02-22 10:16:19 +01:00
Peter Steinberger
ae8d4a8eec
fix(security): harden channel token and id generation
2026-02-22 10:16:02 +01:00
Peter Steinberger
aa2b16abe8
test(commands): replace subagent gateway reset with lightweight clear
2026-02-22 09:06:54 +00:00
Peter Steinberger
27bd6f4c54
test(reply): use lightweight clears for runner-level mocks
2026-02-22 09:02:53 +00:00
Peter Steinberger
ee3abb2278
test(reply): merge duplicate runReplyAgent streaming and fallback cases
2026-02-22 08:59:46 +00:00
Peter Steinberger
d625f888a9
test(core): dedupe command gating and trim announce reset overhead
2026-02-22 08:54:11 +00:00
Peter Steinberger
48c0acc26f
test(commands): dedupe subagent status assertions
2026-02-22 08:51:43 +00:00
Peter Steinberger
ccc00d874c
test(core): reduce mock reset overhead in targeted suites
2026-02-22 08:40:29 +00:00
Peter Steinberger
e67f813b0e
test(core): continue reset-to-clear cleanup in subagent focus and web fetch
2026-02-22 08:30:05 +00:00
Peter Steinberger
d06ad6bc55
chore: remove verified dead code paths
2026-02-22 09:21:09 +01:00
Peter Steinberger
991e3184b7
test(reply): replace heavy resets in media and runner helper specs
2026-02-22 08:15:28 +00:00
Peter Steinberger
d6d73d0ed9
test(core): trim redundant test resets and use mockClear
2026-02-22 08:12:55 +00:00
Peter Steinberger
2557945a8d
test(core): use lightweight clears in subagent and browser setup
2026-02-22 08:07:41 +00:00
Peter Steinberger
6e253096ed
test(core): use lightweight clears in command and dispatch setup
2026-02-22 08:06:06 +00:00
Peter Steinberger
9df896e5b9
test(auto-reply): use lightweight clears in agent runner setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
b25b1812e8
test(auto-reply): use lightweight clears in dispatch setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
8acf5ffca7
test(auto-reply): centralize subagent command test reset setup
2026-02-22 08:00:41 +00:00
Peter Steinberger
d069f8b23a
test(subagents): dedupe focus thread setup fixtures
2026-02-22 07:44:57 +00:00
Vignesh Natarajan
aab20e58d7
Sessions: persist prompt-token totals without usage
2026-02-21 23:37:42 -08:00
Peter Steinberger
fad2c0c8a1
test(auto-reply): trim setup resets in block streaming and subagent focus
2026-02-22 07:35:55 +00:00
Peter Steinberger
843a037532
fix(test): repair readonly case table typing
2026-02-22 00:10:07 +01:00
Peter Steinberger
0e39371dc4
test: dedupe command gating coverage tables
2026-02-21 23:02:44 +00:00
Brian Mendonca
c7c047287e
test: fix readonly typing regressions in check baseline
2026-02-21 23:57:34 +01:00
Gustavo Madeira Santana
0e1aa77928
chore(tsgo/format): fix CI errors
2026-02-21 17:51:56 -05:00
Gustavo Madeira Santana
2f46308d5a
refactor(logging): migrate non-agent internal console calls to subsystem logger ( #22964 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b4a5b12422c7a90054dbb7473dd6c4b3e9ca8df5
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-21 17:44:00 -05:00
Peter Steinberger
52ddb6ae18
test: streamline auto-reply and tts suites
2026-02-21 21:44:01 +00:00
Peter Steinberger
c481b22245
test(reply): reuse compaction fixture setup and cover numeric fallback defaults
2026-02-21 21:40:38 +00:00
Peter Steinberger
9fc6c8b713
fix: hide synthetic untrusted metadata in chat history
2026-02-21 19:26:04 +01:00
Onur
8178ea472d
feat: thread-bound subagents on Discord ( #21805 )
...
* docs: thread-bound subagents plan
* docs: add exact thread-bound subagent implementation touchpoints
* Docs: prioritize auto thread-bound subagent flow
* Docs: add ACP harness thread-binding extensions
* Discord: add thread-bound session routing and auto-bind spawn flow
* Subagents: add focus commands and ACP/session binding lifecycle hooks
* Tests: cover thread bindings, focus commands, and ACP unbind hooks
* Docs: add plugin-hook appendix for thread-bound subagents
* Plugins: add subagent lifecycle hook events
* Core: emit subagent lifecycle hooks and decouple Discord bindings
* Discord: handle subagent bind lifecycle via plugin hooks
* Subagents: unify completion finalizer and split registry modules
* Add subagent lifecycle events module
* Hooks: fix subagent ended context key
* Discord: share thread bindings across ESM and Jiti
* Subagents: add persistent sessions_spawn mode for thread-bound sessions
* Subagents: clarify thread intro and persistent completion copy
* test(subagents): stabilize sessions_spawn lifecycle cleanup assertions
* Discord: add thread-bound session TTL with auto-unfocus
* Subagents: fail session spawns when thread bind fails
* Subagents: cover thread session failure cleanup paths
* Session: add thread binding TTL config and /session ttl controls
* Tests: align discord reaction expectations
* Agent: persist sessionFile for keyed subagent sessions
* Discord: normalize imports after conflict resolution
* Sessions: centralize sessionFile resolve/persist helper
* Discord: harden thread-bound subagent session routing
* Rebase: resolve upstream/main conflicts
* Subagents: move thread binding into hooks and split bindings modules
* Docs: add channel-agnostic subagent routing hook plan
* Agents: decouple subagent routing from Discord
* Discord: refactor thread-bound subagent flows
* Subagents: prevent duplicate end hooks and orphaned failed sessions
* Refactor: split subagent command and provider phases
* Subagents: honor hook delivery target overrides
* Discord: add thread binding kill switches and refresh plan doc
* Discord: fix thread bind channel resolution
* Routing: centralize account id normalization
* Discord: clean up thread bindings on startup failures
* Discord: add startup cleanup regression tests
* Docs: add long-term thread-bound subagent architecture
* Docs: split session binding plan and dedupe thread-bound doc
* Subagents: add channel-agnostic session binding routing
* Subagents: stabilize announce completion routing tests
* Subagents: cover multi-bound completion routing
* Subagents: suppress lifecycle hooks on failed thread bind
* tests: fix discord provider mock typing regressions
* docs/protocol: sync slash command aliases and delete param models
* fix: add changelog entry for Discord thread-bound subagents (#21805 ) (thanks @onutc)
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-21 16:14:55 +01:00
Peter Steinberger
3cfb402bda
refactor(test): reuse state-dir helper in agent runner suite
2026-02-21 13:08:05 +00:00
Ayaan Zaidi
8b1fe0d1e2
fix(telegram): split streaming preview per assistant block ( #22613 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 26f35f4411e65cf14587efeedc4e326a71d54ee0
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-21 18:05:23 +05:30
Peter Steinberger
08e020881d
refactor(security): unify command gating and blocked-key guards
2026-02-21 13:04:37 +01:00
Peter Steinberger
fbb79d4013
fix(security): harden runtime command override gating
2026-02-21 12:49:57 +01:00
Peter Steinberger
cb84c537f4
fix: normalize status auth cost handling and models header tests
2026-02-21 12:45:06 +01:00
Vincent Koc
45fff13b1d
TUI: strip only leading inbound metadata ( #22461 )
2026-02-21 01:13:02 -05:00
Vignesh Natarajan
cd6bbe8cea
Session: enforce startup sequence on bare reset greeting
2026-02-20 20:38:56 -08:00
hcoj
5dae5e6ef2
fix(tools): forward senderIsOwner to embedded runner so owner-only tools work ( #22296 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 0baca5ccc11c83727fe3db02b6ef6b11b421e698
Co-authored-by: hcoj <1169805+hcoj@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-21 08:33:58 +05:30
Mars
a4e7e952e1
fix(ui): strip injected inbound metadata from user messages in history ( #22142 )
...
* fix(ui): strip injected inbound metadata from user messages in history
Fixes #21106
Fixes #21109
Fixes #22116
OpenClaw prepends structured metadata blocks ("Conversation info",
"Sender:", reply-context) to user messages before sending them to the
LLM. These blocks are intentionally AI-context-only and must never reach
the chat history that users see.
Root cause:
`buildInboundUserContextPrefix` in `inbound-meta.ts` prepends the
blocks directly to the stored user message content string, so they are
persisted verbatim and later shown in webchat, TUI, and every other
rendering surface.
Fix:
• `src/auto-reply/reply/strip-inbound-meta.ts` — new utility with a
6-sentinel fast-path strip (zero-alloc on miss) + 9-test suite.
• `src/tui/tui-session-actions.ts` — wraps `chatLog.addUser(...)` with
`stripInboundMetadata()` so the TUI never stores the prefix.
• `ui/src/ui/chat/message-normalizer.ts` — strips user-role text content
items during normalisation so webchat renders clean messages.
* fix(ui): strip inbound metadata for user messages in display path
* test: fix discord component send test spread typing
* fix: strip inbound metadata from mac chat history decode
* fix: align Swift metadata stripping parser with TS implementation
* fix: normalize line endings in inbound metadata stripper
* chore: document Swift/TS metadata-sentinel ownership
* chore: update changelog for inbound metadata strip fix
* changelog: credit Mellowambience for 22142
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-02-20 17:35:13 -08:00
Shadow
f555835b09
Channels: add thread-aware model overrides
2026-02-20 19:26:25 -06:00
Shadow
eedea6cf34
Discord: add trusted channel topics on new sessions
2026-02-20 18:22:13 -06:00
Glucksberg
38b4fb5d55
fix(auth/session): preserve override reset behavior and repair oauth profile-id drift (openclaw#18820) thanks @Glucksberg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:16:26 -06:00
Vishal
f1e1cc4ee3
feat: surface cached token counts in /status output (openclaw#21248) thanks @vishaltandale00
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: vishaltandale00 <9222298+vishaltandale00@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:06:13 -06:00