mirror of
https://github.com/samvallad33/vestige.git
synced 2026-04-24 16:26:22 +02:00
fix(dashboard): split empty-database from API-failure on the graph page
Before this, any exception from `api.graph()` — network down, dashboard disabled server-side, 500, 404 — surfaced as "No memories yet. Start using Vestige to populate your graph." Indistinguishable from a clean first-run install. Users couldn't tell whether Vestige was empty or actually broken. The fix checks both the error message shape (looks for 404 / not found / empty / "no memor" patterns) AND the last known graph node count. Only when both say "empty" do we keep the onboarding message; anything else surfaces the real error under "Failed to load graph: ..." so debugging doesn't require guessing.
This commit is contained in:
parent
822a7c835b
commit
01d2e006dc
1 changed files with 13 additions and 2 deletions
|
|
@ -87,8 +87,19 @@
|
|||
liveNodeCount = graphData.nodeCount;
|
||||
liveEdgeCount = graphData.edgeCount;
|
||||
}
|
||||
} catch {
|
||||
error = 'No memories yet. Start using Vestige to populate your graph.';
|
||||
} catch (e) {
|
||||
// Distinguish "cold-start / empty database" from "actual API failure".
|
||||
// Before v2.0.7 both surfaced as "No memories yet..." which masked
|
||||
// real errors (network down, dashboard disabled, 500s) and looked
|
||||
// identical to a first-run install. Split the two so debugging
|
||||
// isn't a guessing game.
|
||||
const msg = e instanceof Error ? e.message : String(e);
|
||||
const isEmpty =
|
||||
(graphData?.nodeCount ?? 0) === 0 &&
|
||||
/not found|404|empty|no memor/i.test(msg);
|
||||
error = isEmpty
|
||||
? 'No memories yet. Start using Vestige to populate your graph.'
|
||||
: `Failed to load graph: ${msg}`;
|
||||
} finally {
|
||||
loading = false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue