What’s Dexie?

Reply to this note

Please Login to reply.

Discussion

https://dexie.org/

Good Lord they're bragging about being "only" 25k minimized. Web developers MUST BE STOPPED.

I’ve used idb to good effect. Simplifies the event logic. https://www.npmjs.com/package/idb

Haven’t tried PouchDB yet, but I think that’s likely the way I’d go on a fresh project. Since Nostr events are immutable, pairing PouchDB with one or more CouchDB replicas may be straightforward.

It's a wrapper library on top of IndexedDB, which is a storage of API of the browser. IndexedDB was introduced more than 10 years ago when JavaScript was still a bad language, therefore, the API of IndexedDB is horrible. Dexie makes the API a bit nicer.

But IndexedDB is slow as hell.

Here is my prediction: we will move away from browsers and create our own browser-like super application/client that can loads other clients.

The nostr browser will be implemented in Rust and the scripting language is a new language and the layout is not CSS!

you can load other clients on Lume 😛

what? how?

In tauri v2 (beta), it is supporting spawn multiple webview inside main window, state (in rust) of main window will be share across child webviews too.

So Lume use this technique to implement column system, each column is actual webview, it can load any thing, include other nostr client (via url).

You also can control what data child webview can access too, like prevent child webview get user's private key.

You can check my implement here: https://github.com/lumehq/lume/blob/main/src-tauri/src/commands/window.rs

And demo for using Snort inside Lume: https://cdn.satellite.earth/e9ac4131cc6e2e86c72e8db9a4b3205983ad561ae1ef6564a45e11c3dfdc7f5d.mov

the downside is child webview only work well on macOS now

Test

For what?