Commit Graph

226 Commits

Author SHA1 Message Date
Sebastian Jeltsch 4dde89c879 Add a Transport abstraction to swift client, add a change event representation and failed attempt of adding change subscriptions.
At least on Linux I'm failing to receive SSE events :/.
2026-03-23 12:12:29 +01:00
Sebastian Jeltsch 15e39febc2 Go client: add a transport abstraction & remove client interface indirection. 2026-03-20 21:29:07 +01:00
Sebastian Jeltsch 684505e8cd Dotnet client: abstract transport, allow injecting custom impl and update dependencies. 2026-03-20 20:46:48 +01:00
Sebastian Jeltsch fc1e440732 Dart client: abstract transport and allow injecting custom implementation. 2026-03-20 20:46:48 +01:00
Sebastian Jeltsch b296eabfcf Add GitHub OAuth provider (validated) and fix OAutch callback cookie strictness: i.e. require secure/TLS for HTTPS sites in prod mode.
Previously, `secure` was set in dev mode.
2026-03-19 22:55:43 +01:00
Sebastian Jeltsch e2609c2521 Update to vite8. 2026-03-19 10:48:28 +01:00
Sebastian Jeltsch 61eb0734a9 Update docs to astro6 and update JS dependencies. 2026-03-19 10:21:00 +01:00
Sebastian Jeltsch 0da2d46369 Prepare new client releases. 2026-03-16 22:07:50 +01:00
Sebastian Jeltsch d897e962e8 Follow-up cleanup s/login2nd/loginSecond/. 2026-03-16 21:44:49 +01:00
Sebastian Jeltsch bcb1720b1c Add subscription support to Go client. 2026-03-16 21:33:25 +01:00
Sebastian Jeltsch 386d616fd6 Go client: add two-factor and OTP login support. 2026-03-16 12:23:12 +01:00
Sebastian Jeltsch ab6502a8c5 Python client: add two-factor and OTP login support 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 10080fa127 Swift client: add two-factor and OTP login support. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 2b1ecd434d Dotnet client: add two-factor and OTP login support. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch a433a04283 Kotlin client: add two-factor and OTP login support. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 0e74605861 Dart client: add two-factor and OTP login support. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 42f250a2b4 Various fixes and improvements. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 0cc3799af3 Add OTP auth flows: request code + login. Also add corresponding UIs to both admin UI and auth-ui crate. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch cf7f4db2d3 Add two-factor authentication using TOTPs. Also add registration & logins UIs to admin dash and the auth-ui crate.
Loosely based on maxirozay@'s https://github.com/trailbaseio/trailbase/pull/212.
2026-03-16 10:48:09 +01:00
Sebastian Jeltsch d2a6abda0b Add more KMP platform targets to Kotlin client to satisfy default CMP templates (especially iosSimulator, js, wasmJs). 2026-03-09 20:21:34 +01:00
Sebastian Jeltsch a9dd6bc523 Prepare publishing the new kotlin multiplatform client v0.3.0. 2026-03-09 11:09:57 +01:00
Sebastian Jeltsch c483cb72d7 Add initial support for RecordApi subscriptions to Kotlin client and update dependencies. 2026-03-09 11:09:43 +01:00
Sebastian Jeltsch 5af8d1e485 Turn kotlin client into a multi-platform build. 2026-03-09 11:09:20 +01:00
Sebastian Jeltsch c3ead55a1f Fix HTTP method-based routing for JS/TS WASM components with ambgious paths. 2026-03-07 22:25:40 +01:00
Sebastian Jeltsch a47af08675 Avoid multiple calls to init() per init for Rust guests and share Sqlite function declarations between init and dispatch. 2026-03-06 12:43:12 +01:00
Sebastian Jeltsch 79a219bb3e Expose wstd::rand in rust guests. Add a few more integration tests. 2026-02-27 22:37:14 +01:00
Sebastian Jeltsch b56ce4b544 Fix cross-platform builds after addiong GEOS dependency.
* GEOS couldn't build on MacOS due to CMake being to new :/.
* GEOS couldn't build on Linux MUSL, due to missing an appropriate g++ setup :/.

We're now downgrading cmake and are building in Docker on Linux :/.
2026-02-20 17:42:06 +01:00
Sebastian Jeltsch f3ee92ff94 Prepare releases of new client versions. 2026-02-19 19:17:59 +01:00
Sebastian Jeltsch 61567670f1 Add support for geospatial queries to all clients. The TS client also supports GeoJSON FeatureCollection output. 2026-02-19 15:29:00 +01:00
Sebastian Jeltsch 63210e2e7c Add support for WKB geometry columns, @within, @intersects & @contains spatial queries list and GeoJSON FeatureCollection output. 2026-02-19 15:28:45 +01:00
Sebastian Jeltsch ada26e2a7b Update JavaScript dependencies. 2026-02-19 11:10:09 +01:00
Sebastian Jeltsch 9365d86d81 Streamline JS/TS WASM HTTP handler, introduce HttpResponse.(status|ok|text|json). 2026-02-18 23:57:05 +01:00
Sebastian Jeltsch 91e3984f53 Update JavaScript dependencies. 2026-02-06 13:03:35 +01:00
Sebastian Jeltsch f34ee21df6 Update Rust dependencies and fix incompatibilities. 2026-02-01 11:04:22 +01:00
Sebastian Jeltsch 5b9b32e0ac Move sqlean/sqlite-vec loading to the CLI level and switch to maintained sqlite-vec fork: https://github.com/vlasky/sqlite-vec. 2026-02-01 11:04:22 +01:00
Sebastian Jeltsch a51add4d81 Fix type checker issues with python client and latest jwt lib. Also start using flake8 for more idiomatic code. 2026-01-31 23:07:17 +01:00
Sebastian Jeltsch 369785a7f1 Change client library's license to a "OSL-3.0 OR Apache-2.0" dual license. #192 2026-01-27 09:38:52 +01:00
Sebastian Jeltsch 5898fc9dba Merge WASM-host implementations for HTTP/Job handlers and SQLite functions. Also extend SQLite function state life-cycle to persist and be shared. 2026-01-23 13:34:57 +01:00
Sebastian Jeltsch fd9a026631 Update JavaScript dependencies & and downgrade Astro (newer versions break our docs, client islands broken?). 2026-01-20 15:12:41 +01:00
Sebastian Jeltsch 8ad3783716 Minor: update tag line. 2026-01-18 22:39:32 +01:00
Sebastian Jeltsch 217d95a927 Update JavaScript dependencies. 2026-01-15 21:58:33 +01:00
Sebastian Jeltsch 8cd343013b Update JavaScript dependencies. 2026-01-11 23:02:27 +01:00
Sebastian Jeltsch 0ab548e164 Update JavaScript dependencies. 2026-01-02 23:22:02 +01:00
Sebastian Jeltsch bb462f9240 Prepare new release v0.22.4. 2025-12-18 12:40:30 +01:00
Sebastian Jeltsch e804788e5c Update JavaScript dependencies. 2025-12-18 12:13:02 +01:00
Sebastian Jeltsch c536aaf341 Peel back admin UI's login screen only when actual admin user.
IMPORTANT: this behavior was **never** a security concern. Admin APIs always required an admin user. This change merely prevents a defunct UI from being shown to non-admin users.

Adding the new JWT property broke the kotlin client, since its JSON parser was arguably set up too strict.
2025-12-18 10:11:07 +01:00
Sebastian Jeltsch 80f2f5e514 Update Rust and JavaScript dependencies. 2025-12-15 14:47:54 +01:00
Sebastian Jeltsch 84254e2fed Introduce multi-DB support, i.e. Record APIs can be powered by TABLEs/VIEWs from different DBs. This can help with physical isolation and offer a path forward when locking bottlenecks are encountered.
It's still early days, e.g. the UI doesn't yet support creating new DBs. However it allows exploring, creating and altering schemas for existing DBs. For now use the config to register new DBs.

Changes:

* Config-driven life-cycle management for "extra" DBs, i.e. creation and migration-management.
* Completely rewire connection & schema access throughout, now using a ConnectionManager abstraction.
* Update SubscriptionManager to track subscriptions across multiple DBs.
* Per-DB file management.
* Improved error handling.
* Basic e2e tests including file handling.
* Update UI:
  * Explorer: show, create and alteration of schemas on non-main DBs.
  * SQL Editor: allow control over which DBs are attached to the connection.

This change is breaking: it affects how migrations are loaded from `<traildepot>/migrations/<db>/` and switches transaction default of batch endpoint to false (cheaper).

This change does not introduce a notion of multi-tenancy, i.e. create a per-tenant/user DB on the fly based on templates and corresponding traffic routing.
2025-12-12 11:48:30 +01:00
Sebastian Jeltsch e90d78e23b Update JavaScript dependencies. 2025-12-03 12:30:22 +01:00
Sebastian Jeltsch 40e7f2ff88 Explicitly target python 3.12 with the pyright static type checker. #181 2025-11-29 22:38:46 +01:00