Stored HTML indexing: compatibility failure with Nixpkgs’ ESR 140.15 runtime

This does not reproduce with the official Zotero 10.0.1 Linux build. It occurs in Nixpkgs builds that supply Firefox ESR 140.15 instead of the ESR 140.14 used by the official build.

During background indexing of a stored HTML attachment, Zotero exits with:

IPDL protocol error: Illegal load attempt of blob: URL from web
Exiting due to channel error.

The attachment can be reduced to a zero-byte .html file, so its original contents are unnecessary. Tested 140.14 builds index it successfully; tested 140.15 builds crash. The runtime update is strongly implicated, though the tested Nixpkgs revisions also differ.

Zotero’s HTML full-text extraction code in getPageData() reads the attachment into a JavaScript Blob, creates a blob: URL with URL.createObjectURL(), and loads that URL in a HiddenBrowser. The crash occurs when that hidden browser loads the blob: URL under ESR 140.15. As a diagnostic test, I modified the code to load the attachment’s local file: URL directly instead. With that single change, Zotero indexed both the zero-byte HTML reproducer and the original HTML snapshot without crashing. This identifies the blob-loading path as relevant, although it doesn't establish that loading file: URLs is a complete or appropriate fix for every attachment type.

The downstream report and test results are at https://github.com/NixOS/nixpkgs/issues/561292. Is this a known compatibility change, and would a minimal reproducer help determine the appropriate adaptation? I understand that the Nixpkgs package is outside the supported distribution, but maybe this deserves a fix nonetheless.
Sign In or Register to comment.