Sebastian Jeltsch
27ce368add
Introduce a connection identiy and use it to manage subscriptions more robustely.
...
Ultimately names don't matter. Subscriptions only works if the update_hook is installed on the very connection the record APIs use for mutations.
2025-12-13 22:35:13 +01:00
Sebastian Jeltsch
2beab0f770
Cleanup code for change subscriptions.
2025-12-13 14:54:30 +01:00
Sebastian Jeltsch
a3dc4ec2bf
Prepare new release v0.22.0.
v0.22.0
2025-12-12 13:09:07 +01:00
Sebastian Jeltsch
dc87b658d1
Move "main" DB migrations into <traildepot>/migrations/main to follow latest best practices.
2025-12-12 13:04:02 +01:00
Sebastian Jeltsch
29daa0a683
docs: Update roadmap and add a very subtle reference :hide:.
2025-12-12 12:50:33 +01:00
Sebastian Jeltsch
69d305e149
Update to latest Rust stable v1.92 and please linter gods.
2025-12-12 12:15:28 +01:00
Sebastian Jeltsch
a77ff21490
Update Rust dependencies.
2025-12-12 12:03:20 +01:00
Sebastian Jeltsch
a1738ec0d8
Use quick-cache instead of mini-moka for extension where TLL and similar features are not required.
2025-12-12 12:02:48 +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
MentalGear
c464279284
docs: Add config file location and schema reference.
2025-12-10 10:47:44 +01:00
MentalGear
ca50b8a28b
docs: Explain PK trade-offs and add an example for defining an UUID column, especially since it's not a SQLite built-in.
2025-12-10 10:28:00 +01:00
Sebastian Jeltsch
f84f6f42e6
Prepare new release v0.21.11.
v0.21.11
2025-12-05 16:36:30 +01:00
Sebastian Jeltsch
c64885c540
Update Rust dependencies.
2025-12-05 14:58:43 +01:00
Sebastian Jeltsch
eda0f9303b
Update JavaScript dependencies.
2025-12-05 14:58:38 +01:00
Sebastian Jeltsch
328f2b656f
Add aarch64 static linux release. Remove linux glibc release and add aarch64 support to linux install script.
...
Also name workflows more consistently.
2025-12-05 13:46:18 +01:00
Sebastian Jeltsch
8a1ec8b01f
Avoid swallowing some errors, e.g. when table deletion fails.
2025-12-04 20:36:47 +01:00
Sebastian Jeltsch
f2d404fe5a
Prepare new release v0.21.10.
v0.21.10
2025-12-04 16:38:39 +01:00
Sebastian Jeltsch
366991aa80
Update Rust dependencies.
2025-12-04 16:33:13 +01:00
Sebastian Jeltsch
5a912c31ea
Be stricter in demo mode with respect to schema alterations/deletions.
2025-12-04 16:32:36 +01:00
Sebastian Jeltsch
82b3180668
Fix table renames in admin UI.
2025-12-04 16:21:32 +01:00
Sebastian Jeltsch
7d14f4f4fe
Respect db schema when sorting tables in the admin UI.
2025-12-04 14:09:02 +01:00
Sebastian Jeltsch
bde140ab26
Minor: clean up create/alter table form.
2025-12-04 11:07:24 +01:00
Sebastian Jeltsch
4e6fde888d
Minor admin UI tweaks for very narrow screens.
2025-12-03 23:21:41 +01:00
Sebastian Jeltsch
247af6aea8
Prepare new release v0.21.9.
v0.21.9
2025-12-03 21:15:34 +01:00
Sebastian Jeltsch
df0f6894b6
Update Rust and JavaScript dependencies.
2025-12-03 20:55:02 +01:00
Sebastian Jeltsch
51c41b202a
Use fully qualified table names in even more places in the admin UI.
2025-12-03 20:45:40 +01:00
Sebastian Jeltsch
c423b2eff2
Fix column type updating when a foreign key table is select in admin UI. #183
2025-12-03 17:58:17 +01:00
Sebastian Jeltsch
b7f130592b
Use fully-qualified name (name + db schema) in more places.
...
Disambiguation and preparation for a multi-DB world.
2025-12-03 16:14:32 +01:00
Sebastian Jeltsch
0f6969e71c
Prepare new release v0.21.8.
v0.21.8
2025-12-03 13:14:30 +01:00
Sebastian Jeltsch
349fe56033
Add zoom buttons to ERD schema browser.
...
With latest @antv/x6 update panning finally works on mobile. Together with zoom buttons (in the absence of pinch) it becomes actually usable on mobile.
2025-12-03 13:04:43 +01:00
Sebastian Jeltsch
1eccb6aa13
Update @antv/x6.
2025-12-03 12:30:26 +01:00
Sebastian Jeltsch
e90d78e23b
Update JavaScript dependencies.
2025-12-03 12:30:22 +01:00
Sebastian Jeltsch
79d27050a9
Update Rust dependencies.
2025-12-03 12:04:55 +01:00
Sebastian Jeltsch
b275042ab0
Fix: default value field validation in Create/AlterTableForm. #182
2025-12-03 11:52:40 +01:00
Sebastian Jeltsch
afee1bf79f
Create a fresh connection for query executions (from the admin UI) to cleanly separate it from the internal connection and avoid any chance of meddling, e.g. drop extra databases.
2025-12-02 14:15:21 +01:00
Sebastian Jeltsch
254de40be1
Fix overflow in admin UI's SQL editor.
2025-12-02 14:12:20 +01:00
Sebastian Jeltsch
cd4b2af4cb
Prepare new release v0.21.7.
v0.21.7
2025-12-02 10:52:59 +01:00
Sebastian Jeltsch
7c06d60999
Update Rust dependencies.
2025-12-02 10:45:56 +01:00
Sebastian Jeltsch
edb34e2c7c
Move more of the migration loading logic from refinery into TB and allow controlling recursiveness in preparation for multi-DB migrations. This should be a noop for now.
...
Also, drive-by switch new migration tables to be STRICT SQlite tables.
2025-12-02 09:54:13 +01:00
Sebastian Jeltsch
badd85c480
Fix docker alias to work correctly on Mac (probably Windows as well). Thanks @domibies #179 .
2025-11-30 12:25:08 +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
Sebastian Jeltsch
37dd56aad3
Prepare new release v0.21.6.
v0.21.6
2025-11-24 13:11:21 +01:00
Sebastian Jeltsch
8a9c944c0d
Major Rust dependency update.
...
This update would not have been comcompatible with rustyscript->deno->swc, which is why we have to remove the V8 integration in a prior change.
2025-11-23 22:32:03 +01:00
Sebastian Jeltsch
c35c2acc41
It's been a little over 6 weeks since v0.19 removing V8 from the trail binary. This change now removes the code.
...
I wasn't sure how long to keep the code around as an optional feature. However, the latest wasmtime release pins serde to a version, which is incompatible with the latest (somewhat stale) deno/V8/SWC dependencies. In other words, updating wasmtime right now would break the V8 build :/. The state of the rustyscript/deno dependency chain had certainly been one of the driving factors to move to WASM. While it feels validating, it's a little sad to see V8 go... but at the least we want to make the removal eplicit (as opposed to a broken build) with this change.
2025-11-23 22:17:03 +01:00
Sebastian Jeltsch
0c15272bae
Fix: when installing WASM components using the CLI make sure <data_dir>/wasm exists. #179
2025-11-23 00:00:18 +01:00
Sebastian Jeltsch
1fb0f68191
Minor: reference new trail components update command in error message.
2025-11-21 13:13:59 +01:00
Sebastian Jeltsch
2d65ac88d1
Prepare new release v0.21.5.
v0.21.5
2025-11-20 12:05:00 +01:00
Sebastian Jeltsch
1122206c0c
Add a command to CLI to update all "first-party" components.
2025-11-20 11:36:11 +01:00
Sebastian Jeltsch
c726e5fc76
Add a CLI command to list installed WASM components.
2025-11-20 11:36:02 +01:00
Sebastian Jeltsch
af5a3d3b7a
PoC: Minimal open-telemetry tracing and metrics integration behind "otel" feature flag.
2025-11-19 10:28:47 +01:00