Repository navigation
fix(ni): the unlock effect loads the board once, not in a loop - #519
Merged
Merged
Conversation
The effect that reloads the board when the vault flips to unlocked called load() under tracking; load()'s synchronous prefix reads `items` (a $state) and then reassigns it after the fetch, so every reload re-ran the effect and the page issued GET /api/ni/board back to back, forever (dozens per 0.1 s on a board with three live cards). The call now runs under `untrack`, so the effect depends on the unlocked flag only. Found recording the Neural Interface clip; the first-card crash fixed in #517 had hidden it.
SecureCloudGroup
added a commit
that referenced
this pull request
Oct 14, 2026
…screenshot (#520) * docs(media): quickstart clip 12 — the Neural Interface — and the board screenshot Recorded with tools/gifgen against main after #517/#518/#519, deterministically: the released Library pack v1.5.0 mounted read-only into the demo container, canned model turns for the intent, query, design pick and fit check of three asks, and recorded source responses served by the recorder-only shim (gated on SB_GIFDEMO=1 + SB_GIFDEMO_NI; every other fetch refused). The clip: ask in plain words, tap the Library source it found, check the designed card, live on the board; a second ask; an honest stop with a dataset link. Board screenshot 04-neural-board.png (three live cards). README row 12; docs/03 embeds; gifgen README and run.sh (`./run.sh 12` does take, encode, poster, sheet and the docshot). Help bundle rebuilt. * gifgen: parse the design-pick skeleton with string slicing, not backtracking regexes (CodeQL py/polynomial-redos)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second blocker from the real-browser recording. With the vault unlocked,
/nifiredGET /api/ni/boardback to back, forever (dozens of requests per 0.1 s on a board with three live cards; the page never reached network idle). The unlock$effectcalledload()under tracking;load()'s synchronous prefix readsitems(a$state) and reassigns it after the fetch, so each reload re-ran the effect. The call now runs underuntrack, so the effect depends on the unlocked flag only; the 10 s poll, the visibility poll and the 3 s fast-poll (interval callbacks, untracked) are unchanged. The board's first-card crash (#517) had masked it. Gates: svelte-check 0 / 0, vitest 648, bundle rebuilt. Verification: the clip worker re-measures the request rate on the real page after its tree refresh. Merge before tagging v0.26.0.