aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-01 12:42:16 -0800
committerAdam Soltys <[email protected]>2026-03-01 12:42:16 -0800
commit0167d3d9348d9e2cb1f85cd499ef346f6e85dad1 (patch)
tree8c3048fdf0f4209618ff7a4cb2be612856d3780b /src/routes
parent6ac0d3da9668149cb2c3b6322fa431a2f7f508a9 (diff)
downloadcoinos-ui-0167d3d9348d9e2cb1f85cd499ef346f6e85dad1.tar.gz
coinos-ui-0167d3d9348d9e2cb1f85cd499ef346f6e85dad1.zip
Fix ark e2e tests: consolidate into serial suite, fix VTXO contention
- Skip settle/refresh during tests via ark:skipSettle flag to prevent VTXOs from being registered in never-completing ark rounds - Add 3s timeout on syncPromise wait in sendArk to prevent hangs - Fix ensureArkAccount to wait for autoUnlockArk and create account via API with correct address (Schnorr signatures are non-deterministic) - Consolidate all 6 ark tests into single serial file to prevent server wallet contention - Split playwright config into parallel (non-ark) and serial (ark) projects Co-Authored-By: Claude Opus 4.6 <[email protected]>
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/(app)/+layout.svelte16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte
index c04dc6f9..e06ec990 100644
--- a/src/routes/(app)/+layout.svelte
+++ b/src/routes/(app)/+layout.svelte
@@ -134,8 +134,10 @@
});
arkSync("initArk");
- refresh().catch((e) => console.error("Ark refresh failed:", e));
- settle().catch((e) => console.error("Ark settle failed:", e));
+ if (!localStorage.getItem("ark:skipSettle")) {
+ refresh().catch((e) => console.error("Ark refresh failed:", e));
+ settle().catch((e) => console.error("Ark settle failed:", e));
+ }
// Init service worker wallet for background fund notifications
getServiceWorkerWallet().catch((e) => console.error("SW wallet init:", e));
@@ -150,10 +152,12 @@
}
// Periodically recover expired VTXOs
- if (arkRefreshTimer) clearInterval(arkRefreshTimer);
- arkRefreshTimer = setInterval(() => {
- refresh().catch((e) => console.error("Ark periodic refresh failed:", e));
- }, 60_000);
+ if (!localStorage.getItem("ark:skipSettle") && arkRefreshTimer) clearInterval(arkRefreshTimer);
+ if (!localStorage.getItem("ark:skipSettle")) {
+ arkRefreshTimer = setInterval(() => {
+ refresh().catch((e) => console.error("Ark periodic refresh failed:", e));
+ }, 60_000);
+ }
}
};