Files
archy/.planning/phases/02-ui-performance/02-PERF-AFTER.json
T
archipelagoandClaude Fable 5 f1206ad60f docs(02-08): re-measure every surface on archi-dev-box, commit Results/Outstanding
Re-ran the plan 02-01 harness unmodified against archi-dev-box (same
target, same runs:3 contract) producing 02-PERF-AFTER.json (15/15 rows,
matching the baseline row count). Appended FINDINGS.md's Results table
(per-surface baseline/after comparison, Verdict) and an Outstanding
list of every regression, unmeasured surface, and unsettled gap.

Discovered and cross-verified (via a corrected, harness-independent
remount probe, reproduced twice) that the harness's own remount-probe
selector ('.view-container', generic and shared across every main tab)
became ambiguous once real KeepAlive caching keeps multiple instances
alive simultaneously — the raw artifact's 'remounted' field is
confounded for main tabs whose instance actually survives. Corrected
readings show Home/Apps/Marketplace/Cloud/Web5/Fleet genuinely survive
a round-trip; Server genuinely does not (a real, confirmed gap against
this phase's own must-have truth, flagged in Outstanding, not fixed
here — out of this task's measurement-only scope).

Also recorded real timing regressions (Discover, Server, Web5, Fleet,
AppDetails, OpenWrtGateway) honestly rather than averaging them away,
per the plan's own prohibition, alongside a timing-variance caveat
(baseline and after-run were taken at different times of day on the
same multi-service node).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 21:48:09 -04:00

1476 lines
50 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"baseUrl": "http://archi-dev-box",
"takenAt": "2026-07-31T01:27:30.384Z",
"commit": "3ee20430",
"runs": 3,
"notes": "Skipped/errored surfaces: mesh: locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.mesh-status-grid').first() to be visible\u001b[22m\n\u001b[2m 42 × locator resolved to hidden <div class=\"mesh-status-grid\">…</div>\u001b[22m\n; chat: locator.click: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.chat-close-btn').first()\u001b[22m\n\u001b[2m - locator resolved to <button data-v-fac9d830=\"\" class=\"chat-close-btn\" aria-label=\"Close AI Assistant\">…</button>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <div class=\"p-3 rounded-xl border backdrop-blur-lg shadow-lg bg-yellow-500/15 border-yellow-500/30\">…</div> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is not stable\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 32 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n",
"results": [
{
"id": "home",
"label": "Home (wallet figures)",
"path": "/dashboard",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 247,
"revisitMs": 491,
"firstVisitRpcCount": 0,
"revisitRpcCount": 15,
"revisitRpcCalls": [
{
"method": "auth.totp.status",
"startedAtMs": 113,
"durationMs": 84
},
{
"method": "webhook.get-config",
"startedAtMs": 113,
"durationMs": 84
},
{
"method": "analytics.get-status",
"startedAtMs": 116,
"durationMs": 81
},
{
"method": "backup.list",
"startedAtMs": 116,
"durationMs": 81
},
{
"method": "system.settings.get",
"startedAtMs": 116,
"durationMs": 81
},
{
"method": "system.kiosk-display.get",
"startedAtMs": 116,
"durationMs": 81
},
{
"method": "node.did",
"startedAtMs": 113,
"durationMs": 84
},
{
"method": "node.nostr-pubkey",
"startedAtMs": 211,
"durationMs": 12
},
{
"method": "system.get-hostname",
"startedAtMs": 235,
"durationMs": 36
},
{
"method": "wallet.ark-balance",
"startedAtMs": 440,
"durationMs": 42
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 440,
"durationMs": 43
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 440,
"durationMs": 47
},
{
"method": "lnd.getinfo",
"startedAtMs": 440,
"durationMs": 47
},
{
"method": "wallet.ecash-history",
"startedAtMs": 441,
"durationMs": 49
},
{
"method": "lnd.lightning-history",
"startedAtMs": 441,
"durationMs": 50
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 378,
"remounted": true,
"error": null
},
{
"firstVisitMs": 186,
"revisitMs": 250,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 26,
"durationMs": 1
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 1,
"remounted": true,
"error": null
},
{
"firstVisitMs": 312,
"revisitMs": 395,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 71,
"durationMs": 16
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 16,
"remounted": true,
"error": null
}
],
"firstVisitMs": 247,
"revisitMs": 395,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 71,
"durationMs": 16
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 16,
"remounted": true,
"error": null
},
{
"id": "apps",
"label": "Apps (My Apps)",
"path": "/dashboard/apps",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 374,
"revisitMs": 151,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 49,
"durationMs": 15
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 15,
"remounted": true,
"error": null
},
{
"firstVisitMs": 212,
"revisitMs": 236,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 51,
"durationMs": 3
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 3,
"remounted": true,
"error": null
},
{
"firstVisitMs": 181,
"revisitMs": 184,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 71,
"durationMs": 8
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 8,
"remounted": true,
"error": null
}
],
"firstVisitMs": 212,
"revisitMs": 184,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 71,
"durationMs": 8
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 8,
"remounted": true,
"error": null
},
{
"id": "marketplace",
"label": "Marketplace (App Store)",
"path": "/dashboard/marketplace",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 1205,
"revisitMs": 563,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 75,
"durationMs": 3
},
{
"method": "wallet.ark-balance",
"startedAtMs": 280,
"durationMs": 42
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 280,
"durationMs": 46
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 280,
"durationMs": 46
},
{
"method": "lnd.getinfo",
"startedAtMs": 280,
"durationMs": 46
},
{
"method": "wallet.ecash-history",
"startedAtMs": 280,
"durationMs": 47
},
{
"method": "lnd.gettransactions",
"startedAtMs": 280,
"durationMs": 47
},
{
"method": "lnd.lightning-history",
"startedAtMs": 280,
"durationMs": 47
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 252,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1413,
"revisitMs": 683,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 103,
"durationMs": 9
},
{
"method": "wallet.ark-balance",
"startedAtMs": 362,
"durationMs": 225
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 362,
"durationMs": 228
},
{
"method": "wallet.ecash-history",
"startedAtMs": 363,
"durationMs": 227
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.getinfo",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.gettransactions",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.lightning-history",
"startedAtMs": 363,
"durationMs": 238
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 498,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1215,
"revisitMs": 2020,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 44,
"durationMs": 10
},
{
"method": "wallet.ark-balance",
"startedAtMs": 313,
"durationMs": 363
},
{
"method": "wallet.ecash-history",
"startedAtMs": 313,
"durationMs": 368
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 310,
"durationMs": 371
},
{
"method": "lnd.getinfo",
"startedAtMs": 309,
"durationMs": 372
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 310,
"durationMs": 371
},
{
"method": "lnd.gettransactions",
"startedAtMs": 313,
"durationMs": 368
},
{
"method": "lnd.lightning-history",
"startedAtMs": 313,
"durationMs": 368
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 637,
"remounted": false,
"error": null
}
],
"firstVisitMs": 1215,
"revisitMs": 683,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 103,
"durationMs": 9
},
{
"method": "wallet.ark-balance",
"startedAtMs": 362,
"durationMs": 225
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 362,
"durationMs": 228
},
{
"method": "wallet.ecash-history",
"startedAtMs": 363,
"durationMs": 227
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.getinfo",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.gettransactions",
"startedAtMs": 362,
"durationMs": 239
},
{
"method": "lnd.lightning-history",
"startedAtMs": 363,
"durationMs": 238
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 498,
"remounted": true,
"error": null
},
{
"id": "discover",
"label": "Discover (App Store tab)",
"path": "/dashboard/discover",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": 986,
"revisitMs": 1285,
"firstVisitRpcCount": 0,
"revisitRpcCount": 2,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 6,
"durationMs": 242
},
{
"method": "mesh.status",
"startedAtMs": 280,
"durationMs": 10
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 284,
"remounted": true,
"error": null
},
{
"firstVisitMs": 591,
"revisitMs": 1257,
"firstVisitRpcCount": 2,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 88,
"durationMs": 13
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 13,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1351,
"revisitMs": 1016,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 7,
"durationMs": 110
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 110,
"remounted": false,
"error": null
}
],
"firstVisitMs": 986,
"revisitMs": 1257,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 88,
"durationMs": 13
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 13,
"remounted": true,
"error": null
},
{
"id": "cloud",
"label": "Cloud / Files",
"path": "/dashboard/cloud",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 435,
"revisitMs": 150,
"firstVisitRpcCount": 1,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": false,
"error": null
},
{
"firstVisitMs": 221,
"revisitMs": 129,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 288,
"revisitMs": 102,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
}
],
"firstVisitMs": 288,
"revisitMs": 129,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "mesh",
"label": "Mesh",
"path": "/dashboard/mesh",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.mesh-status-grid').first() to be visible\u001b[22m\n"
},
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.mesh-status-grid').first() to be visible\u001b[22m\n\u001b[2m 36 × locator resolved to hidden <div class=\"mesh-status-grid\">…</div>\u001b[22m\n"
},
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.mesh-status-grid').first() to be visible\u001b[22m\n\u001b[2m 42 × locator resolved to hidden <div class=\"mesh-status-grid\">…</div>\u001b[22m\n"
}
],
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.mesh-status-grid').first() to be visible\u001b[22m\n\u001b[2m 42 × locator resolved to hidden <div class=\"mesh-status-grid\">…</div>\u001b[22m\n"
},
{
"id": "server",
"label": "Server (Network)",
"path": "/dashboard/server",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 964,
"revisitMs": 1392,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 18,
"durationMs": 0
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 744,
"revisitMs": 676,
"firstVisitRpcCount": 0,
"revisitRpcCount": 2,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 17,
"durationMs": 104
},
{
"method": "mesh.status",
"startedAtMs": 43,
"durationMs": 84
}
],
"maxConcurrentRpc": 2,
"rpcWallClockMs": 110,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1762,
"revisitMs": 849,
"firstVisitRpcCount": 1,
"revisitRpcCount": 3,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 20,
"durationMs": 78
},
{
"method": "system.disk-status",
"startedAtMs": 731,
"durationMs": 59
},
{
"method": "network.list-interfaces",
"startedAtMs": 731,
"durationMs": 71
}
],
"maxConcurrentRpc": 2,
"rpcWallClockMs": 782,
"remounted": true,
"error": null
}
],
"firstVisitMs": 964,
"revisitMs": 849,
"firstVisitRpcCount": 0,
"revisitRpcCount": 2,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 20,
"durationMs": 78
},
{
"method": "system.disk-status",
"startedAtMs": 731,
"durationMs": 59
},
{
"method": "network.list-interfaces",
"startedAtMs": 731,
"durationMs": 71
}
],
"maxConcurrentRpc": 2,
"rpcWallClockMs": 782,
"remounted": true,
"error": null
},
{
"id": "web5",
"label": "Web5",
"path": "/dashboard/web5",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 667,
"revisitMs": 1116,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 571,
"revisitMs": 709,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 745,
"revisitMs": 696,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
}
],
"firstVisitMs": 667,
"revisitMs": 709,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "fleet",
"label": "Fleet",
"path": "/dashboard/fleet",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": 773,
"revisitMs": 1148,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1304,
"revisitMs": 1054,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 914,
"revisitMs": 1013,
"firstVisitRpcCount": 0,
"revisitRpcCount": 11,
"revisitRpcCalls": [
{
"method": "fips.status",
"startedAtMs": 56,
"durationMs": 179
},
{
"method": "node-list-peers",
"startedAtMs": 484,
"durationMs": 82
},
{
"method": "federation.list-nodes",
"startedAtMs": 485,
"durationMs": 85
},
{
"method": "node-messages-received",
"startedAtMs": 485,
"durationMs": 86
},
{
"method": "network.list-requests",
"startedAtMs": 486,
"durationMs": 85
},
{
"method": "nostr.discovery-status",
"startedAtMs": 488,
"durationMs": 83
},
{
"method": "network.get-visibility",
"startedAtMs": 488,
"durationMs": 83
},
{
"method": "identity.list",
"startedAtMs": 486,
"durationMs": 85
},
{
"method": "nostr.list-relays",
"startedAtMs": 489,
"durationMs": 82
},
{
"method": "nostr.get-stats",
"startedAtMs": 489,
"durationMs": 82
},
{
"method": "system.detect-usb-devices",
"startedAtMs": 490,
"durationMs": 82
}
],
"maxConcurrentRpc": 10,
"rpcWallClockMs": 516,
"remounted": true,
"error": null
}
],
"firstVisitMs": 914,
"revisitMs": 1054,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "chat",
"label": "Chat (AIUI)",
"path": "/dashboard/chat",
"kind": "main-tab",
"runs": 3,
"samples": [
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.click: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.chat-close-btn').first()\u001b[22m\n\u001b[2m - locator resolved to <button data-v-fac9d830=\"\" class=\"chat-close-btn\" aria-label=\"Close AI Assistant\">…</button>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <div class=\"p-3 rounded-xl border backdrop-blur-lg shadow-lg bg-yellow-500/15 border-yellow-500/30\">…</div> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is not stable\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 35 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n"
},
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.click: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.chat-close-btn').first()\u001b[22m\n\u001b[2m - locator resolved to <button data-v-fac9d830=\"\" class=\"chat-close-btn\" aria-label=\"Close AI Assistant\">…</button>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <div class=\"p-3 rounded-xl border backdrop-blur-lg shadow-lg bg-yellow-500/15 border-yellow-500/30\">…</div> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is not stable\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 35 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n"
},
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.click: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.chat-close-btn').first()\u001b[22m\n\u001b[2m - locator resolved to <button data-v-fac9d830=\"\" class=\"chat-close-btn\" aria-label=\"Close AI Assistant\">…</button>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <div class=\"p-3 rounded-xl border backdrop-blur-lg shadow-lg bg-yellow-500/15 border-yellow-500/30\">…</div> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is not stable\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 32 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n"
}
],
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.click: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.chat-close-btn').first()\u001b[22m\n\u001b[2m - locator resolved to <button data-v-fac9d830=\"\" class=\"chat-close-btn\" aria-label=\"Close AI Assistant\">…</button>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <div class=\"p-3 rounded-xl border backdrop-blur-lg shadow-lg bg-yellow-500/15 border-yellow-500/30\">…</div> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is not stable\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 32 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <p class=\"text-xs text-white/60 mt-0.5\">Disk usage at 80.4% (threshold: 80%)</p> from <div class=\"fixed right-4 z-[200] flex flex-col gap-2 max-w-sm\">…</div> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n"
},
{
"id": "app-details",
"label": "AppDetails (secondary)",
"path": "/dashboard/apps/:id",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": 1424,
"revisitMs": 2063,
"firstVisitRpcCount": 1,
"revisitRpcCount": 9,
"revisitRpcCalls": [
{
"method": "node.nostr-pubkey",
"startedAtMs": 113,
"durationMs": 138
},
{
"method": "auth.totp.status",
"startedAtMs": 127,
"durationMs": 125
},
{
"method": "webhook.get-config",
"startedAtMs": 127,
"durationMs": 125
},
{
"method": "analytics.get-status",
"startedAtMs": 127,
"durationMs": 125
},
{
"method": "backup.list",
"startedAtMs": 130,
"durationMs": 122
},
{
"method": "system.kiosk-display.get",
"startedAtMs": 131,
"durationMs": 121
},
{
"method": "system.settings.get",
"startedAtMs": 131,
"durationMs": 121
},
{
"method": "system.get-hostname",
"startedAtMs": 279,
"durationMs": 75
},
{
"method": "package.credentials",
"startedAtMs": 1932,
"durationMs": 70
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 1889,
"remounted": false,
"error": null
},
{
"firstVisitMs": 921,
"revisitMs": 1510,
"firstVisitRpcCount": 1,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 798,
"revisitMs": 1168,
"firstVisitRpcCount": 1,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 31,
"durationMs": 0
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
}
],
"firstVisitMs": 921,
"revisitMs": 1510,
"firstVisitRpcCount": 1,
"revisitRpcCount": 1,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "marketplace-app-details",
"label": "MarketplaceAppDetails (secondary)",
"path": "/dashboard/marketplace/:id",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": 2338,
"revisitMs": 1562,
"firstVisitRpcCount": 2,
"revisitRpcCount": 7,
"revisitRpcCalls": [
{
"method": "lnd.getinfo",
"startedAtMs": 254,
"durationMs": 26
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 254,
"durationMs": 26
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 254,
"durationMs": 28
},
{
"method": "wallet.ark-balance",
"startedAtMs": 254,
"durationMs": 34
},
{
"method": "lnd.gettransactions",
"startedAtMs": 255,
"durationMs": 33
},
{
"method": "wallet.ecash-history",
"startedAtMs": 257,
"durationMs": 31
},
{
"method": "lnd.lightning-history",
"startedAtMs": 257,
"durationMs": 32
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 35,
"remounted": false,
"error": null
},
{
"firstVisitMs": 1241,
"revisitMs": 1495,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 80,
"durationMs": 11
},
{
"method": "lnd.getinfo",
"startedAtMs": 295,
"durationMs": 21
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 295,
"durationMs": 27
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 296,
"durationMs": 27
},
{
"method": "wallet.ark-balance",
"startedAtMs": 296,
"durationMs": 27
},
{
"method": "lnd.gettransactions",
"startedAtMs": 296,
"durationMs": 27
},
{
"method": "wallet.ecash-history",
"startedAtMs": 297,
"durationMs": 26
},
{
"method": "lnd.lightning-history",
"startedAtMs": 296,
"durationMs": 27
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 243,
"remounted": false,
"error": null
},
{
"firstVisitMs": 2012,
"revisitMs": 1532,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 6,
"durationMs": 107
},
{
"method": "wallet.ark-balance",
"startedAtMs": 580,
"durationMs": 91
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 578,
"durationMs": 93
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 580,
"durationMs": 91
},
{
"method": "wallet.ecash-history",
"startedAtMs": 582,
"durationMs": 89
},
{
"method": "lnd.getinfo",
"startedAtMs": 578,
"durationMs": 93
},
{
"method": "lnd.gettransactions",
"startedAtMs": 582,
"durationMs": 89
},
{
"method": "lnd.lightning-history",
"startedAtMs": 582,
"durationMs": 89
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 665,
"remounted": true,
"error": null
}
],
"firstVisitMs": 2012,
"revisitMs": 1532,
"firstVisitRpcCount": 0,
"revisitRpcCount": 8,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 6,
"durationMs": 107
},
{
"method": "wallet.ark-balance",
"startedAtMs": 580,
"durationMs": 91
},
{
"method": "wallet.ecash-balance",
"startedAtMs": 578,
"durationMs": 93
},
{
"method": "wallet.fedimint-balance",
"startedAtMs": 580,
"durationMs": 91
},
{
"method": "wallet.ecash-history",
"startedAtMs": 582,
"durationMs": 89
},
{
"method": "lnd.getinfo",
"startedAtMs": 578,
"durationMs": 93
},
{
"method": "lnd.gettransactions",
"startedAtMs": 582,
"durationMs": 89
},
{
"method": "lnd.lightning-history",
"startedAtMs": 582,
"durationMs": 89
}
],
"maxConcurrentRpc": 7,
"rpcWallClockMs": 665,
"remounted": false,
"error": null
},
{
"id": "cloud-folder",
"label": "CloudFolder (secondary)",
"path": "/dashboard/cloud/:folderId",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": null,
"revisitMs": null,
"firstVisitRpcCount": null,
"revisitRpcCount": null,
"revisitRpcCalls": [],
"maxConcurrentRpc": null,
"rpcWallClockMs": null,
"remounted": null,
"error": "locator.waitFor: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('.cloud-folder-container h1').first() to be visible\u001b[22m\n"
},
{
"firstVisitMs": 2002,
"revisitMs": 1023,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": false,
"error": null
},
{
"firstVisitMs": 366,
"revisitMs": 947,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
}
],
"firstVisitMs": 1184,
"revisitMs": 985,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "openwrt-gateway",
"label": "OpenWrtGateway (secondary)",
"path": "/dashboard/server/openwrt",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": 5489,
"revisitMs": 1854,
"firstVisitRpcCount": 20,
"revisitRpcCount": 3,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 20,
"durationMs": 182
},
{
"method": "server.get-state",
"startedAtMs": 655,
"durationMs": 14
},
{
"method": "openwrt.get-status",
"startedAtMs": 1781,
"durationMs": 61
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 1822,
"remounted": true,
"error": null
},
{
"firstVisitMs": 1208,
"revisitMs": 1148,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 840,
"revisitMs": 521,
"firstVisitRpcCount": 1,
"revisitRpcCount": 2,
"revisitRpcCalls": [
{
"method": "system.get-hostname",
"startedAtMs": 71,
"durationMs": 53
},
{
"method": "vpn.status",
"startedAtMs": 273,
"durationMs": 170
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 372,
"remounted": true,
"error": null
}
],
"firstVisitMs": 1208,
"revisitMs": 1148,
"firstVisitRpcCount": 1,
"revisitRpcCount": 2,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"id": "wallet-send",
"label": "Wallet / send flow (Home wallet card, SendBitcoinModal)",
"path": "/dashboard",
"kind": "secondary",
"runs": 3,
"samples": [
{
"firstVisitMs": 736,
"revisitMs": 2722,
"firstVisitRpcCount": 0,
"revisitRpcCount": 0,
"revisitRpcCalls": [],
"maxConcurrentRpc": 0,
"rpcWallClockMs": 0,
"remounted": true,
"error": null
},
{
"firstVisitMs": 656,
"revisitMs": 2513,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "mesh.status",
"startedAtMs": 1517,
"durationMs": 7
}
],
"maxConcurrentRpc": 1,
"rpcWallClockMs": 7,
"remounted": true,
"error": null
},
{
"firstVisitMs": 509,
"revisitMs": 2556,
"firstVisitRpcCount": 0,
"revisitRpcCount": 4,
"revisitRpcCalls": [
{
"method": "openwrt.get-status",
"startedAtMs": 992,
"durationMs": 11
},
{
"method": "fips.status",
"startedAtMs": 992,
"durationMs": 101
},
{
"method": "vpn.status",
"startedAtMs": 992,
"durationMs": 187
},
{
"method": "system.stats",
"startedAtMs": 992,
"durationMs": 265
}
],
"maxConcurrentRpc": 4,
"rpcWallClockMs": 265,
"remounted": true,
"error": null
}
],
"firstVisitMs": 656,
"revisitMs": 2556,
"firstVisitRpcCount": 0,
"revisitRpcCount": 1,
"revisitRpcCalls": [
{
"method": "openwrt.get-status",
"startedAtMs": 992,
"durationMs": 11
},
{
"method": "fips.status",
"startedAtMs": 992,
"durationMs": 101
},
{
"method": "vpn.status",
"startedAtMs": 992,
"durationMs": 187
},
{
"method": "system.stats",
"startedAtMs": 992,
"durationMs": 265
}
],
"maxConcurrentRpc": 4,
"rpcWallClockMs": 265,
"remounted": true,
"error": null
}
]
}