2071 Commits

Author SHA1 Message Date
Nimrod Gutman
78caf9ec3d
feat(ios): surface gateway talk defaults and refresh icon assets (#22530)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 54f3a40e223f64a48f22485e919951d7ccd7ac85
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-21 10:34:20 +02:00
Vincent Koc
f4a59eb5d8
Chore: harden A2UI bundle dependency resolution (#22507)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: d84c5bde518a4b2f3d192b0446672afeecf3fa3d
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-21 13:16:31 +05:30
Vincent Koc
55eab106ac
chore: remove root long and rolldown deps (#22481)
* 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

* Chore: remove unused lit context deps

* Chore: remove unused root lit dependency

* Chore: remove root long and rolldown deps

* Chore: add changelog for root long/rolldown removal

* Chore: fix a2ui bundling after root lit dependency removal

* Chore: simplify a2ui bundle script dependencies
2026-02-21 02:05:41 -05: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
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
4ab946eebf
Discord VC: voice channels, transcription, and TTS (#18774) 2026-02-20 16:06:07 -06:00
kumarabhirup
76f06e0eaf
web: scope subagent storage to workspace profile
Subagent event JSONL files and rehydration metadata were stored in the
shared ~/.openclaw/web-chat/ directory regardless of the active workspace
profile, while parent chat sessions were correctly profile-scoped.

Move subagent event persistence into the profile-scoped web-chat dir
(web-chat-<profile>/subagent-events/) and add a profile-local
subagent-index.json for fast rehydration after page refresh. The shared
gateway registry (~/.openclaw/subagents/runs.json) remains the fallback
source. Existing events in the legacy shared path are still readable as
a migration fallback.
2026-02-20 13:37:46 -08:00
Mark
ca8ac9fda1 Revert "Merge kumar workspaces to design branch"
This reverts commit bf4445115b911fa7831e6a35f7d0114154bb58ec, reversing
changes made to face53f2341417e339c02d5d7d4c412b961f87f6.
2026-02-20 12:45:42 -08:00
Mark
bf4445115b Merge kumar workspaces to design branch 2026-02-20 12:04:56 -08:00
Mariano
67edc7790f
iOS: gate capabilities by permissions and add settings controls (#22135)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 92c2660d08619fb73540f4bb48ff581d83311623
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
Mariano
f52476f18c
iOS Watch: bridge mirrored notification actions into quick replies (#22123)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 401fbe8a7a6665fd0b8966c44312099df596cda8
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
Mariano
9476dda9f6
iOS Chat: clean UI noise and format tool outputs (#22122)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 34dd87b0c05cc7249d56e8fc8a2686084f0d7e02
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:01:03 +00:00
Mariano
5828708343
iOS/Gateway: harden pairing resolution and settings-driven capability refresh (#22120)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 55b8a93a999b7458c98f9d3b31abbd3665929b31
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 18:57:04 +00:00
Mariano
fe3215092c
test(ios): cover IPv4-mapped IPv6 loopback in manual TLS policy (#22045)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: ec952f0a80005564adb50dea815a32fb5d2826a4
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 17:23:33 +00:00
Mariano
fd8c6d1f77
iOS: refresh phone/watch app icons with lobster assets (#21997)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: d41caeff388ae14555543d42ca9cbf40582a23f7
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 16:41:41 +00:00
Mariano
738b011624
iOS/watch: add actionable watch approvals and quick replies (#21996)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 3c2a01f903c94207bec4de6865305ce33c3abdb7
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 16:39:13 +00:00
Mariano
774d73b458
fix(macos): reject insecure non-loopback ws remote gateway urls (#21971)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 9e8cdbf0951bf1e3ea7c98ef0c8ac1b5f7b408a9
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 16:34:00 +00:00
Mariano
ebae6f918e
fix(shared): reject insecure non-loopback gateway deep links (#21970)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 279173c7dbd3f0d9c5b4cbf1ef81f18c25d52241
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 16:31:40 +00:00
Mariano
8fa46d709a
fix(ios): force tls for non-loopback manual gateway hosts (#21969)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 9fb39f566eab971e1b3958974305cc0cdfe6ab9a
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 16:28:47 +00:00
Nimrod Gutman
ac0c1c26b1 fix: preserve ios bg refresh plist key and handle web login retry failures 2026-02-20 14:47:20 +02:00
Nimrod Gutman
8775d34fba fix(pairing): simplify pending merge and harden mixed-role onboarding 2026-02-20 14:47:20 +02:00
Nimrod Gutman
1da23be302 fix(pairing): preserve operator scopes for ios onboarding 2026-02-20 14:47:20 +02:00
kumarabhirup
d422c5a540
web: wire up HTML/spreadsheet viewers and use push navigation 2026-02-20 00:43:03 -08:00
kumarabhirup
88d10ab800
web: add spreadsheet viewer with xlsx parsing support 2026-02-20 00:42:58 -08:00
kumarabhirup
436a07c3c8
web: add HTML viewer with rendered preview and code modes 2026-02-20 00:42:49 -08:00
kumarabhirup
8a0520d7bd
web: add symlink support and hidden-files toggle across workspace 2026-02-20 00:42:38 -08:00
kumarabhirup
d86c4fb5b5
web: restrict Next.js dev watcher to prevent EMFILE exhaustion 2026-02-20 00:42:31 -08:00
kumarabhirup
b4502d7bc6
fix: prefix unused watcherReady with underscore 2026-02-20 00:42:22 -08:00
kumarabhirup
d2015fd9d5
web: refactor file watcher to singleton with polling mode 2026-02-20 00:41:48 -08:00
Mark
face53f234 Attachment previews in chat panel, input, and queue. 2026-02-20 00:02:18 -08:00
Mark
6c6289eb2e Collapsible sidebar 2026-02-19 23:15:39 -08:00
Mark
5da7d46a49 Rename chat title 2026-02-19 22:54:23 -08:00
Mark
f960ed3030 Fix file link and add lookLikeFileLink detector and click to preview 2026-02-19 22:50:34 -08:00
kumarabhirup
ca5e27144e
chore: update TypeScript build information for improved type definitions and module resolution 2026-02-19 22:00:40 -08:00
Mark
fcbec6c4d6 Queue items (edit, send now, delete) 2026-02-19 21:58:10 -08:00
kumarabhirup
09f2d82c50
fix: ProfileSwitcher re-fetches profiles after workspace creation so new workspace shows as active 2026-02-19 21:56:37 -08:00
kumarabhirup
ec561894cb
web: activate gateway subscription for rehydrated subagent streams 2026-02-19 21:52:15 -08:00
kumarabhirup
a0cc5834f2
web: persist subagent events to disk and support rehydration after refresh 2026-02-19 21:52:10 -08:00
kumarabhirup
f5c6fa186f
web: auto-create index entries for unindexed sessions in active-runs 2026-02-19 21:52:01 -08:00
kumarabhirup
19f327a48c
web: auto-discover orphaned session files in web-sessions index 2026-02-19 21:51:55 -08:00
kumarabhirup
8271c1ec12
web: add workspace registry for custom profile workspace paths 2026-02-19 21:51:49 -08:00
kumarabhirup
d43d226ee8
workspace: seed all bootstrap files + DuckDB on create, add directory picker 2026-02-19 21:38:36 -08:00
Mark
a0ba55feec Integrate file preview on the side 2026-02-19 17:46:54 -08:00
Mark
4f80c60f88 Unicode + Session delete (API + sidebar + chat header), sidebar loading state and layout, inline “thinking” spinner, chat sidebar CSS variables, and font/heading tweaks in the web app. 2026-02-19 16:50:52 -08:00
Mark
027593b350 Resizable sidebar 2026-02-19 15:42:23 -08:00
Mark
68f09660e9 Fix: thinking UI just messed up with scroll and make the whole chat panel moved. 2026-02-19 15:23:27 -08:00
Peter Steinberger
f66b23de75 chore(release): bump versions to 2026.2.20 2026-02-20 00:02:53 +01:00
kumarabhirup
21f60da24d
🚀 RELEASE: Workspaces 2026-02-19 14:59:34 -08:00
Mariano
e98ccc8e17
iOS/Gateway: stabilize background wake and reconnect behavior (#21226)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 7705a7741e06335197a2015593355a7f4f9170ab
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-19 20:20:28 +00:00
Mariano
a1d5dce7ab
iOS: use dedicated session key for chat sheet (#21139)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 31a27b0c5b27917cae4ec0b8b3fc3f5d8682dd7b
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-19 18:42:56 +00:00