Skip to content

Fix empty/hanging WinGet Discover after the Turso migration#32

Merged
Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
fix-turso-source-search
Jun 2, 2026
Merged

Fix empty/hanging WinGet Discover after the Turso migration#32
Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
fix-turso-source-search

Conversation

@GabrielDuf
Copy link
Copy Markdown
Contributor

Since the Turso SQLite migration shipped in 0.8.0, UniGetUI's page returns no results from the winget source ("Failed when searching source: winget"), and pinget source update intermittently fails with Access is denied (os error 5). This PR fixes both and bumps the version to 0.8.1.

Fix

  • emit a non-correlated rowid IN (SELECT owner FROM map JOIN value …) so the owner-id set is evaluated once (LIST SUBQUERY + bloom filter) instead of per row. Applied identically to the Rust core and C# core.
  • if the overwrite is blocked, pinget now: waits and retries a few times — most locks (like an AV scan) are gone within milliseconds; then if it's still blocked, renames the old index out of the way and moves the new one in. This works even while another pinget is still reading the old file, because SQLite keeps the open file alive until that reader finishes. The renamed-aside copy is only deleted once the new index is safely in place, and put back if anything goes wrong — so a working index is never lost.

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) merged commit 02d0007 into master Jun 2, 2026
13 checks passed
@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) deleted the fix-turso-source-search branch June 2, 2026 05:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants