Skip to content

Fix search and add dark mode - #646

Open
jondricek wants to merge 20 commits into
masterfrom
develop
Open

jondricek wants to merge 20 commits into
masterfrom
develop

Conversation

@jondricek

Copy link
Copy Markdown
Contributor

Fix search and add dark mode

jondricek and others added 20 commits August 7, 2026 11:57
TableWrapper.bulkPut ran its work inside an async Promise executor with no
reject, so a rejected chunk write settled the executor's own promise rather
than the returned one. The promise never settled at all. SearchService's
cold-cache path waits on it behind `while (!searchServiceIsLoaded)`, so the
parsing spinner stays up for good, and the .catch already written for that
path in index.js could not run because nothing ever rejected.

Signed-off-by: ppcvote <risky9763@gmail.com>
Signed-off-by: ppcvote <risky9763@gmail.com>
A failed cold start left searchServiceIsLoaded false, and `search` waits on that
flag in a loop, so every query after the failure re-showed the parsing icon every
100ms for as long as the page stayed open. The warm restore path had the opposite
problem: its `finally` set the flag to true unconditionally, overriding the false
its own `catch` had just set, so a failed restore reported success and then queried
a SearchService that never initialized.

Both paths now put the controls into the same unavailable state the unsupported
browser branch already used, which that branch now shares, and `search` stops
waiting once the index is known not to be coming.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The two tests added with the fix both drive the cold-start branch. This adds one
for the cached branch, where the `finally` used to override the `catch`, so both
halves of the change have a test that fails without it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix: update search filtering to give more accurate results
fix(search): bulkPut hangs instead of rejecting when an IndexedDB write fails
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
9 New Code Smells (required ≤ 5)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants