Chrome auto updated to 10.0.125 and some export capability stopped working. I suspect a beta was published wrongly given you have not officially released
Full summary by AI
Title: v10: localStorageExport saves the file under a UUID name instead of the requested filename
▎
▎ Versions: works in 9.6.1; broken in 10.0.x (seen on 10.0.56 through 10.0.125). Chromium 150.0.7871.128, Linux.
▎
▎ Repro: a macro with localStorageExport | test_export.csv | — intermittently the file lands in the download folder as .txt (the blob UUID) instead of test_export.csv. The macro log still reports ‘test_export.csv’ exported to the browser’s Downloads folder, so it looks successful. When it does work the name is correct but carries a (1) uniquify suffix.
▎
▎ Cause: the export now calls chrome.downloads.download({url: blobUrl, filename}). In current Chromium the filename option is ignored for blob URLs — I verified this directly: the download is accepted, completes without error, and lands as ., with the blob’s MIME type deciding only the extension (untyped → .txt, text/csv → .csv, application/octet-stream → no extension). The requested name never applies.
▎
▎ The correct name only ever arrives via the downloads.onDeterminingFilename listener, which suggests it with conflictAction: “uniquify” — hence the (1) suffix on successful exports. That listener only fires when activeDownloads is non-empty and the download id is registered, and that state is held in memory in the MV3 service worker. If the worker has been evicted, or the download isn’t registered in time, no suggestion is made and Chromium falls back to the URL-derived UUID name.
▎
▎ Suggested fix: don’t rely on service-worker-resident state for the filename — persist the pending map in chrome.storage.session, or go back to naming the file in the page (the pre-10.0.56 FileSaver/ path, which was not affected).
▎
▎ Since !errorignore reports the export as successful either way, this fails silently — any script that reads the exported file by name just finds nothing.