1300 Commits

Author SHA1 Message Date
Sebastian Jeltsch
fbc72ce591 Prepare new release v0.22.3. v0.22.3 2025-12-15 21:25:54 +01:00
Sebastian Jeltsch
70d025b126 Downgrade vite-tsconfig-paths to fix Windows builds. 2025-12-15 21:23:35 +01:00
Sebastian Jeltsch
661e12158d Simplify table explorer's pagination state handling. 2025-12-15 20:35:50 +01:00
Sebastian Jeltsch
80d3d77450 Prepare new release v0.22.2. v0.22.2 2025-12-15 15:12:39 +01:00
Sebastian Jeltsch
7816988870 Disallow config changes in demo mode. 2025-12-15 15:11:51 +01:00
Sebastian Jeltsch
80f2f5e514 Update Rust and JavaScript dependencies. 2025-12-15 14:47:54 +01:00
Sebastian Jeltsch
d4c9c55469 Add a basic link/unlink UI for additional databases. 2025-12-15 14:37:09 +01:00
Sebastian Jeltsch
986545240a Fix user account pagination.
Has been broken since switching to UUIDv4 ids.
2025-12-15 12:26:17 +01:00
Sebastian Jeltsch
cfa68086c2 Fix: fill attached databases when adding an API from the UI using a non-main DB. 2025-12-14 13:53:56 +01:00
Sebastian Jeltsch
9b3cd82143 Be slightly more conservative with removing pre-update hooks. 2025-12-14 10:35:08 +01:00
Sebastian Jeltsch
c8040e68df Prepare new release v0.22.1. v0.22.1 2025-12-14 01:18:59 +01:00
Sebastian Jeltsch
d87cdf9358 Avoid linear seek for looking up APIs optimizing for large N case. 2025-12-14 01:12:36 +01:00
Sebastian Jeltsch
cf59c62cd4 Update Rust dependencies. 2025-12-14 00:38:15 +01:00
Sebastian Jeltsch
2de60c2d10 Layered locking to reduce congestion and improve subscription performance. 2025-12-14 00:29:39 +01:00
Sebastian Jeltsch
1875220c67 Avoid unecessary connection cycling for >256 DBs. This could defunct "realtime" subscriptions. 2025-12-13 23:54:29 +01:00
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