kumarabhirup
6594de6186
Merge Ironclaw changes onto upstream Openclaw 2026.2.22
...
Replays all Ironclaw-specific changes (176 commits) onto the latest
upstream Openclaw release (2026.2.22). Conflicts auto-resolved in
favor of Ironclaw to guarantee zero change loss.
Merge base: cbc3de6c9 (2026-02-16)
Upstream: a37e12eab (upstream/main, 2026.2.22)
Ironclaw: 3009566c9 (origin/main, 2026.2.15-1.9)
Backup: ironclaw-backup-pre-sync
Conflict resolutions:
- 6 GitHub workflow files: deleted (Ironclaw intentionally stripped)
- src/sessions/session-key-utils.test.ts: kept (Ironclaw modified)
- Duplicate imports from merge: deduplicated
- Unused imports from upstream code Ironclaw overrode: removed
- Broken test indentation from merge: fixed
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 18:06:01 -08:00
kumarabhirup
7aadd02313
test: add comprehensive workspace test suite and deploy pre-flight checks
...
- Profile management: discoverProfiles, getEffectiveProfile precedence,
setUIActiveProfile, resolveWebChatDir, workspace registry (32 tests)
- Workspace init API: creation, bootstrap seeding, custom paths,
validation, idempotency (13 tests)
- Profile switch API: GET/POST profiles, validation, default reset (10 tests)
- Chat isolation: profile-scoped chat dirs, session isolation (7 tests)
- LLM context awareness: bootstrap loading, subagent filtering,
resolveBootstrapContextForRun content isolation (15 unit + 5 live)
- Subagent streaming: registerSubagent, event replay, persistence,
ensureRegisteredFromDisk, fan-out (24 unit + 5 live)
- deploy.sh: add --skip-tests flag, pnpm test + web:build pre-flight,
auto git commit/push of version bump after publish
- package.json: add test:workspace and test:workspace:live scripts
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:38:31 -08:00
kumarabhirup
6665bf4a71
refactor: simplify web session management by removing unused functions and adding DELETE and PATCH endpoints
...
- Removed unused functions related to session index management.
- Added DELETE endpoint to remove a web chat session and its associated file.
- Added PATCH endpoint to update session metadata, including renaming sessions.
- Streamlined file writing for new session creation.
2026-02-21 15:17:10 -08:00
kumarabhirup
d88ed44521
Merge remote-tracking branch 'origin/main' into kumareth/workspaces
...
Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts:
# apps/web/app/components/chat-message.tsx
2026-02-21 15:00:45 -08:00
kumarabhirup
c8ae7acbf4
fix: restore remaining merge regressions (SKILL.md, MIME types, showHidden, symlink, activeProfileHint)
2026-02-21 14:39:55 -08:00
kumarabhirup
92fadd6700
fix: filter non-parent events in main NDJSON handler and fix workspace creation path
...
Bug 1: Subagent events from gateway broadcasts were processed as parent
events because the sessionKey filter was accidentally removed during the
subagent decoupling refactor. Re-add the filter in wireChildProcess.
Bug 2: Creating workspaces at custom paths failed because:
- mkdir API rejected absolute paths outside workspace root
- Directory picker started at workspace root, not home
- Error responses from mkdir were silently swallowed
Add absolute path support to mkdir, handle errors in picker UI,
start picker at home dir, and normalize init route paths.
2026-02-21 13:45:11 -08:00
kumarabhirup
109b88b93c
web: restore functional features dropped by design merge
...
Restore backend/logic features that were incorrectly auto-merged from the
design branch:
- Spreadsheet viewer (xlsx, csv, ods, etc.) and xlsx dependency
- HTML iframe viewer with source toggle
- Directory picker modal for workspace creation
- Workspace registry for custom-path workspaces
- Session auto-discovery for orphaned sessions
- Workspace init seeding (CRM objects, DuckDB, templates, bootstrap files)
- Symlink resolution and showHidden in tree/browse routes
- Upload to workspace assets/ instead of hidden ~/.ironclaw/uploads/
- Webpack dev watcher config (next.config.ts)
- router.push for back-button navigation history
2026-02-21 13:10:32 -08:00
kumarabhirup
db4c90b37d
Merge remote-tracking branch 'origin/markrachapoom/design' into kumareth/workspaces
...
Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts:
# apps/web/app/api/chat/subagent-stream/route.ts
# apps/web/app/api/workspace/watch/route.ts
# apps/web/app/components/chat-panel.tsx
# apps/web/app/components/subagent-panel.tsx
# apps/web/lib/subagent-runs.ts
# apps/web/tsconfig.tsbuildinfo
2026-02-21 12:40:07 -08:00
kumarabhirup
536ae59667
web: add interactive messaging UI to subagent panel
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 12:32:59 -08:00
kumarabhirup
7cdcf61639
web: support subagent sessions in chat and stop API routes
2026-02-21 12:32:37 -08:00
kumarabhirup
54d048bfb9
web: merge subagent-stream into unified stream route
2026-02-21 12:32:32 -08:00
kumarabhirup
e267fe7df4
web: export stream parser and add user-message event type
2026-02-21 12:32:27 -08:00
kumarabhirup
f3ae8127da
web: filter leaked NO_REPLY tokens in chat message display
2026-02-21 12:32:10 -08:00
kumarabhirup
a2845a321e
fix: type JSON.parse results to avoid Object.values unknown entries
2026-02-21 11:11:47 -08:00
kumarabhirup
9c3c339f48
fix: prefix unused watcherReady with underscore
2026-02-21 11:04:43 -08:00
kumarabhirup
119dcdc775
web: show 'Waiting for subagents...' status in chat panel
2026-02-21 11:04:37 -08:00
kumarabhirup
149dfb7d50
web: add SSE keepalive and waiting-for-subagents header in stream route
2026-02-21 11:04:32 -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
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
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
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
19f327a48c
web: auto-discover orphaned session files in web-sessions index
2026-02-19 21:51:55 -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
kumarabhirup
21f60da24d
🚀 RELEASE: Workspaces
2026-02-19 14:59:34 -08:00
Kumar Abhirup
bc4b1fd0f2
Merge pull request #3 from ysfbsf/fix/webchat-markdown-images
...
fix: proxy local file paths in webchat markdown images
2026-02-18 15:20:57 -08:00
kumarabhirup
c7842901e2
fix: wire compact ChatPanel ref so workspace sidebar drag-and-drop works in file-scoped chat
2026-02-17 01:34:33 -08:00
kumarabhirup
673c122602
fix: resolve no-shadow lint errors in web app
2026-02-17 00:38:09 -08:00
kumarabhirup
b7baae188c
🚀 RELEASE: full table filter
2026-02-17 00:36:01 -08:00
kumarabhirup
93d734de49
fix: classify non-navigate browser actions as generic to avoid perpetual Loading in fetch groups
2026-02-16 23:10:42 -08:00
kumarabhirup
cd98f0acba
ReportCard: expand report inline instead of navigating away
...
Open button now toggles an expanded view showing all panels in a full
grid layout with animated transitions. Pin button already saves to
workspace /reports. Lazy-loads additional panel data on first expand
and adds a refresh button in expanded mode.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 23:04:28 -08:00
kumarabhirup
7c2e056437
fix: clear loading state before reconnecting to active stream
2026-02-16 22:58:01 -08:00
youssef
92c76dc4ce
fix: route local file paths through raw-file API in webchat markdown images
...
Images in webchat markdown messages (e.g. agent screenshots) fail to
load because the img component passes local filesystem paths directly
as <img src>, which the browser cannot resolve.
The chain-of-thought component already handles this via
resolveMediaUrl(), but the ReactMarkdown img override did not.
Now non-HTTP/data src values are proxied through
/api/workspace/raw-file?path=... so the server can resolve and serve
local files.
2026-02-17 04:36:28 +00:00
kumarabhirup
4965e3ca67
✅ TEST: full frontend web nextjs test suite
2026-02-16 01:01:12 -08:00
kumarabhirup
371035978c
Enhance chat message styling for better text handling
...
- Added `overflow-wrap: anywhere` and `word-break: break-word` to `.chat-prose` for improved text wrapping.
- Updated chat message component styles to include `min-w-0` and `overflow-hidden` for better layout control.
- Ensured consistent text breaking behavior across various message elements.
2026-02-16 00:45:28 -08:00
kumarabhirup
dee323b7ad
fix lint/build errors and bump to 2026.2.15-1.4
...
- Fix all oxlint errors (curly, no-unused-vars, no-base-to-string,
no-floating-promises, approx-constant, restrict-template-expressions)
- Fix TS build errors: rewrite update-cli.ts as thin wrapper over
submodules, restore missing chat abort helpers in chat.ts
- Fix web build: wrap handleNewSession in async for ChatPanelHandle,
add missing safeString helper to entry-detail-modal
- Bump version to 2026.2.15-1.4 and publish
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:30:13 -08:00