In Chrome with cross-origin isolation, we are seeing this error when multiple tabs are open. We use some powersync & sqlite_async databases.
NoModificationAllowedError: Failed to execute 'removeEntry' on 'FileSystemDirectoryHandle': An attempt was made to modify an object where modifications are not allowed.
When that error arises, we observe various behaviors. Sometimes it's benign, but sometimes it poisons the database and we have to go to chrome://inspect to kill the Shared Worker.
We worked around it with custom navigator.locks and retry logic, but I'm not really confident in that approach.
We are not able to reliably reproduce the "bad behaviors", but we can easily trigger the error itself. Hopefully this helps.
Repro: https://github.com/xvrh/sqlite3_web-dual-tab-repro
In Chrome with cross-origin isolation, we are seeing this error when multiple tabs are open. We use some powersync & sqlite_async databases.
When that error arises, we observe various behaviors. Sometimes it's benign, but sometimes it poisons the database and we have to go to chrome://inspect to kill the Shared Worker.
We worked around it with custom navigator.locks and retry logic, but I'm not really confident in that approach.
We are not able to reliably reproduce the "bad behaviors", but we can easily trigger the error itself. Hopefully this helps.
Repro: https://github.com/xvrh/sqlite3_web-dual-tab-repro