Spaces:
Sleeping
Sleeping
Commit History
-
fix: allow HuggingFace Spaces iframe embedding (cookies, CSP, CSRF)
d1ade07 -
feat: add awaiting_owner task status detection (#428)
nykUnverified signatureAdd awaiting_owner column to task board with keyword-based detection for tasks requiring human action. Tasks matching keywords like "waiting for", "needs human", "approval needed" are automatically placed in a dedicated column with orange styling. Supersedes #3971ec4113 -
feat: add Dunk It button animation with CSS transitions (#427)
nykUnverified signatureAdd a CSS-only Dunk It button to task cards with a 4-phase state machine (idle, success, error, dismissing). Uses inline CSS transitions for animations with no external dependencies. Supersedes #373142b423 -
feat: discover and display per-agent workspace skill roots (#426)
nykUnverified signatureDynamically scan workspace-* directories under the openclaw state dir to discover per-agent skill roots. Display them in the Skills Hub with agent-specific labels and violet badge styling. Closes #412 Supersedes #413aab05eb -
fix: remove CSP nonce from style-src to unblock reagraph canvas (#425)
nykUnverified signatureReplace style-src nonce directive with unsafe-inline to support reagraph's runtime <style> injection. Add style-src-elem and style-src-attr directives for CSP Level 3 compliance. Extend fitNodesInView retries from 2 to 4 for more reliable canvas sizing. Closes #414 Supersedes #415394621e
-
feat: add workspace skill root and root-based filtering to Skills Hub (#408)
nykUnverified signature- Add `workspace` skill root (~/.openclaw/workspace/skills) for workspace-local skill discovery alongside the existing 5 roots - Make group cards clickable to filter the installed skills list by root - Add `workspace` as valid target for skill creation and registry install - Add `showAllRoots` i18n key to all 10 locale files Closes #36428f45a6 -
fix: migrate clawdbot CLI calls to gateway RPC and improve session labels (#407)
nykUnverified signatureReplace all `runClawdbot(['-c', ...])` invocations with `callOpenClawGateway()` RPC calls in session control, spawn, and delete routes. This eliminates the deprecated CLI dependency and uses the structured gateway protocol instead. Also add `formatSessionLabel()` helper and `useAgentSessions()` hook to task-board-panel for better session dropdown display labels. Closes #401, closes #406608b8db -
feat: GNAP sync engine for git-native task persistence (#396)
nykUnverified signatureImplements Phase 1 of GNAP (Git-Native Agent Protocol) integration: - SQLite stays primary, GNAP repo is an optional sync target - Push task create/update/delete to .gnap/tasks/{id}.json with git commits - Status/priority mapping between MC and GNAP formats - Management API at /api/gnap (status, init, manual sync) - GNAP badge in task board header with click-to-sync - 15 unit tests covering mapping, init, push, remove, pull, and status Enable with GNAP_ENABLED=true in .env. Follows the same fire-and-forget pattern as the existing GitHub sync engine. Closes #374 Supersedes #3891f1a802 -
feat: hybrid mode — show gateway + local sessions simultaneously (#392)
nykUnverified signatureAlways merge both gateway and local (Claude Code, Codex, Hermes) sessions in the sessions API instead of gating on `include_local`. The conversation list now renders all sources unconditionally, using each session's `source` field for display logic rather than the global `dashboardMode`. - Add `localSessionsAvailable` store flag, set from capabilities `claudeHome` - Remove `include_local` query param and early-return in sessions API - Remove source-based filter and `dashboardMode` branching in conversation list - Show both gateway and local active/recent groups when data exists85e41f4 -
feat: task assignment session targeting (#399)
HonzysClawdbotUnverified signature* feat: add task session targeting - dispatch tasks to specific agent sessions (#395) When assigning a task to an agent, users can now optionally select an existing session to dispatch the task to instead of creating a new one. Changes: - task-dispatch.ts: When target_session is set in task metadata, use gateway chat.send to dispatch to that specific session instead of creating a new one via call agent - task-board-panel.tsx: Add session selector dropdown in both Create and Edit task modals that appears when an agent is selected and has active sessions - store/index.ts: Add agent and channel fields to Session interface Closes #395 * fix(gateway): ensure gateways table exists before health probe The gateways table is created lazily by the gateways API (ensureTable). The health route was querying it directly without CREATE IF NOT EXISTS, causing SqliteError: no such table: gateways in fresh databases (E2E tests, Docker first-boot). Add ensureGatewaysTable() inline to mirror…66bd6b3
-
fix: remove duplicate task title constraint, improve delete handling and scrolling (#386)
HonzysClawdbotUnverified signature- Remove duplicate title check from POST /api/tasks (closes #368)\n- Scope recurring tasks duplicate check by project_id\n- Fix task deletion error handling — show errors to user (closes #369)\n- Enable vertical scrolling on Kanban board (closes #376)\n- Refactor nodes route to use RPC via callOpenClawGateway\n- Handle read-only filesystem in gateway config registration\n- Add screenshot-drift CI workflow and guide\n- Docker compose: add host-gateway for reaching host gateway6d2b255 -
fix: fetch notifications immediately when recipient changes (#380)
Unverified signatureNotifications were stale until the next poll after switching recipients. Now fetchNotifications() is called immediately on recipient change.6d3847b
-
fix: show all agents in command select, disable those without active session
HonzysClawdbotUnverified signaturePreviously the agent select in the OrchestrationBar only listed agents with a session_key set (agents.filter(a => a.session_key)), causing the dropdown to appear completely empty when agents exist but none have an active session. This was confusing — users thought no agents were registered. Fix: show all registered agents in the dropdown. Agents without an active session_key are shown as disabled with a '— no session' suffix and a tooltip explaining why they can't be messaged. The 'No agents registered' placeholder is shown only when the agents array is truly empty. The send button remains correctly disabled when no valid agent is selected. Fixes #321eaa980c -
fix(ui): improve agent panel empty state with discovery hints (#348)
nykUnverified signatureReplace the unhelpful "POST /api/agents with X-Api-Key header" message with a user-friendly hint explaining that agents are auto-discovered from Claude, Codex, and Hermes directories, and that gateway mode shows registered agents. Adds missing noAgentsHint translation key across all 10 locales. Closes #321df40714 -
fix: cron panel crash on missing schedule + doctor parser false positive (#347)
nykUnverified signature- Filter out cron jobs with missing/empty schedule before processing, preventing TypeError on .toLowerCase() (#342) - Add defensive .localeCompare() guard in sort comparator - Exclude positive/instructional lines ("No ... warnings detected", "Run: ...") from doctor issue extraction (#331) - Strip negated warning phrases before keyword detection so "No channel security warnings detected" doesn't trigger warning level - Add 2 tests for the doctor parser fix0dcf69a -
fix(onboarding): use POST for gateway health check in wizard (#334)
firefloc-nox +1: FireflocUnverified signatureThe test connection button in the onboarding wizard was using GET to call /api/gateways/health, which only exports POST — resulting in a 405 and "Gateway unreachable" shown to the user. Fixes the HTTP method to POST so the health probe works correctly. Co-authored-by: Firefloc <firefloc@MacBook-Pro-de-Firefloc.local>3a61be4 -
feat: full i18n — 1752 keys across 10 languages, all panels translated (#326)
nykUnverified signature* feat: add i18n with 10 languages (en, zh, ja, ko, es, fr, de, pt, ru, ar) Add internationalization infrastructure using next-intl with cookie-based locale detection (NEXT_LOCALE cookie -> Accept-Language header -> default). - Install next-intl and wire into Next.js config + root layout - Create translation files for 10 languages covering auth pages, navigation labels, common UI strings, and settings - Translate login page, setup page, and nav-rail labels - Add LanguageSwitcher component (compact dropdown) to login page, setup page, nav-rail sidebar, and settings panel - Support RTL layout for Arabic (dir="rtl" on html element) - No URL-based locale routing — uses cookie-only approach to avoid breaking existing URLs and the custom proxy middleware Panel internals are left with English strings for incremental translation in follow-up PRs. Based on the approach from PR #312 by richard-able, expanded to 10 languages with proper infrastructure. * test(e2e): add i18n language sw…b180108 -
fix(ui): null-safe trim calls in agent model config (#329)
nykUnverified signature* fix(ui): null-safe trim calls in agent model config (#319) Guard against undefined values in .trim() calls when editing agent model configuration (primary model and fallback array entries). Closes #319 * test: add unit tests for null-safe trim in agent model config Tests verify that undefined/null values in model primary and fallback arrays don't cause trim() TypeError crashes. * test(e2e): add agent model config edge case tests Tests verify PUT /api/agents/:id with valid config, empty fallbacks, empty primary, and whitespace-only fallback entries.db34d19 -
fix(ui): persist doctor banner dismiss with 24h expiry (#328)
nykUnverified signature* fix(ui): persist doctor banner dismiss with 24h expiry (#320) Replace ephemeral useState dismiss with Zustand store + localStorage. Banner stays hidden for 24 hours after dismiss, then resurfaces so users can re-check. Mirrors the existing UpdateBanner pattern. Closes #320 * test: add unit tests for doctor banner dismiss persistence Tests verify localStorage persistence, 24h expiry, page refresh survival, and graceful handling of corrupted values.ce66f43
-
feat(gateways): add health history logging and timeline (#300)
nykUnverified signature058b0d8 -
fix(onboarding): enhance wizard layout and content for improved user experience (#293)
JonatanUnverified signature- Adjusted the onboarding wizard's content area to have a maximum height of 70vh for better responsiveness. - Updated the credentials step to ensure the content area can overflow and scroll, enhancing usability during input.c09f6a1
-
fix: resolve open docker and gateway-optional regressions (#291)
nykUnverified signature6060dbd -
security(csp): remove unsafe-inline with nonce-based CSP (#288)
nykUnverified signature* fix: route coordinator sends to live sessions and parse boxed doctor output * feat: make coordinator routing user-configurable and deployment-agnostic * feat: add coordinator target dropdown in settings * feat(settings): preview live coordinator routing resolution * security(csp): remove unsafe-inline via per-request nonce policy * fix(ui): disable new organization CTA; improve skills registry and panel defaults - disable non-functional New organization button in nav rail - gate Hermes Memory visibility on actual Hermes CLI binary detection - optimize agents task stats API by replacing N+1 with grouped query - make task board render primary data first and hydrate quality-review async - default skills panel registry source to awesome-openclaw - add resilient registry search fallbacks for ClawdHub/skills.sh endpoint variantsa6b2e2f -
fix: dynamic coordinator routing + boxed doctor parsing (#279)
nykUnverified signature* fix: route coordinator sends to live sessions and parse boxed doctor output * feat: make coordinator routing user-configurable and deployment-agnostic * feat: add coordinator target dropdown in settings * feat(settings): preview live coordinator routing resolutioncd054b5 -
feat(refactor): ready for manual QA after main sync (#274)
nyk +1: Claude Opus 4.6Unverified signature* fix: preserve gateway token query in websocket URLs * fix: classify secure-context device identity handshake errors * fix: normalize trailing dot in host allowlist checks * fix: support proxied gateway websocket paths and tailnet host normalization * fix: auto-connect startup to primary configured gateway * fix: keep gateway tokens server-side only * fix: allow authenticated viewers to resolve gateway connect credentials * fix: identify mission control as operator gateway client * fix: redirect remote http sessions to https for gateway auth * fix: support URL-style gateway hosts in health probes * fix: resolve primary gateway credentials from detected openclaw runtime * fix: hide duplicate gateway connection summary when managed * refactor: remove super admin and workspaces panels from UI navigation * fix: treat configured gateways as full-mode capability * refactor: move promo banner copy into subtle footer note * fix: stabilize gateway websocket connect protocol dete…b6ecafa
-
fix(security): enforce server-side actor identity (#224)
nykUnverified signature* fix(security): enforce server-side actor identity * test: align message schema assertion with actor hardening * fix(security): enforce server actor identity in chat and broadcast * feat(auth): add scoped agent API keys with expiry and revocationcec279d -
Merge pull request #229 from builderz-labs/fix/issue-216-agent-comms-sender-ui
nykUnverified signaturefix: simplify agent comms sender UX (closes #216)5388bb8 -
Merge pull request #230 from builderz-labs/fix/issue-214-mention-ui
nykUnverified signaturefix: improve @mention UI placement in task edit/comment flows (closes #214)a8eaa23 -
Merge pull request #227 from builderz-labs/fix/issue-218-documents-nav
nykUnverified signaturefix: add Documents nav + panel (closes #218)5efc487 -
fix: improve mention autocomplete placement in task UI
Nyk232d2a7 -
fix: remove manual sender selection in agent comms
Nykff5a7aa -
fix: add documents navigation and panel
Nyk0ae06ef -
fix(workspaces): unblock pending tenant bootstrap flow
Nyk94350fd -
feat(office): animate day-cycle ambience
Nyk1bc4581 -
feat(office): strengthen day-cycle visual themes
Nyk7833fe2 -
feat(office): add running vs not-running session filters
Nyk5a85dad -
fix(office): hide inactive local sessions by default
Nykf59451c -
merge: sync virtual office branch with main
Nyk75f351a -
fix(gateway): use stored token for websocket connect payload
Nyk395fc60 -
fix(gateway): improve remote websocket URL handling and client-id errors
Nyk7f2d33e -
Merge pull request #200 from builderz-labs/fix/198-auth-ux-redirect
nykUnverified signaturefix(auth): redirect unauthenticated panel requests to logine25fbbc -
fix(auth): redirect unauthenticated panel requests to login
Nyk05f2187 -
Mission Control: Habi readiness wiring + office segmentation (#187)
ResistanceDown +1: Jeremy PhelpsUnverified signature* fix mission control wiring for habi memory/orchestration/retention * feat office org-chart segmentation controls --------- Co-authored-by: Jeremy Phelps <kokoro@Kokoro.local>ecae447 -
fix: prevent Live Feed sidebar from sliding in on page navigation (#181)
Unverified signatureOnly apply the slide-in-right animation when the user actively re-expands the panel, not on initial mount. Also remove dead duplicate files src/live-feed.tsx and src/page.tsx.a288671 -
fix: lock task comment author to authenticated user
Unverified signature- Remove manual Author text input from comment form (security concern) - Use authenticated currentUser.username as comment author automatically - Display 'Posting as <username>' read-only indicator - Add inline documentation explaining comment vs broadcast semantics - Document subscription model: auto-subscribed on create, assign, comment, @mention Fixes #167834f25c -
fix: improve workspace creation discoverability in super admin
Unverified signature- Add prominent '+ Add Workspace' button in the Super Admin header (always visible, next to Refresh) - Replace hidden 'Show Create Client Instance' toggle with a clear 'Create New Workspace' section with close (×) button - Highlight the create form with primary border when open - Improve instructional text for the creation workflow Fixes #1691ccb371 -
fix: restore @mention autocomplete visibility in task modal
Unverified signature- Increase MentionTextarea dropdown z-index to z-[60] so it renders above z-50 modals (was z-20, clipped by overflow-y-auto on modal) - Replace plain textarea in broadcast section with MentionTextarea for consistent @mention support across all text inputs - Add hint text to broadcast placeholder about @mention usage Fixes #1729a6900c -
docs: improve workspace and memory UX guidance
Unverified signatureIssue #146 — How to add workspace: - Add Workspace Management section to README with Super Admin panel docs - Add Super Admin API endpoints to API overview table - Add info banner in Settings panel (admin only) linking to Super Admin Issue #143 — Memory tab in agent view: - Add info banner in agent Memory tab clearly distinguishing agent working memory (DB scratchpad) from workspace memory files - Add clickable link to Memory Browser page from agent Memory tab - Improve subtitle text with WORKING.md storage detail Fixes #146 Fixes #14380685db -
feat: provision full OpenClaw workspaces from agent creation
nykUnverified signature7446200
-
feat: provision full OpenClaw workspaces from agent creation
Nyk08a4c64