Vincent Koc
3002be76e4
docs: add custom spellcheck dictionary and fix docs typos ( #22457 )
...
* docs: fix typos and add docs spellcheck workflow
* docs: add changelog entry for docs spellcheck updates
* docs: fix FAQ TOC fragment links for markdownlint
* docs: fix TOC nesting and spellcheck dictionary flags
2026-02-21 01:35:35 -05:00
Vincent Koc
3b8d7b2e42
deps: remove dead root dependency ( #22471 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
* Deps: remove dead root dependency from package manifest
* Changelog: reference PR for deadcode dependency cleanup
* Deps: remove unused root signal-utils
2026-02-21 01:33:45 -05:00
Vincent Koc
d3bb924709
chore(deadcode): add deadcode scanning and remove unused lockfile deps ( #22468 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
2026-02-21 01:29:20 -05:00
Vincent Koc
e7eba01efc
Security: disable sandbox container --no-sandbox by default ( #22451 )
2026-02-21 01:23:49 -05:00
Vincent Koc
0fe8f07e0e
Docs: add changelog entry for PR #19009 ( #22464 )
2026-02-21 01:17:22 -05:00
Vincent Koc
07039dc089
Gateway: harden trusted proxy X-Forwarded-For parsing ( #22429 )
2026-02-20 23:59:20 -05:00
Vincent Koc
35be87b09b
fix(tui): strip inbound metadata blocks from user messages (clean rewrite) ( #22345 )
...
* fix(tui): strip inbound metadata blocks from user text
* chore: clean up metadata-strip format and changelog credit
* chore: format tui metadata-strip tests
* test: align metadata-strip regression expectations
* refactor: reuse canonical inbound metadata stripper
* test: allow tmp media fixture paths in media-understanding tests
* refactor: reuse canonical inbound metadata stripper
* format: fix changelog blank line after headings
* test: fix unrelated check typing regressions
* test: align memory async mock embedding signatures
* test: avoid tsgo mock typing pitfall
* test: restore async search mock typings in merge tree
* test: trigger ci rerun without behavior change
* chore: dedupe todays changelog entries
* fix: dedupe sqlite mock keys in qmd manager test
* Update qmd-manager.test.ts
* test: align chat metadata sanitization expectation
2026-02-20 23:52:43 -05:00
Vignesh Natarajan
cd6bbe8cea
Session: enforce startup sequence on bare reset greeting
2026-02-20 20:38:56 -08:00
Tak Hoffman
7417c36268
fix(cron): honor maxConcurrentRuns in timer loop (openclaw#22413) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini (failed on unrelated baseline test: src/memory/qmd-manager.test.ts > throws when sqlite index is busy)
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 22:31:58 -06:00
Vignesh Natarajan
93c2f20a23
Memory: surface explicit memory_search unavailable status
2026-02-20 20:30:52 -08:00
Vignesh Natarajan
1cc2263578
TUI: bound chat-log growth to prevent render overflows
2026-02-20 20:27:58 -08:00
Vignesh Natarajan
2227840989
Gateway/TUI: filter heartbeat ACK noise in chat events
2026-02-20 20:23:28 -08:00
Vignesh Natarajan
d583399c92
Hooks: persist session memory on /reset
2026-02-20 20:19:29 -08:00
Vignesh Natarajan
544c213d42
Memory/QMD: diversify mixed-source search results
2026-02-20 20:13:24 -08:00
Vignesh Natarajan
d7a7ebb75a
TUI: dedupe duplicate backspace events in input
2026-02-20 20:10:22 -08:00
Vignesh Natarajan
18b4b47708
TUI: guide pairing-required recovery in disconnect state
2026-02-20 20:04:19 -08:00
Vignesh Natarajan
c0d5fc8d1e
CLI: default pairing channel for pairing commands
2026-02-20 19:59:54 -08:00
Vignesh Natarajan
be756b9a89
Memory: fix async sync close race
2026-02-20 19:55:11 -08:00
Ayaan Zaidi
2649e9e044
fix: preselect Telegram-supported status reaction variants ( #22380 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 018fcd6e2e
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 09:20:20 +05:30
Vignesh Natarajan
a305dfe626
Memory/QMD: harden multi-collection search and embed scheduling
2026-02-20 19:41:51 -08:00
Glucksberg
1410d15c5e
fix: compaction safeguard extension not loading in production builds (openclaw#22349) thanks @Glucksberg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini (local run had unrelated baseline failures; Tak approved proceed)
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 21:21:09 -06:00
Shadow
e2dbd45418
fix: add configurable ephemeral defaults for Discord slash commands ( #16563 ) (thanks @wei)
2026-02-20 21:19:21 -06:00
Shadow
b294342d7f
feat(discord): support forum tag edits via channel-edit ( #12070 ) (thanks @xiaoyaner0201)
2026-02-20 21:17:04 -06:00
Shadow
b7644d61a2
fix: restore Discord model picker UX ( #21458 ) (thanks @pejmanjohn)
2026-02-20 21:04:04 -06: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: 0baca5ccc1
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
Vincent Koc
d94d21f9b0
test: isolate local media regression fixtures to allowed roots ( #22369 )
...
* fix(tui): strip inbound metadata blocks from user text
* chore: clean up metadata-strip format and changelog credit
* chore: format tui metadata-strip tests
* test(web): isolate local media fixture paths to allow-listed roots
2026-02-20 21:50:50 -05:00
Vincent Koc
9a6b26d427
fix(ui): strip inbound metadata blocks and guard reply-tag streaming (clean rewrite) ( #22346 )
...
* fix(ui): strip inbound metadata blocks from user messages
* chore: clean up metadata-strip format and changelog credit
* Update src/shared/chat-envelope.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-20 21:41:32 -05:00
Taras Lukavyi
0e068194ad
fix(tool-display): cd ~/dir && npm install shows as run cd — compound commands truncated to first stage ( #21925 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 4728bfe8e7
Co-authored-by: Lukavyi <1013690+Lukavyi@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-21 08:03:32 +05:30
Shadow
866b33e0d3
fix: lazy-load Discord allowlist guilds ( #20208 ) (thanks @zhangjunmengyang)
2026-02-20 20:26:46 -06:00
Harold Hunt
844d84a7f5
Issue 17774 - Usage - Local - Show data from midnight to midnight of selected dates for browser time zone (AI assisted) (openclaw#19357) thanks @huntharo
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini (override approved by Tak for this run; local baseline failures outside PR scope)
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 20:09:03 -06:00
Harold Hunt
02ac5b59d1
Skills: add SonosCLI troubleshooting guidance (openclaw#21316) thanks @huntharo
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 19:52:42 -06:00
jackheuberger
feccac6723
fix: sanitize thinking blocks for GitHub Copilot Claude models (openclaw#19459) thanks @jackheuberger
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: jackheuberger <12731288+jackheuberger@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 19:48:09 -06:00
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
Tyler Yust
fe57bea088
Subagents: restore announce chain + fix nested retry/drop regressions ( #22223 )
...
* Subagents: restore announce flow and fix nested delivery retries
* fix: prep subagent announce + docs alignment (#22223 ) (thanks @tyler6204)
2026-02-20 15:39:09 -08:00
Shadow
086af56867
Discord: keep DM component sessions
2026-02-20 17:37:44 -06:00
Harold Hunt
0f1b2ad962
chore: Reduce app-specific docker image size by ~50% / ~900 MB (AI assisted) ( #22019 )
...
* chore: Reduce docker image size by 50%
* Changelog: note Docker build ownership
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-20 17:32:48 -06:00
Shadow
3e1ed0032d
Docs: add Discord forum thread docs
2026-02-20 17:20:24 -06:00
Shadow
68fd8ed866
clankers are dumb
2026-02-20 16:51:12 -06:00
Shadow
1eec2aee4f
Discord: ingest inbound stickers
2026-02-20 16:47:47 -06:00
Shadow
64c29c3755
Discord: avoid reply spam on chunked sends
2026-02-20 16:37:28 -06:00
Shadow
4ab946eebf
Discord VC: voice channels, transcription, and TTS ( #18774 )
2026-02-20 16:06:07 -06:00
Shadow
3100b77f12
Agents: clarify authorized sender prompt ( Closes #19794 )
2026-02-20 15:55:36 -06:00
Shadow
30a0d3fce1
Status reactions: fix stall timers and gating ( #22190 )
...
* feat: add shared status reaction controller
* feat: add statusReactions config schema
* feat: wire status reactions for Discord and Telegram
* fix: restore original 10s/30s stall defaults for Discord compatibility
* Status reactions: fix stall timers and gating
* Format status reaction imports
---------
Co-authored-by: Matt <mateus.carniatto@gmail.com >
2026-02-20 15:27:42 -06:00
Shadow
c378439246
Security: harden tool media paths
2026-02-20 13:32:49 -06:00
Mariano
67edc7790f
iOS: gate capabilities by permissions and add settings controls ( #22135 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 92c2660d08
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-20 19:26:30 +00:00
Shadow
39816e61b0
Security: restrict canvas jsonlPath file reads
2026-02-20 13:21:55 -06:00
Shadow
0692927ccd
Changelog: note canvas auth hardening
2026-02-20 13:11:55 -06:00
Mariano
f52476f18c
iOS Watch: bridge mirrored notification actions into quick replies ( #22123 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 401fbe8a7a
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-20 19:04:58 +00:00