Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
2bde56e
refactor: move agent and dashboard into lynx/ subfolder
Jaro-c May 12, 2026
6a60093
chore: add GitHub Sponsors funding button
Jaro-c May 12, 2026
883b7a3
chore: add .gitignore, exclude CLAUDE.md
Jaro-c May 12, 2026
36dadab
chore: regenerate node_modules folder to resolve dependency inconsist…
Jaro-c May 12, 2026
916d2fe
chore: add missing node_modules dependencies and source files
Jaro-c May 12, 2026
396d263
feat: initialize Next.js dashboard project with Biome and Tailwind CS…
Jaro-c May 12, 2026
ee4885d
feat: initialize dashboard UI with Next.js, Biome, Tailwind CSS, and …
Jaro-c May 12, 2026
178232b
feat: initialize Next.js dashboard UI project with Tailwind CSS, Biom…
Jaro-c May 12, 2026
4c32cfd
feat: initialize dashboard UI project with Next.js, Tailwind CSS, and…
Jaro-c May 12, 2026
c735362
feat: initialize Next.js dashboard project with Biome configuration a…
Jaro-c May 12, 2026
5951c5d
feat: initialize dashboard UI with Next.js, Tailwind CSS, and shadcn/…
Jaro-c May 12, 2026
91fd7c9
feat: initialize Next.js dashboard UI project with shadcn/ui and Tail…
Jaro-c May 12, 2026
b594fae
feat: initialize Next.js dashboard project with Shadcn UI and project…
Jaro-c May 12, 2026
af76205
feat: initialize Next.js dashboard UI with shadcn/ui components
Jaro-c May 12, 2026
4789b8b
feat: initialize Next.js dashboard project with Shadcn UI components …
Jaro-c May 12, 2026
c835145
feat: initialize dashboard UI with Next.js, Tailwind CSS, shadcn/ui c…
Jaro-c May 12, 2026
3649dba
feat: initialize dashboard UI with Tailwind CSS, Next.js configuratio…
Jaro-c May 12, 2026
2b7fb7b
feat: scaffold new Next.js dashboard UI with component library and co…
Jaro-c May 12, 2026
e642dbc
feat: initialize dashboard UI with Next.js 16, shadcn/ui components, …
Jaro-c May 12, 2026
346d380
feat: scaffold Next.js dashboard UI and implement system management u…
Jaro-c May 13, 2026
ee9b085
feat: implement Next.js dashboard scaffolding and automate system mig…
Jaro-c May 13, 2026
71fb136
feat: initialize Next.js dashboard UI with Tailwind CSS and Shadcn, a…
Jaro-c May 13, 2026
07c3880
feat: initialize dashboard Next.js project and harden Podman storage,…
Jaro-c May 13, 2026
e722b78
feat: initialize Next.js dashboard UI and add installation scripts fo…
Jaro-c May 13, 2026
9232e36
feat: initialize dashboard UI project structure and agent installatio…
Jaro-c May 13, 2026
a1c49db
feat: scaffold Lynx dashboard UI with shadcn/ui and implement agent i…
Jaro-c May 13, 2026
7eae606
feat: initialize Lynx dashboard UI and deployment scripts
Jaro-c May 13, 2026
fea111a
feat: initialize dashboard project structure, UI components, and auto…
Jaro-c May 13, 2026
08f5779
feat: initialize Next.js dashboard UI project and add installation sc…
Jaro-c May 13, 2026
45ae3f4
feat: initialize dashboard UI and add agent/infrastructure installati…
Jaro-c May 13, 2026
e81009c
feat: initialize Next.js dashboard project with Shadcn UI and add age…
Jaro-c May 13, 2026
ec10310
feat: initialize dashboard UI framework and add agent/dashboard insta…
Jaro-c May 13, 2026
ee24928
feat: initialize dashboard UI project with Next.js, Tailwind CSS, and…
Jaro-c May 13, 2026
2941ba9
feat: initialize dashboard UI project structure with Tailwind CSS, co…
Jaro-c May 13, 2026
651a4c6
feat: initialize Next.js dashboard UI project and update lint-shell w…
Jaro-c May 13, 2026
e41e367
feat: initialize dashboard UI with Next.js, Tailwind CSS, shadcn/ui c…
Jaro-c May 13, 2026
eb78e2f
feat: initialize Next.js dashboard UI project with Tailwind CSS and S…
Jaro-c May 13, 2026
4939cb5
feat: initialize dashboard UI with Next.js, Tailwind CSS, and shadcn …
Jaro-c May 13, 2026
19c47a3
feat: initialize dashboard UI with standard components and app structure
Jaro-c May 13, 2026
8958c0b
feat: initialize dashboard UI with comprehensive component library an…
Jaro-c May 13, 2026
ecb3724
feat: initialize dashboard UI with Next.js template and standardized …
Jaro-c May 13, 2026
c362234
feat: initialize Next.js dashboard UI project with Tailwind CSS and b…
Jaro-c May 13, 2026
b466c1a
feat: integrate shadcn/ui and configure agentic development skills fo…
Jaro-c May 13, 2026
5e33c26
feat: scaffold shadcn/ui integration with comprehensive agent rules a…
Jaro-c May 13, 2026
3f901b2
feat: implement dashboard backend, container orchestration service, a…
Jaro-c May 13, 2026
3325d88
feat: implement dashboard server with Docker support and refactor com…
Jaro-c May 13, 2026
e873b5d
feat: implement core compose utilities, file parsing tests, and dashb…
Jaro-c May 13, 2026
c8c1e0f
feat: initialize monorepo structure with dashboard server, agent, and…
Jaro-c May 13, 2026
6d8bbdd
chore: initialize project configuration in Cargo.toml
Jaro-c May 14, 2026
203343c
docs: add styling guidelines and agent documentation to UI dashboard
Jaro-c May 14, 2026
0c4b3b2
feat: initialize dashboard server and agent modules while expanding D…
Jaro-c May 14, 2026
65facdd
feat: implement file-watch engine with develop support and initialize…
Jaro-c May 14, 2026
16986bf
feat: initialize lynx project structure including dashboard UI, backe…
Jaro-c May 14, 2026
0eb7344
feat: implement dashboard scaffolding and refactor compose type modules
Jaro-c May 14, 2026
b8a09de
feat: implement dashboard project scaffolding with containerized serv…
Jaro-c May 15, 2026
934b6be
feat: scaffold monorepo structure with Rust backend and Next.js dashb…
Jaro-c May 15, 2026
87a545e
feat: implement file-watch engine, add workspace configuration, and s…
Jaro-c May 15, 2026
c1d868e
feat: scaffold dashboard service, agent module, and UI architecture w…
Jaro-c May 15, 2026
0216c51
chore(compose): bump version to 0.2.0
Jaro-c May 15, 2026
98d3816
feat: initialize Lynx dashboard and agent infrastructure with base co…
Jaro-c May 15, 2026
6319b14
feat: scaffold dashboard infrastructure and improve compose parser se…
Jaro-c May 15, 2026
b4772a0
feat: initialize dashboard frontend and server with containerization …
Jaro-c May 15, 2026
7f83d10
feat: scaffold dashboard web UI and server, add workspace configurati…
Jaro-c May 15, 2026
b2e9b85
feat(dashboard): implement auth backend + full UI with i18n
Jaro-c May 16, 2026
bc0208b
feat(agent): implement agent core with auth, nftables, Podman, metric…
Jaro-c May 16, 2026
01a68bb
feat(agent): add agent install script with WireGuard, systemd, Podman…
Jaro-c May 16, 2026
a10ec65
feat(ui): add /app/agents page with Server Component, skeleton loadin…
Jaro-c May 16, 2026
8e8ec6e
feat: implement audit log sync (agent → dashboard) with per-agent syn…
Jaro-c May 16, 2026
d3b6636
feat: add organizations backend + UI
Jaro-c May 16, 2026
6742eaa
feat(agent): add nftables divergence detection with dashboard alerting
Jaro-c May 16, 2026
847a249
feat(dashboard/ui): add settings page with session management and key…
Jaro-c May 16, 2026
d230c0d
feat(agent/dashboard): container management commands + auto-update sy…
Jaro-c May 16, 2026
d85498a
feat(dashboard): agent registration dialog, overview stats, events feed
Jaro-c May 16, 2026
fe95617
feat(dashboard/agent): WireGuard PSK rotation
Jaro-c May 16, 2026
e30fa4c
feat(ui): org creation dialog, i18n keys for org/agent registration
Jaro-c May 16, 2026
aba691d
feat(dashboard/agent): internal PKI — CA issues Ed25519 certs to agents
Jaro-c May 16, 2026
e251e92
feat(dashboard): white-label branding from PostgreSQL
Jaro-c May 16, 2026
f63b402
feat(orgs): member management — invite, list, remove
Jaro-c May 16, 2026
ccfe122
feat(orgs): project listing and vertical scaling UI
Jaro-c May 16, 2026
6535752
feat(nftables): divergence detection and restore/accept flow
Jaro-c May 16, 2026
310f38c
feat(orgs): add project creation
Jaro-c May 16, 2026
84f647d
feat(containers): deploy and lifecycle management UI
Jaro-c May 16, 2026
f9a6b5d
feat(ui): persistent footer and dynamic login branding
Jaro-c May 16, 2026
89d12e2
feat(settings): update check and trigger UI
Jaro-c May 16, 2026
c32e3c4
feat(scale): implement cross-agent horizontal scaling via WireGuard d…
Jaro-c May 16, 2026
807ea83
feat(audit): add per-agent audit log viewer
Jaro-c May 16, 2026
00afafe
feat(domain): add custom domain configuration with Let's Encrypt and …
Jaro-c May 16, 2026
0abfb1d
feat(migration): implement dashboard-to-dashboard migration flow
Jaro-c May 16, 2026
437afd3
feat(auth): add password change and profile endpoints
Jaro-c May 16, 2026
148e402
feat(settings): add key rotation history to security section
Jaro-c May 16, 2026
c75925e
feat(pki): push cert.update to online agents on rotation; add CI work…
Jaro-c May 16, 2026
a9eba3c
fix(dashboard): use base64url unpadded encoding for signed commands
Jaro-c May 16, 2026
76b9339
feat(dashboard): add background heartbeat scheduler
Jaro-c May 16, 2026
23b8cee
fix(dashboard): shorten WireGuard interface name to wg-lynx-dash
Jaro-c May 16, 2026
4183614
fix(dashboard): correct Redis key pattern in JWT session flush
Jaro-c May 16, 2026
e2d5939
feat(dashboard): add ip_pool allocator, logs/reset-admin-password CLI…
Jaro-c May 18, 2026
e8e3b17
feat(dashboard): security alerts, headers, startup health guard, inte…
Jaro-c May 18, 2026
d7f560e
feat(agent): command rate limiter (100/min) with rejected_rate_limit …
Jaro-c May 18, 2026
db6d985
feat(domain): route nginx/certbot/nftables ops through local agent
Jaro-c May 18, 2026
cfff764
refactor(agent): split handlers.rs into handlers/ module
Jaro-c May 18, 2026
abc4f7e
feat: add missing files from prior implementation sessions
Jaro-c May 18, 2026
08d6643
feat: implement X.509 mTLS, heartbeat scheduler, PKI, and frontend im…
Jaro-c May 18, 2026
c94b0cd
feat(scheduler): full 90-day rotation — JWT flush + WireGuard PSKs + …
Jaro-c May 18, 2026
6419ada
feat(domain): custom cert upload with PEM validation (Cloudflare + ow…
Jaro-c May 18, 2026
bc6ae01
fix(domain): set_hsts uses correct cert path for cloudflare/custom ce…
Jaro-c May 18, 2026
86066c4
feat(ws): add persistent WebSocket channel between agent and dashboard
Jaro-c May 18, 2026
dc0edb0
feat(ws): skip HTTP heartbeat poll for WS-connected agents
Jaro-c May 18, 2026
6fed478
feat(agent+dashboard): nftables 3-chain architecture, real-time metri…
Jaro-c May 18, 2026
fb89e2c
feat(events): real-time agent events pipeline to browser WS
Jaro-c May 18, 2026
3945337
feat(dashboard): add admin user and role management
Jaro-c May 18, 2026
1bfd75a
feat(dashboard): add theme system and user preferences
Jaro-c May 18, 2026
6aeb9b1
feat(dashboard): add locale switcher and i18n sign-out in sidebar
Jaro-c May 18, 2026
810d494
feat(dashboard): single-session mode and theme-on-login
Jaro-c May 18, 2026
25b84f6
test(dashboard): add integration test suite for auth, admin, rotation…
Jaro-c May 18, 2026
b08992b
test(dashboard/server): add unit tests for crypto, validation, and au…
Jaro-c May 18, 2026
d329fb8
test(dashboard/ui): add Vitest unit tests and Playwright E2E setup
Jaro-c May 18, 2026
363a32a
ci: add CI workflows for agent, dashboard-server, and dashboard-ui
Jaro-c May 18, 2026
7f6c003
refactor(auth): split handlers.rs into handlers/ submodule; add WS or…
Jaro-c May 18, 2026
fc43e13
fix(security): audit log hash chain verification + offline agent pend…
Jaro-c May 18, 2026
8a8896f
fix(ui): cursor-pointer + disabled:cursor-not-allowed on Button; robo…
Jaro-c May 18, 2026
ae54be3
feat(agent): split metrics by frequency; fix WireGuard config path
Jaro-c May 18, 2026
56c640a
feat(dashboard): close remaining CLAUDE.md gaps
Jaro-c May 18, 2026
1760133
fix(lint): resolve all clippy -D warnings + fmt in agent and server
Jaro-c May 18, 2026
78ddf8e
test(dashboard): fix all 17 Playwright E2E tests
Jaro-c May 18, 2026
deb2287
fix(dashboard): install rustls ring provider at startup
Jaro-c May 18, 2026
7bcdd7b
ci: add toolchain: stable to all dtolnay/rust-toolchain usages
Jaro-c May 18, 2026
752c0d7
fix(ci): remove sqlx-mysql CVE and fix compose formatting
Jaro-c May 18, 2026
bc25be8
fix(ci): ignore RUSTSEC-2023-0071 in cargo audit
Jaro-c May 18, 2026
9fcf002
fix(security): validate IDs as UUIDs before URL interpolation in Serv…
Jaro-c May 18, 2026
e7dd4ed
ci(dashboard-ui): pin all action SHAs; quote CI env var as string
Jaro-c May 18, 2026
a3d18fd
chore: merge main into develop to resolve conflicts
Jaro-c May 18, 2026
cfb2db4
fix(ui): add validateName() and inline container URL builds to elimin…
Jaro-c May 18, 2026
8121433
test(e2e): waitForURL on root redirect test to handle RSC redirect ti…
Jaro-c May 18, 2026
0682a34
fix(ui): use .bind() for local nft actions to avoid passing arrow fns…
Jaro-c May 18, 2026
15a405f
fix(ui): pass placeholder values to migrationAgentsProgress to satisf…
Jaro-c May 18, 2026
de2e8cf
ci: add explicit permissions block to all workflows (CodeQL hardening)
Jaro-c May 18, 2026
fd3e17e
merge: resolve add/add conflicts — take develop version
Jaro-c May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/agent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ on:
- "lynx/Cargo.lock"
- ".github/workflows/agent.yml"

permissions:
contents: read
security-events: write

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ on:
- "lynx/Cargo.toml"
- ".github/workflows/compose.yml"

permissions:
contents: read
security-events: write

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/dashboard-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ on:
- "lynx/Cargo.lock"
- ".github/workflows/dashboard-server.yml"

permissions:
contents: read
security-events: write

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/dashboard-ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
- "lynx/dashboard/ui/**"
- ".github/workflows/dashboard-ui.yml"

permissions:
contents: read
security-events: write

jobs:
typecheck:
name: TypeScript
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/lint-shell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
paths:
- "**.sh"

permissions:
contents: read
security-events: write

jobs:
shellcheck:
name: shellcheck
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/validate-pr-source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
branches:
- main

permissions:
contents: read
security-events: write

jobs:
check-source:
name: check-source-branch
Expand Down
2 changes: 2 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-11-14-798Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[ 820ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 933ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
7 changes: 7 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-11-36-830Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[ 481ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 511ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 35438ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 36290ms] [LOG] [Fast Refresh] done in 952ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 36720ms] [WARNING] WebSocket connection to 'ws://localhost:3001/api/agents/events/ws' failed: WebSocket is closed before the connection is established. @ http://localhost:3001/_next/static/chunks/src_0ljxgm~._.js:227
[ 51985ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 52646ms] [LOG] [Fast Refresh] done in 762ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
22 changes: 22 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-12-44-314Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[ 111ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 627ms] [LOG] [Fast Refresh] done in 615ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 995ms] [ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error) @ http://localhost:3001/en/app/agents/01970001-0000-7000-8000-000000000001:0
[ 1552ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 1583ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 1889ms] [ERROR] Encountered a script tag while rendering React component. Scripts inside React components are never executed when rendering on the client. Consider using template tag instead (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template). @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 2035ms] Error: Event handlers cannot be passed to Client Component props.
<... initialRules={[...]} labels=... onCreateRule=... onDeleteRule=... onPush={function onPush}>
^^^^^^^^^^^^^^^^^
If you need interactivity, consider converting part of this to a Client Component.
at resolveErrorDev (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1919:105)
at processFullStringRow (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2434:29)
at processFullBinaryRow (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2393:9)
at processBinaryChunk (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2502:221)
at progress (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2689:13)
[ 5218ms] [WARNING] The resource http://localhost:3001/_next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally. @ http://localhost:3001/en/app/agents/01970001-0000-7000-8000-000000000001:0
[ 5218ms] [WARNING] The resource http://localhost:3001/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally. @ http://localhost:3001/en/app/agents/01970001-0000-7000-8000-000000000001:0
[ 5218ms] [WARNING] The resource http://localhost:3001/_next/static/chunks/%5Broot-of-the-server%5D__02nfq85._.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally. @ http://localhost:3001/en/app/agents/01970001-0000-7000-8000-000000000001:0
[ 114632ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 114686ms] [LOG] [Fast Refresh] done in 92ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 115187ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 115220ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
2 changes: 2 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-14-44-796Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[ 507ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 542ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
27 changes: 27 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-14-57-257Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[ 113ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 993ms] [LOG] [Fast Refresh] done in 980ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 1501ms] [VERBOSE] [DOM] Password forms should have (optionally hidden) username fields for accessibility: (More info: https://goo.gl/9p2vKq) %o @ http://localhost:3001/en/app/settings:0
[ 1966ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 2001ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 2083ms] [ERROR] %c%s%c background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px Server Error: FORMATTING_ERROR: The intl string context variable "confirmed" was not provided to the string "{confirmed} of {total} agents confirmed"
at undefined.SettingsPage (about://React/Server/file:///media/Developer/Jaroc/Lynx/lynx/dashboard/ui/.next/dev/server/chunks/ssr/%5Broot-of-the-server%5D__0e~j4hn._.js?0:1189:48)
at processTicksAndRejections (<anonymous>:1:34)
at resolveErrorDev (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1919:105)
at getOutlinedModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1469:28)
at parseModelString (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1584:50)
at reviveModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2522:66)
at parseModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2517:16)
at initializeModelChunk (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1084:25)
at getOutlinedModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1407:17)
at parseModelString (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1639:50)
at reviveModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2522:66)
at reviveModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2525:61)
at parseModel (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2517:16)
at initializeModelChunk (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:1084:25)
at resolveConsoleEntry (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2047:96)
at processFullStringRow (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2453:17)
at processFullBinaryRow (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2393:9)
at processBinaryChunk (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2502:221)
at progress (http://localhost:3001/_next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_0p3wegg._.js:2676:20) @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 90585ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 90629ms] [LOG] [Fast Refresh] done in 83ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
3 changes: 3 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-16-42-828Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[ 284ms] [VERBOSE] [DOM] Password forms should have (optionally hidden) username fields for accessibility: (More info: https://goo.gl/9p2vKq) %o @ http://localhost:3001/en/app/settings:0
[ 541ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 575ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
53 changes: 53 additions & 0 deletions .playwright-mcp/console-2026-05-18T12-17-08-407Z.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
[ 112ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 548ms] [LOG] [Fast Refresh] done in 537ms @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 1489ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 1525ms] [LOG] [HMR] connected @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 241871ms] [ERROR] WebSocket connection to 'ws://localhost:3001/api/agents/events/ws' failed: WebSocket opening handshake timed out @ http://localhost:3001/_next/static/chunks/src_0ljxgm~._.js:182
[ 483875ms] [ERROR] WebSocket connection to 'ws://localhost:3001/api/agents/events/ws' failed: WebSocket opening handshake timed out @ http://localhost:3001/_next/static/chunks/src_0ljxgm~._.js:182
[ 727878ms] [ERROR] WebSocket connection to 'ws://localhost:3001/api/agents/events/ws' failed: WebSocket opening handshake timed out @ http://localhost:3001/_next/static/chunks/src_0ljxgm~._.js:182
[ 756516ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
[ 756543ms] [ERROR] ./src/app/[locale]/(dashboard)/app/agents/[id]/page.tsx:293:1
Merge conflict marker encountered.
291 | onDeleteRule={(ruleId) => deleteLocalRule(agentId, ruleId)}
292 | onPush={() => pushLocalRules(agentId)}
> 293 | >>>>>>> origin/main
| ^^^^^^^
294 | />
295 | </div>
296 | </div>

Parsing ecmascript source code failed @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 756543ms] [ERROR] ./src/app/[locale]/(dashboard)/app/settings/page.tsx:302:1
Merge conflict marker encountered.
300 | =======
301 | agentsProgress: t("migrationAgentsProgress"),
> 302 | >>>>>>> origin/main
| ^^^^^^^
303 | error: t("migrationStatusError"),
304 | prepareError: t("migrationPrepareError"),
305 | startError: t("migrationStartError"),

Parsing ecmascript source code failed @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 756605ms] [ERROR] ./src/app/[locale]/(dashboard)/app/agents/[id]/page.tsx:293:1
Merge conflict marker encountered.
291 | onDeleteRule={(ruleId) => deleteLocalRule(agentId, ruleId)}
292 | onPush={() => pushLocalRules(agentId)}
> 293 | >>>>>>> origin/main
| ^^^^^^^
294 | />
295 | </div>
296 | </div>

Parsing ecmascript source code failed @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 756606ms] [ERROR] ./src/app/[locale]/(dashboard)/app/settings/page.tsx:302:1
Merge conflict marker encountered.
300 | =======
301 | agentsProgress: t("migrationAgentsProgress"),
> 302 | >>>>>>> origin/main
| ^^^^^^^
303 | error: t("migrationStatusError"),
304 | prepareError: t("migrationPrepareError"),
305 | startError: t("migrationStartError"),

Parsing ecmascript source code failed @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:3318
[ 756657ms] [LOG] [Fast Refresh] rebuilding @ http://localhost:3001/_next/static/chunks/node_modules_next_dist_115brz8._.js:2477
29 changes: 29 additions & 0 deletions .playwright-mcp/page-2026-05-18T12-11-15-993Z.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- generic [active] [ref=e1]:
- main [ref=e2]:
- generic [ref=e3]:
- generic [ref=e4]:
- heading "Sign in to Lynx" [level=1] [ref=e5]
- paragraph [ref=e6]: Distributed infrastructure orchestration
- generic [ref=e7]:
- group [ref=e8]:
- generic [ref=e9]: Username
- textbox "Username" [ref=e10]
- group [ref=e11]:
- generic [ref=e12]: Password
- textbox "Password" [ref=e13]
- button "Sign in" [ref=e14] [cursor=pointer]
- paragraph [ref=e15]:
- text: Don't have an account?
- link "Create account" [ref=e16] [cursor=pointer]:
- /url: /en/register
- generic [ref=e17]:
- text: Made with love by
- link "Jaroc" [ref=e18] [cursor=pointer]:
- /url: https://github.com/Jaro-c
- text: ·
- link "lynx" [ref=e19] [cursor=pointer]:
- /url: https://github.com/Jaro-c/Lynx
- region "Notifications alt+T"
- button "Open Next.js Dev Tools" [ref=e25] [cursor=pointer]:
- img [ref=e26]
- alert [ref=e29]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions .playwright-mcp/page-2026-05-18T12-11-37-797Z.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
- generic [active] [ref=e1]:
- main [ref=e2]:
- generic [ref=e3]:
- generic [ref=e4]:
- heading "Create your account" [level=1] [ref=e5]
- paragraph [ref=e6]: Start orchestrating your infrastructure
- generic [ref=e7]:
- group [ref=e8]:
- generic [ref=e9]: Username
- textbox "Username" [ref=e10]
- group [ref=e11]:
- generic [ref=e12]: Email
- textbox "Email" [ref=e13]
- group [ref=e14]:
- generic [ref=e15]: Password
- textbox "Password" [ref=e16]
- button "Create account" [ref=e17] [cursor=pointer]
- paragraph [ref=e18]:
- text: Already have an account?
- link "Sign in" [ref=e19] [cursor=pointer]:
- /url: /en/login
- generic [ref=e20]:
- text: Made with love by
- link "Jaroc" [ref=e21] [cursor=pointer]:
- /url: https://github.com/Jaro-c
- text: ·
- link "lynx" [ref=e22] [cursor=pointer]:
- /url: https://github.com/Jaro-c/Lynx
- region "Notifications alt+T"
- button "Open Next.js Dev Tools" [ref=e28] [cursor=pointer]:
- img [ref=e29]
- alert [ref=e32]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions .playwright-mcp/page-2026-05-18T12-11-58-175Z.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- generic [active] [ref=e1]:
- main [ref=e33]:
- generic [ref=e34]:
- generic [ref=e35]:
- heading "Sign in to Lynx" [level=1] [ref=e36]
- paragraph [ref=e37]: Distributed infrastructure orchestration
- generic [ref=e38]:
- group [ref=e39]:
- generic [ref=e40]: Username
- textbox "Username" [ref=e41]
- group [ref=e42]:
- generic [ref=e43]: Password
- textbox "Password" [ref=e44]
- button "Sign in" [ref=e45] [cursor=pointer]
- paragraph [ref=e46]:
- text: Don't have an account?
- link "Create account" [ref=e47] [cursor=pointer]:
- /url: /en/register
- generic [ref=e48]:
- text: Made with love by
- link "Jaroc" [ref=e49] [cursor=pointer]:
- /url: https://github.com/Jaro-c
- text: ·
- link "lynx" [ref=e50] [cursor=pointer]:
- /url: https://github.com/Jaro-c/Lynx
- region "Notifications alt+T":
- list:
- listitem [ref=e51]:
- generic [ref=e52]:
- img [ref=e54]
- img [ref=e56]
- generic [ref=e60]: Create account
- button "Open Next.js Dev Tools" [ref=e28] [cursor=pointer]:
- img [ref=e29]
- alert [ref=e32]
Loading
Loading