Commit Graph

157 Commits

Author SHA1 Message Date
Sebastian Jeltsch ba5ae3f3a5 Set Client-Id header for Twitch OAuth provider. #215 2026-02-25 09:48:42 +01:00
Sebastian Jeltsch a985160b2e Use defer_foreign_keys instead of foreign_keys = OFF/ON for schema alternations. 2026-02-24 14:40:46 +01:00
Sebastian Jeltsch 980fd8e3f8 Add Twitch OAuth provider (untested). #215 2026-02-24 10:23:22 +01:00
Sebastian Jeltsch 617045cbd0 Make geos+litegis an optional build dependency for the core. Also remove wasm as a default feature to make breakages more apparent (also fixed an issue). 2026-02-20 20:28:40 +01:00
Sebastian Jeltsch ea00d0ef42 Build bundled GEOS only for release builds to speed up CI and dynamically linked builds. 2026-02-19 19:18:02 +01:00
Sebastian Jeltsch 866ae62d08 Update Rust dependencies. 2026-02-19 15:30:10 +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 0c87da2a84 Update Rust dependencies. 2026-02-17 17:55:24 +01:00
Sebastian Jeltsch 5ffefa7b60 Overhaul schema metadata handling in preparation for geometry columns. 2026-02-17 17:15:21 +01:00
Sebastian Jeltsch 530f4aba6d Remap some auth error codes for user register, reset password, and verify email flows and fix OpenAPI docs. #211 2026-02-16 22:05:22 +01:00
Sebastian Jeltsch 3efec2186d Enable building an easily loadable standalone SQLite extension with all of TB's custom functions to minimize lock-in. #210
Remove trailbase-extension-so (due to compile limitations) from full --workspace test and clippy runs.
2026-02-16 12:06:30 +01:00
Sebastian Jeltsch 99646bb105 Add a bcrypt password-hash fallback to better support user imports from other providers and add auth0 user import via the CLI.
We will continue to use argon2 as the default for first-class TrailBase users.
2026-02-13 11:23:43 +01:00
Sebastian Jeltsch da8bdccc63 Update Rust dependencies. 2026-02-10 14:57:10 +01:00
Sebastian Jeltsch 4c707886d0 Improve error output of server-side record config validation #210. 2026-02-10 10:26:37 +01:00
Sebastian Jeltsch 9419b27872 Update Rust dependencies. 2026-02-05 14:15:17 +01:00
Sebastian Jeltsch 35a94223e8 Add uptime to the dashboard. 2026-02-05 00:24:00 +01:00
Sebastian Jeltsch e624f6b7ee Handle 401 & 403 token issues more gracefully in UI by simply redirect to login. 2026-02-04 23:06:44 +01:00
Sebastian Jeltsch b2477b55ee Split the stats from the list logs endpoint and make stats consistently respect the filter. 2026-02-04 14:08:11 +01:00
Sebastian Jeltsch 0af8966868 Cursors fixes: only include cursors where supported and fix admin UI's cursor state handling. 2026-02-03 16:02:47 +01:00
Sebastian Jeltsch 7ecab1cd24 Update serde_qs query parser. 2026-02-02 21:45:32 +01:00
Sebastian Jeltsch 8a550438c7 Update Rust dependencies. 2026-01-23 13:35:00 +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 f23df128d0 Allow for late auth with an explicit WebSocket messages, since Browsers and NodeJS don't allow setting headers on the UPGRADE HTTP request. 2026-01-20 16:26:00 +01:00
Sebastian Jeltsch f2f21fc3b4 Update Rust dependencies. 2026-01-18 22:39:32 +01:00
Sebastian Jeltsch 0a5625bcf6 Move WS subscriptions behind the same endpoint as SSE and improve error handling. 2026-01-18 22:39:28 +01:00
Sebastian Jeltsch 9a29ce2388 Fix WebSocket realtime subscriptions by sending SSE events only for SSE subscriptions. 2026-01-18 16:13:42 +01:00
Sebastian Jeltsch ee75a7b928 Improve SSE subscription error handling and add PoC WebSocket feature. 2026-01-16 12:20:24 +01:00
Sebastian Jeltsch 90069f6c59 Update Rust dependencies. 2026-01-14 20:26:50 +01:00
Sebastian Jeltsch b0f0b84fc2 Allow re-ordering columns in the Create/Alter table UI. #191 2026-01-14 20:26:46 +01:00
Sebastian Jeltsch 414677ce13 Opportunistic cleanup of admin alter table. 2026-01-14 20:01:51 +01:00
Sebastian Jeltsch 2811a51d75 Optimization: for filtered subscriptions first before access checking and opportunistic clenaup. 2026-01-14 20:01:05 +01:00
Sebastian Jeltsch 6a6ba9dc95 Fix edge case for subscriptions getting unregistered too early and opportunistically tidy up code. 2026-01-11 22:43:27 +01:00
Sebastian Jeltsch 57930d17e4 Fix missing total_count for list queries with ?count=true&limit=0. #207 2026-01-10 22:56:21 +01:00
Sebastian Jeltsch 5baea96182 Stream WASM http response body. 2026-01-09 22:41:21 +01:00
Sebastian Jeltsch 3e9997c3d3 Further simplify WASM runtime. 2026-01-09 22:41:15 +01:00
Sebastian Jeltsch 401538963e Simplify WASM runtime integration. 2026-01-09 14:20:04 +01:00
Sebastian Jeltsch c85b01ff0b Update reqwest. 2026-01-08 09:51:06 +01:00
Sebastian Jeltsch 58838f10cc Wire serialized CREATE (TABLE|VIEW) statements through to UI. 2026-01-08 00:17:57 +01:00
Sebastian Jeltsch 89edfc9e3a Fix benchmark. 2026-01-06 10:13:28 +01:00
Sebastian Jeltsch 1ba84437f1 Update rusqlite to v0.38 and vendor serde-rusqlite. 2026-01-05 22:09:06 +01:00
Sebastian Jeltsch ba9cd131ab Only instantiate WASM executor if components are actually found. Reduces footprint on instances not using WASM. 2026-01-05 20:52:29 +01:00
Sebastian Jeltsch 5835fb93a3 Add ip-based rate limiting on all POST auth APIs.
This is an effort to improve abuse protection, e.g. sign-up bombing. Logins where already rate-limited on email address.
2026-01-05 18:27:17 +01:00
Sebastian Jeltsch dedde47f95 Disable winch on MacOS for now: https://github.com/trailbaseio/trailbase/issues/206. 2026-01-02 17:55:15 +01:00
Sebastian Jeltsch d5ff4b5dfb Make queries truly const (rather than lazy statics) wherever possible and remove indoc as dep. 2026-01-02 11:51:14 +01:00
Sebastian Jeltsch 98b87e6255 Cleanup OAuth callback handler and improve error handling. This should mostly be a noop. 2026-01-02 10:03:30 +01:00
Sebastian Jeltsch d36d36aaf0 Update Rust dependencies. 2026-01-02 09:55:22 +01:00
Takumi Mori e26721c58d Add an --spa mode for serving SPAs from --public-dir. Thanks @takumi3488.
Requests to non-root paths that don't look like asset/file requests (i.e. don't have a file extension) will fall back to `/index.html`.
2026-01-01 15:17:53 +01:00
Sebastian Jeltsch 2fa5e8ce96 Update minor Rust dependencies and major Wasmtime version. 2025-12-26 09:22:55 +01:00
Sebastian Jeltsch 91f6ca349a Add RUST_BACKTRACE=1 to example's WASM hot-reload script.
There seems to be a panic on Macs were sync sqlite-function WASM runtimes spawn a nested tokio runtime.
2025-12-26 08:55:56 +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