Open quolpr opened 3 years ago
Thanks for the issues! You are using the fallback mode, which has the limitation that only one tab can write the to db at a time. It falls back to this mode when SharedArrayBuffer
isn't available. Unfortunately, for browsers to make it available you need to make sure you site is served with these headers:
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
If you are using webpack dev mode, check out the webpack config in the examples
folder and you'll see how to get it to serve those headers.
The undefined name might be a bug in the fallback mode. I'll check it out!
@jlongster ooops, you were absolutely right! All issues are gone 🙂 Thank you so much for the help and the fast reply
But it seems that a bug in the fallback mode is still present though
Re-opening to track the fallback mode bug
Some investigations. At https://priceless-keller-d097e5.netlify.app on safari IDB creates correctly:
But on https://app-next.actualbudget.com/subscribe the IDB is undefined too:
I also cloned the current repo and started the bench example, it shows the DB name is undefined too(but I see the message SharedArrayBuffer is not available in your browser. Falling back..
)
@jlongster do you know on which version of absurd-sql priceless-keller-d097e5.netlify.app
is running?
Nevermind, I found that this commit https://github.com/jlongster/absurd-sql/commit/33f9898d8b1d297242fb4a7f780ac3a2062d4a58 breaks safari support
I am using the latest version of the absurd-sql + your sql.js (0.0.53). When I do this:
main:
worker:
The new IndexedDB DB got created, but its name is
undefined
But in your example site, IndexedDB DBs have the correct names 🤔
Also, on page reload I am getting this message on insert:
And I think it somehow may relate to the issue 🤔 The interesting is that when it overwrites(I guess) all blocks from the previous site open — it starts working well.
Btw, great lib 👍 I was making a note-taking app, and I was on stage where I was needed to introduce a full-text search, and in IndexedDB it is a headache. Now I am going to rewrite the persistence layer to absurd-sql, and I am super excited to get overall speed improvements with a text search for free 🙂 And it also gives me the easy way to improve the speed when I will be porting the app to the phones/desktops — ionic/cordova/electron has wrappers for the native SQLite.