Simon Binder
Simon Binder
Support `dart2wasm` as a compiler for tests running in Node.js. `dart2wasm` emits a `.mjs` file exporting definitions to load generated wasm modules, the only additional thing we have to do...
This adds the `exposeEndpoint()` method on the web, which returns a record of values that can be sent across workers on the web. It also adds a new method that...
This offloads the task of synchronizing databases to a separate worker, allowing it to be coordinated across tabs even when the database itself is not in a shared worker. To...
Currently, `QueryExecutor` consists of the methods `runSelect`, `runCustom`, `runInsert`, `runUpdate` and `runDelete` to run statements. Across implementations, there is no difference between `runUpdate` and `runDelete`. The only difference between them...
The `readLock` and `writeLock` APIs have a `lockTimeout` parameter to not wait on locks longer than intended. The `WebDatabase` implementation did not forward these arguments properly, this fixes that. I've...
This adds an option to use a new sync implementation from the core extension instead of the JavaScript implementation. The core implementation is marked as experimental, and we default to...
This merges all options affecting the sync client (retry duration, crud throttle and client parameters) into a single object (`SyncOptions`) that can be passed to `connect()`. The old field for...
When opening connections through the ktor client API, it looks like there's no good way to customize the setup metadata for each connection. It can only be set once for...
We have a bunch of issues that [require breaking changes](https://github.com/simolus3/drift/labels/breaking) to address. Drift would be better with them fixed, but I also want to a new major version until there's...
In drift files, companions can be referenced for insert statements using ```SQL createUser: INSERT INTO users $newUser; ``` which will then make drift generate a `createUser(Insertable newUser)` method to supply...