Spaces:
Sleeping
Sleeping
Commit History
-
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: 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(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
-
feat: upgrade local-mode virtual office and flight deck integration
Nykab90450
-
fix: deduplicate sessions by sessionId and add task edit modal (#86)
nykUnverified signatureDeduplicate gateway sessions server-side using sessionId as primary key, falling back to agent:key composite for sessions without sessionId. This prevents duplicate React keys when OpenClaw tracks cron runs under the same session ID as the parent session. Also adds EditTaskModal to the task board panel with inline edit button in the task detail modal, and improves CreateTaskModal error handling. Cherry-picked and adapted from PR #77 by @arana198. Closes #8054ae8f3 -
feat: add local mode auto-detection for no-gateway users (#83)
nykUnverified signatureWhen no OpenClaw gateway is detected, Mission Control now automatically switches to Local Mode — showing a clear info banner, greying out gateway-dependent panels, and surfacing Claude Code session stats, GitHub profile data, and subscription-aware cost display. Changes: - Add capabilities endpoint to detect gateway, Claude home, subscription - Add dashboardMode/gatewayAvailable/subscription state to Zustand store - Add dismissible LocalModeBanner component - Grey out Agents/Spawn/Config nav items when no gateway - Show blue "Local Mode" indicator instead of red "Disconnected" - Dashboard shows local metric cards (sessions, projects, tokens, cost) - Claude Code Stats panel with session/token/cost breakdown - GitHub panel with repo stats, languages, star/fork counts - Subscription detection from ~/.claude/.credentials.json - Show "Included (Max plan)" instead of dollar cost for subscribers - Fix token cost estimation (cache reads at 10%, not 100%) - Sessions API falls back to local Cla…bfb8731
-
feat: audit hardening, webhook retry, and local Claude session tracking (#68)
nykUnverified signatureSecurity hardening: - Fix timing-safe comparison bugs in webhooks.ts and auth.ts (was comparing buffer with itself) - Harden rate limiter IP extraction — use rightmost untrusted IP from XFF chain with MC_TRUSTED_PROXIES support - Add 12-char minimum password validation in Zod schema and runtime check - Add Zod validation on PUT /api/tasks bulk status update Webhook retry system (completing in-progress feature): - Exponential backoff with circuit breaker in webhooks.ts - POST /api/webhooks/retry endpoint for manual retry - GET /api/webhooks/verify-docs endpoint for signature verification docs - Scheduler integration for automatic retry processing - Unit tests for signature verification and backoff logic Local Claude Code session tracking: - New claude-sessions.ts scanner parses JSONL transcripts from ~/.claude/projects/ - Extracts model, tokens, messages, cost estimates, active status per session - Migration 020 adds claude_sessions table - GET/POST /api/claude/sessions endpoint with …959f8d7
-
fix: patch command injection, missing rate limit, Docker build, logger crash
Nyk- Sanitize session ID in control route to prevent command injection via unsanitized URL params interpolated into shell commands - Add mutationLimiter and structured logging to session control endpoint - Install python3/make/g++ in Dockerfile deps stage for better-sqlite3 native addon compilation - Handle missing public/ directory in Docker COPY with glob pattern - Guard pino-pretty transport against missing devDependency at runtimea2745d4 -
feat: add Docker support, session controls, model catalog, API rate limiting
Nykb608851 -
fix: add auth checks on all GET endpoints, timing-safe comparisons, and XSS sanitization
Nyk1dc7696
-
feat: initial open-source release
NykOpenClaw Mission Control — agent orchestration dashboard. Built with Next.js 16, React 19, TypeScript, SQLite, and Tailwind CSS. MIT License.bbbc03f