Spaces:
Sleeping
Sleeping
Commit History
-
test: add coverage for pure utility modules, fix Vitest 60% threshold (#339)
HonzysClawdbotUnverified signature* fix(db): add busy_timeout pragma and guard build-phase eager init - Add busy_timeout = 5000 pragma to prevent SQLITE_BUSY errors under concurrent Next.js route-handler requests (WAL mode helps but is not sufficient without a retry budget). - Guard module-level getDatabase() call with !isBuildPhase to prevent build-time vs runtime SQLite state conflicts on cold starts. - Add tests covering both pragmas and build-phase skip behaviour. * security(skill-registry): add path traversal and SSRF detection rules - Add 'path-traversal' rule: detects ../../ and URL-encoded variants - Add 'ssrf-internal-network' rule: detects fetch/curl/wget/axios targeting localhost, 127.x, 0.0.0.0, RFC-1918 private ranges, and *.internal hosts - Add 'ssrf-metadata-endpoint' rule: detects access to cloud metadata endpoints (AWS 169.254.169.254, GCP metadata.google.internal) - Add 14 new tests covering all new rules including edge cases Closes #security-completeness * test: add coverage for pure u…eb47743 -
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(runtime): allow all Node versions >= 22
NykThe version check was an allowlist of specific majors (22, 24). Changed to a >= 22 floor so future Node releases work without code changes.34b97d9
-
fix(runtime): support Node 24 alongside Node 22 (#303)
nykUnverified signature* feat(gateways): add health history logging and timeline * fix(runtime): support Node 24 alongside Node 22dcb25c3
-
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: add configurable PORT for dev and start servers (#179)
PatrickUnverified signature- package.json: dev and start scripts now use ${PORT:-3000} - Dockerfile: healthcheck uses ${PORT:-3000}, ENV PORT=3000 as default - docker-compose.yml: passes PORT env to container, maps MC_PORT to PORT - .env.example: documents PORT variable Set PORT=<number> to change the listening port. Defaults to 3000. Previously dev used Next.js default (3000) and start hardcoded 3005.c6eb9fa
-
merge: resolve PR conflicts and add OpenClaw offline E2E harness
Nyk39fe4a7
-
feat: phase 1 workspace isolation across auth and core APIs (#112)
nykUnverified signature* feat: add workspace-scoped auth sessions and core API filtering * feat: extend workspace scoping to search status standup and messaging * feat: scope agent connect github and alert workflows by workspace * fix: scope status sync and session alerts by workspace * feat: add phase2 workspace migration and scope chat pipeline alerts * feat: add model selection for agents and cron jobs * feat: add deterministic agent avatars to task and squad views * feat: add read-only cron calendar and agenda views * feat: render task descriptions with markdown4e0867d
-
chore: bump version to 1.3.0 and update changelog/readme for release (#72)
nykUnverified signature2263da2 -
feat: add OpenAPI 3.1 documentation with Scalar UI
Nyk- Add openapi.json spec covering all 59 API routes (~95 operations) - Serve spec at GET /api/docs (no auth required, cached) - Add interactive Scalar API reference UI at /docs - Allow unauthenticated access to /api/docs and /docs in middleware - Add @scalar/api-reference-react dependency - Add 3 E2E tests for spec validation and auth bypass13daa38
-
test: add 94 E2E tests covering all CRUD routes + fix middleware location
NykAdd comprehensive Playwright E2E test coverage for all major API routes: - tasks-crud (18 tests): full lifecycle, filters, Aegis approval gate - agents-crud (15 tests): CRUD, lookup by name/id, admin-only delete - task-comments (7 tests): threaded comments, validation - workflows-crud (8 tests): workflow template lifecycle - webhooks-crud (9 tests): secret masking, regeneration - alerts-crud (8 tests): alert rule lifecycle - notifications (7 tests): delivery tracking, read status - quality-review (6 tests): reviews with batch lookup - search-and-export (7 tests): global search, export, activities - user-management (8 tests): user admin CRUD - helpers.ts: shared factory functions and cleanup utilities Infrastructure fixes: - Move middleware.ts to src/middleware.ts (Next.js 16 Turbopack requires middleware in src/ when using src/app/ directory — the root-level file was silently ignored, breaking CSRF protection) - Add MC_DISABLE_RATE_LIMIT env var to bypass non-critical rate limit…447138e -
feat: v1.2.0 — validation hardening, unit tests, quality improvements
Nyk- Fix task status enum mismatch (blocked → quality_review) - Add 12 Zod schemas for all unvalidated mutation routes - Apply validateBody() across 11 API route handlers - Add readLimiter (120/min) for GET-heavy endpoints - Extend heavyLimiter to search, backup, cleanup routes - Add security headers (X-Content-Type-Options, X-Frame-Options, Referrer-Policy) - Fill auth test stubs with real assertions (safeCompare, requireRole) - Add validation, rate-limit, and db-helpers unit test suites (60 tests total) - Replace as-any casts with typed interfaces (SessionQueryRow, UserQueryRow, CountRow) - Bump version to 1.2.0, add CHANGELOG.md, update README roadmapbfccd36
-
feat: add Docker support, session controls, model catalog, API rate limiting
Nykb608851 -
docs: fix README inaccuracies and add engines field
Nyk- Fix migration count: 11 → 14 (actual count in migrations.ts) - Fix panel count: 23 → 26 (actual count in components/panels/) - Fix API route count: 25+ → 30+ (actual count in app/api/) - Update testing line to mention 52 E2E tests - Collapse completed issues list into link to v1.0.0 release notes - Add engines.node >= 20 to package.json (matches CI)c501a1b -
fix: CI workflow and release readiness bugs
Nyk- Swap pnpm/node setup order (pnpm must install before node cache) - Move build step before E2E tests (next start needs .next/ output) - Add `cp .env.test .env` step so E2E server has auth credentials - Fix test:all script to build before E2E (same ordering bug) - Remove stale package-lock.json (project uses pnpm exclusively) - Update README: remove "No E2E test suite" (52 tests exist now)5b92f6b
-
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