Load pyodide packages by a path it can parse, and notice when it fails (#2517)
Pyodide takes a wheel's package name from the last "/"-separated part of what it is handed, up to the first "-". Windows separators are not separators to it, so a native path arrives as one long name. Under a directory like grist-desktop-0.3.14-win-x64 every wheel resolves to the same name, they collide, and all but the first are discarded as duplicates. Nothing installs, and the data engine then fails on "import sortedcontainers" the moment a document is opened. Forward slashes parse correctly, and Windows opens them happily. loadPackage resolves even when it loaded nothing, reporting trouble only through an errorCallback nobody passed. So also compare what loaded against what was asked for, and fail there rather than much later from inside the data engine. Verified on windows under github runner conditions: an unmodified grist-desktop release cannot open a document, and opens documents and evaluates formulas with this change.
P
Paul Fitzpatrick committed
df36cedf05afa3fab951daccd7e866dcafc9c843
Parent: 81682d2
Committed by GitHub <noreply@github.com>
on 8/13/2026, 8:05:59 PM