febc2fcc7d
`nsIWebProgressListener.onStateChange()` gets called twice at the end of requests, once with `stateFlags` set to `327696` and once with it set to `262160`, which corresponds to `STATE_STOP + STATE_IS_NETWORK + STATE_IS_REQUEST` and `STATE_STOP + STATE_IS_NETWORK`. httpd.js debug logging shows that the connection is closed between the two calls. In WebProgressFinishListener, we were previously calling `onFinish` after the first one, but in Zotero 7, at least on Linux (or maybe just on slower machines due to a race condition), the file from `saveURI()` doesn't appear to be reliably written after the first call, causing `Attachments.downloadFile()` to fail in `_enforcePDF()` due to an empty file. This changes WebProgressFinishListener to wait until the second `STATE_STOP` call. We'll have to confirm whether this is the state-change pattern for all requests, but it fixes our Find Available PDF tests in CI. |
||
---|---|---|
.. | ||
scaffold | ||
zotero | ||
zotero-platform |