-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary\nDuring local validation for #307, console intermittently reports React hook-order errors when navigating to after onboarding interactions.\n\n## Observed errors\n- \n- \n\n## Repro notes\n1. Run local dev session (
nostrstack@0.0.0 dev:logs /home/klabo/code/nostrstack
./scripts/dev/logs.sh
🪵 writing logs to /home/klabo/code/nostrstack/.logs/dev (api.log, social.log)
💡 view live: tail -f /home/klabo/code/nostrstack/.logs/dev/api.log /home/klabo/code/nostrstack/.logs/dev/social.log
👀 auto-following logs (set LOG_TAIL=0 to disable)
🔐 using existing certs at /home/klabo/code/nostrstack/certs/dev-cert.pem / /home/klabo/code/nostrstack/certs/dev-key.pem
==> /home/klabo/code/nostrstack/.logs/dev/api.log <==
==> /home/klabo/code/nostrstack/.logs/dev/social.log <==
Skipping slot 0: port 3001 has stale socket with no process owner
Skipping slot 6: port 3007 has stale socket with no process owner
Skipping slot 7: port 3008 has stale socket with no process owner
Skipping slot 8: port 3009 has stale socket with no process owner
Skipping slot 9: port 3010 has stale socket with no process owner
Skipping slot 10: port 3011 has stale socket with no process owner
Skipping slot 11: port 3012 has stale socket with no process owner
📦 Dev session: agent=klabo slot=23 api=3024 social=4196
🧬 applying Prisma migrations
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": SQLite database "dev.db" at "file:./dev.db"
7 migrations found in prisma/migrations
No pending migrations to apply.
🚀 starting regtest stack (docker compose)
🔑 ensuring LNbits superuser (admin/changeme)
✅ LNbits admin key exported
==> /home/klabo/code/nostrstack/.logs/dev/api.log <==
api@0.0.1 dev /home/klabo/code/nostrstack/apps/api
pnpm run seed:dev && tsx watch src/server.ts
[api 2026-02-18 09:53:26.771]
[api 2026-02-18 09:53:26.771] > api@0.0.1 dev /home/klabo/code/nostrstack/apps/api
[api 2026-02-18 09:53:26.771] > pnpm run seed:dev && tsx watch src/server.ts
[api 2026-02-18 09:53:26.771]
==> /home/klabo/code/nostrstack/.logs/dev/social.log <==
VITE v5.4.21 ready in 202 ms
[social 2026-02-18 09:53:26.982]
[social 2026-02-18 09:53:26.982] VITE v5.4.21 ready in 202 ms
[social 2026-02-18 09:53:26.982]
➜ Local: http://localhost:4196/
➜ Network: http://192.168.1.165:4196/
➜ Network: http://100.97.193.93:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://10.13.13.2:4196/
➜ Network: http://172.17.0.1:4196/
➜ Network: http://172.19.0.1:4196/
➜ Local: http://localhost:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://192.168.1.165:4196/
➜ Network: http://172.18.0.1:4196/
➜ Network: http://172.20.0.1:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://100.97.193.93:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://10.13.13.2:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://172.17.0.1:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://172.19.0.1:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://172.18.0.1:4196/
[social 2026-02-18 09:53:26.982] ➜ Network: http://172.20.0.1:4196/
==> /home/klabo/code/nostrstack/.logs/dev/api.log <==
api@0.0.1 seed:dev /home/klabo/code/nostrstack/apps/api
DATABASE_URL=${DATABASE_URL:-file:./dev.db} tsx prisma/seed-dev.ts
[api 2026-02-18 09:53:27.190]
[api 2026-02-18 09:53:27.190] > api@0.0.1 seed:dev /home/klabo/code/nostrstack/apps/api
[api 2026-02-18 09:53:27.190] > DATABASE_URL=${DATABASE_URL:-file:./dev.db} tsx prisma/seed-dev.ts
[api 2026-02-18 09:53:27.190]
Seeded demo tenant/user: {
domain: 'localhost',
username: 'alice',
lightningAddress: 'alice@localhost'
}
[api 2026-02-18 09:53:27.477] Seeded demo tenant/user: {
[api 2026-02-18 09:53:27.477] domain: 'localhost',
[api 2026-02-18 09:53:27.477] username: 'alice',
[api 2026-02-18 09:53:27.477] lightningAddress: 'alice@localhost'
[api 2026-02-18 09:53:27.477] }
[09:53:28.803] INFO (2723175): Initializing Lightning Provider
provider: "lnbits"
[api 2026-02-18 09:53:28.831] [09:53:28.803] INFO (2723175): Initializing Lightning Provider
[api 2026-02-18 09:53:28.831] provider: "lnbits"
API listening on http://127.0.0.1:3024
[api 2026-02-18 09:53:29.051] API listening on http://127.0.0.1:3024
[09:53:29.051] INFO (2723175): Server listening at http://127.0.0.1:3024
[api 2026-02-18 09:53:29.052] [09:53:29.051] INFO (2723175): Server listening at http://127.0.0.1:3024
[09:53:29.051] INFO (2723175): Server listening at http://192.168.1.165:3024
[09:53:29.051] INFO (2723175): Server listening at http://100.97.193.93:3024
[09:53:29.051] INFO (2723175): Server listening at http://10.13.13.2:3024
[09:53:29.051] INFO (2723175): Server listening at http://172.17.0.1:3024
[09:53:29.051] INFO (2723175): Server listening at http://172.19.0.1:3024
[09:53:29.051] INFO (2723175): Server listening at http://172.18.0.1:3024
[09:53:29.051] INFO (2723175): Server listening at http://172.20.0.1:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://192.168.1.165:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://100.97.193.93:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://10.13.13.2:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://172.17.0.1:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://172.19.0.1:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://172.18.0.1:3024
[api 2026-02-18 09:53:29.053] [09:53:29.051] INFO (2723175): Server listening at http://172.20.0.1:3024
[social 2026-02-18 09:53:38.951] [baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: npm i baseline-browser-mapping@latest -D
[09:53:41.597] INFO (2723175): incoming request
reqId: "req-1"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57150
}
[api 2026-02-18 09:53:41.633] [09:53:41.597] INFO (2723175): incoming request
[api 2026-02-18 09:53:41.633] reqId: "req-1"
[api 2026-02-18 09:53:41.633] req: {
[api 2026-02-18 09:53:41.633] "method": "GET",
[api 2026-02-18 09:53:41.633] "url": "/api/health",
[api 2026-02-18 09:53:41.633] "host": "localhost:3024",
[api 2026-02-18 09:53:41.633] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:41.633] "remotePort": 57150
[api 2026-02-18 09:53:41.633] }
[09:53:41.630] INFO (2723175): request completed
reqId: "req-1"
res: {
"statusCode": 200
}
responseTime: 28.328108996152878
[api 2026-02-18 09:53:41.635] [09:53:41.630] INFO (2723175): request completed
[api 2026-02-18 09:53:41.635] reqId: "req-1"
[api 2026-02-18 09:53:41.635] res: {
[api 2026-02-18 09:53:41.635] "statusCode": 200
[api 2026-02-18 09:53:41.635] }
[api 2026-02-18 09:53:41.635] responseTime: 28.328108996152878
[09:53:41.632] INFO (2723175): incoming request
reqId: "req-2"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57166
}
[api 2026-02-18 09:53:41.639] [09:53:41.632] INFO (2723175): incoming request
[api 2026-02-18 09:53:41.639] reqId: "req-2"
[api 2026-02-18 09:53:41.639] req: {
[api 2026-02-18 09:53:41.639] "method": "GET",
[api 2026-02-18 09:53:41.639] "url": "/api/health",
[api 2026-02-18 09:53:41.639] "host": "localhost:3024",
[api 2026-02-18 09:53:41.639] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:41.639] "remotePort": 57166
[api 2026-02-18 09:53:41.639] }
[09:53:41.637] INFO (2723175): request completed
reqId: "req-2"
res: {
"statusCode": 200
}
responseTime: 3.5210649967193604
[api 2026-02-18 09:53:41.640] [09:53:41.637] INFO (2723175): request completed
[api 2026-02-18 09:53:41.640] reqId: "req-2"
[api 2026-02-18 09:53:41.640] res: {
[api 2026-02-18 09:53:41.640] "statusCode": 200
[api 2026-02-18 09:53:41.640] }
[api 2026-02-18 09:53:41.640] responseTime: 3.5210649967193604
[09:53:43.001] INFO (2723175): incoming request
reqId: "req-3"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57166
}
[api 2026-02-18 09:53:43.002] [09:53:43.001] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.002] reqId: "req-3"
[api 2026-02-18 09:53:43.002] req: {
[api 2026-02-18 09:53:43.002] "method": "GET",
[api 2026-02-18 09:53:43.002] "url": "/api/health",
[api 2026-02-18 09:53:43.002] "host": "localhost:3024",
[api 2026-02-18 09:53:43.002] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.002] "remotePort": 57166
[api 2026-02-18 09:53:43.002] }
[09:53:43.002] INFO (2723175): request completed
reqId: "req-3"
res: {
"statusCode": 200
}
responseTime: 0.650079995393753
[api 2026-02-18 09:53:43.002] [09:53:43.002] INFO (2723175): request completed
[api 2026-02-18 09:53:43.002] reqId: "req-3"
[api 2026-02-18 09:53:43.002] res: {
[api 2026-02-18 09:53:43.002] "statusCode": 200
[api 2026-02-18 09:53:43.002] }
[api 2026-02-18 09:53:43.002] responseTime: 0.650079995393753
[09:53:43.003] INFO (2723175): incoming request
reqId: "req-4"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57150
}
[api 2026-02-18 09:53:43.004] [09:53:43.003] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.004] reqId: "req-4"
[api 2026-02-18 09:53:43.004] req: {
[api 2026-02-18 09:53:43.004] "method": "GET",
[api 2026-02-18 09:53:43.004] "url": "/api/health",
[api 2026-02-18 09:53:43.004] "host": "localhost:3024",
[api 2026-02-18 09:53:43.004] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.004] "remotePort": 57150
[api 2026-02-18 09:53:43.004] }
[09:53:43.003] INFO (2723175): request completed
reqId: "req-4"
res: {
"statusCode": 200
}
responseTime: 0.4959940016269684
[api 2026-02-18 09:53:43.004] [09:53:43.003] INFO (2723175): request completed
[api 2026-02-18 09:53:43.004] reqId: "req-4"
[api 2026-02-18 09:53:43.004] res: {
[api 2026-02-18 09:53:43.004] "statusCode": 200
[api 2026-02-18 09:53:43.004] }
[api 2026-02-18 09:53:43.004] responseTime: 0.4959940016269684
[09:53:43.028] INFO (2723175): incoming request
reqId: "req-5"
req: {
"method": "GET",
"url": "/api/bitcoin/status",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57150
}
[api 2026-02-18 09:53:43.030] [09:53:43.028] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.030] reqId: "req-5"
[api 2026-02-18 09:53:43.030] req: {
[api 2026-02-18 09:53:43.030] "method": "GET",
[api 2026-02-18 09:53:43.030] "url": "/api/bitcoin/status",
[api 2026-02-18 09:53:43.030] "host": "localhost:3024",
[api 2026-02-18 09:53:43.030] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.030] "remotePort": 57150
[api 2026-02-18 09:53:43.030] }
[09:53:43.030] INFO (2723175): incoming request
reqId: "req-6"
req: {
"method": "GET",
"url": "/debug/ws-wallet",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57166
}
[api 2026-02-18 09:53:43.031] [09:53:43.030] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.031] reqId: "req-6"
[api 2026-02-18 09:53:43.031] req: {
[api 2026-02-18 09:53:43.031] "method": "GET",
[api 2026-02-18 09:53:43.031] "url": "/debug/ws-wallet",
[api 2026-02-18 09:53:43.031] "host": "localhost:3024",
[api 2026-02-18 09:53:43.031] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.031] "remotePort": 57166
[api 2026-02-18 09:53:43.031] }
[09:53:43.031] INFO (2723175): request completed
reqId: "req-6"
res: {
"statusCode": 200
}
responseTime: 0.7289550006389618
[api 2026-02-18 09:53:43.032] [09:53:43.031] INFO (2723175): request completed
[api 2026-02-18 09:53:43.032] reqId: "req-6"
[api 2026-02-18 09:53:43.032] res: {
[api 2026-02-18 09:53:43.032] "statusCode": 200
[api 2026-02-18 09:53:43.032] }
[api 2026-02-18 09:53:43.032] responseTime: 0.7289550006389618
[09:53:43.037] INFO (2723175): telemetry ws connection
clientCount: 1
[api 2026-02-18 09:53:43.037] [09:53:43.037] INFO (2723175): telemetry ws connection
[api 2026-02-18 09:53:43.037] clientCount: 1
[09:53:43.039] INFO (2723175): incoming request
reqId: "req-7"
req: {
"method": "GET",
"url": "/debug/ws-wallet",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57166
}
[api 2026-02-18 09:53:43.040] [09:53:43.039] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.040] reqId: "req-7"
[api 2026-02-18 09:53:43.040] req: {
[api 2026-02-18 09:53:43.040] "method": "GET",
[api 2026-02-18 09:53:43.040] "url": "/debug/ws-wallet",
[api 2026-02-18 09:53:43.040] "host": "localhost:3024",
[api 2026-02-18 09:53:43.040] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.040] "remotePort": 57166
[api 2026-02-18 09:53:43.040] }
[09:53:43.040] INFO (2723175): request completed
reqId: "req-7"
res: {
"statusCode": 200
}
responseTime: 0.5036030113697052
[api 2026-02-18 09:53:43.040] [09:53:43.040] INFO (2723175): request completed
[api 2026-02-18 09:53:43.040] reqId: "req-7"
[api 2026-02-18 09:53:43.040] res: {
[api 2026-02-18 09:53:43.040] "statusCode": 200
[api 2026-02-18 09:53:43.040] }
[api 2026-02-18 09:53:43.040] responseTime: 0.5036030113697052
[09:53:43.047] INFO (2723175): telemetry ws connection
clientCount: 2
[api 2026-02-18 09:53:43.048] [09:53:43.047] INFO (2723175): telemetry ws connection
[api 2026-02-18 09:53:43.048] clientCount: 2
[09:53:43.069] INFO (2723175): request completed
reqId: "req-5"
res: {
"statusCode": 200
}
responseTime: 41.04441699385643
[api 2026-02-18 09:53:43.070] [09:53:43.069] INFO (2723175): request completed
[api 2026-02-18 09:53:43.070] reqId: "req-5"
[api 2026-02-18 09:53:43.070] res: {
[api 2026-02-18 09:53:43.070] "statusCode": 200
[api 2026-02-18 09:53:43.070] }
[api 2026-02-18 09:53:43.070] responseTime: 41.04441699385643
[09:53:43.189] INFO (2723175): wallet ws upgrade
[api 2026-02-18 09:53:43.190] [09:53:43.189] INFO (2723175): wallet ws upgrade
[09:53:43.189] INFO (2723175): wallet ws connection
clientCount: 1
[api 2026-02-18 09:53:43.190] [09:53:43.189] INFO (2723175): wallet ws connection
[api 2026-02-18 09:53:43.190] clientCount: 1
[09:53:43.868] INFO (2723175): incoming request
reqId: "req-8"
req: {
"method": "POST",
"url": "/api/regtest/fund",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57150
}
[api 2026-02-18 09:53:43.873] [09:53:43.868] INFO (2723175): incoming request
[api 2026-02-18 09:53:43.873] reqId: "req-8"
[api 2026-02-18 09:53:43.873] req: {
[api 2026-02-18 09:53:43.873] "method": "POST",
[api 2026-02-18 09:53:43.873] "url": "/api/regtest/fund",
[api 2026-02-18 09:53:43.873] "host": "localhost:3024",
[api 2026-02-18 09:53:43.873] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:43.873] "remotePort": 57150
[api 2026-02-18 09:53:43.873] }
[09:53:43.869] INFO (2723175): regtest fund requested
reqId: "17ce41ee-6ea7-46d4-a4d8-3e711947a884"
action: "regtest_fund"
[api 2026-02-18 09:53:43.873] [09:53:43.869] INFO (2723175): regtest fund requested
[api 2026-02-18 09:53:43.873] reqId: "17ce41ee-6ea7-46d4-a4d8-3e711947a884"
[api 2026-02-18 09:53:43.873] action: "regtest_fund"
LNbits topup skipped (non-fatal): [lncli] FAILED
[api 2026-02-18 09:53:47.267] LNbits topup skipped (non-fatal): [lncli] FAILED
[api 2026-02-18 09:53:47.267]
[09:53:47.587] INFO (2723175): regtest fund complete
reqId: "17ce41ee-6ea7-46d4-a4d8-3e711947a884"
minedBlocks: 6
[api 2026-02-18 09:53:47.588] [09:53:47.587] INFO (2723175): regtest fund complete
[api 2026-02-18 09:53:47.588] reqId: "17ce41ee-6ea7-46d4-a4d8-3e711947a884"
[api 2026-02-18 09:53:47.588] minedBlocks: 6
[09:53:47.588] INFO (2723175): request completed
reqId: "req-8"
res: {
"statusCode": 200
}
responseTime: 3719.180693000555
[api 2026-02-18 09:53:47.588] [09:53:47.588] INFO (2723175): request completed
[api 2026-02-18 09:53:47.588] reqId: "req-8"
[api 2026-02-18 09:53:47.588] res: {
[api 2026-02-18 09:53:47.588] "statusCode": 200
[api 2026-02-18 09:53:47.588] }
[api 2026-02-18 09:53:47.588] responseTime: 3719.180693000555
[09:53:47.608] INFO (2723175): incoming request
reqId: "req-9"
req: {
"method": "GET",
"url": "/api/bitcoin/status",
"host": "localhost:3024",
"remoteAddress": "127.0.0.1",
"remotePort": 57150
}
[api 2026-02-18 09:53:47.609] [09:53:47.608] INFO (2723175): incoming request
[api 2026-02-18 09:53:47.609] reqId: "req-9"
[api 2026-02-18 09:53:47.609] req: {
[api 2026-02-18 09:53:47.609] "method": "GET",
[api 2026-02-18 09:53:47.609] "url": "/api/bitcoin/status",
[api 2026-02-18 09:53:47.609] "host": "localhost:3024",
[api 2026-02-18 09:53:47.609] "remoteAddress": "127.0.0.1",
[api 2026-02-18 09:53:47.609] "remotePort": 57150
[api 2026-02-18 09:53:47.609] }
[09:53:47.612] INFO (2723175): request completed
reqId: "req-9"
res: {
"statusCode": 200
}
responseTime: 4.317707002162933
[api 2026-02-18 09:53:47.613] [09:53:47.612] INFO (2723175): request completed
[api 2026-02-18 09:53:47.613] reqId: "req-9"
[api 2026-02-18 09:53:47.613] res: {
[api 2026-02-18 09:53:47.613] "statusCode": 200
[api 2026-02-18 09:53:47.613] }
[api 2026-02-18 09:53:47.613] responseTime: 4.317707002162933
[09:54:19.962] INFO (2694632): incoming request
reqId: "req-c"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3023",
"remoteAddress": "127.0.0.1",
"remotePort": 43298
}
[09:54:19.964] INFO (2694632): request completed
reqId: "req-c"
res: {
"statusCode": 200
}
responseTime: 0.8102839887142181
[09:54:19.965] INFO (2694632): incoming request
reqId: "req-d"
req: {
"method": "GET",
"url": "/api/health",
"host": "localhost:3023",
"remoteAddress": "127.0.0.1",
"remotePort": 43298
}
[09:54:19.966] INFO (2694632): request completed
reqId: "req-d"
res: {
"statusCode": 200
}
responseTime: 0.5287329852581024
[09:54:31.977] �[33mWARN�[39m (2446958): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:32.081] WARN (2694632): telemetry block poll failed
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:33.964] WARN (2723175): telemetry block poll failed
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[api 2026-02-18 09:54:33.967] [09:54:33.964] WARN (2723175): telemetry block poll failed
[api 2026-02-18 09:54:33.967] pollDelayMs: 10000
[api 2026-02-18 09:54:33.967] err: {
[api 2026-02-18 09:54:33.967] "type": "TypeError",
[api 2026-02-18 09:54:33.967] "message": "fetch failed: ",
[api 2026-02-18 09:54:33.967] "stack":
[api 2026-02-18 09:54:33.967] TypeError: fetch failed
[api 2026-02-18 09:54:33.967] at node:internal/deps/undici/undici:15845:13
[api 2026-02-18 09:54:33.967] at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
[api 2026-02-18 09:54:33.967] at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
[api 2026-02-18 09:54:33.967] at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
[api 2026-02-18 09:54:33.967] at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
[api 2026-02-18 09:54:33.967] caused by: AggregateError [ECONNREFUSED]:
[api 2026-02-18 09:54:33.967] at internalConnectMultiple (node:net:1134:18)
[api 2026-02-18 09:54:33.967] at afterConnectMultiple (node:net:1715:7)
[api 2026-02-18 09:54:33.967] }
[09:54:35.271] �[33mWARN�[39m (2446975): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:35.889] �[33mWARN�[39m (1306330): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:36.281] �[33mWARN�[39m (2652371): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:37.245] �[33mWARN�[39m (2446971): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:37.403] �[33mWARN�[39m (2446936): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:40.027] �[33mWARN�[39m (2446931): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:40.307] �[33mWARN�[39m (2446959): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[09:54:40.386] �[33mWARN�[39m (2446930): �[36mtelemetry block poll failed�[39m
pollDelayMs: 10000
err: {
"type": "TypeError",
"message": "fetch failed: ",
"stack":
TypeError: fetch failed
at node:internal/deps/undici/undici:15845:13
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async rpcCall (/home/klabo/code/nostrstack/apps/api/src/telemetry/bitcoind.ts:49:19)
at async Object.fetchTipHeight (/home/klabo/code/nostrstack/apps/api/src/telemetry/providers.ts:54:23)
at async Timeout._onTimeout (/home/klabo/code/nostrstack/apps/api/src/routes/telemetry-ws.ts:217:22)
caused by: AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7)
}
[social 2026-02-18 09:54:55.291] VITE_API_BASE_URL=http://localhost:3024 VITE_API_PROXY_TARGET=http://localhost:3024 VITE_NOSTRSTACK_HOST=localhost:3024 pnpm --filter social exec vite --host --port 4196 | tee -a /home/klabo/code/nostrstack/.logs/dev/social.log exited with code 0
--> Sending SIGTERM to other processes..
[api 2026-02-18 09:54:55.759] pnpm --filter api dev | tee -a /home/klabo/code/nostrstack/.logs/dev/api.log exited with code SIGTERM
ELIFECYCLE Command failed with exit code 1.).\n2. Open social app and navigate around onboarding + settings.\n3. In some sessions/HMR states, Settings renders but console records hook-order errors.\n\n## Impact\n- Pollutes console with high-severity runtime errors.\n- Makes UI QA noisy and masks other regressions.\n\n## Follow-up\n- Isolate exact component/hook causing order mismatch (likely in settings/onboarding path).\n- Add a regression test or deterministic repro script.