diff --git a/CHANGELOG.md b/CHANGELOG.md index 755140d7..e88f508f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +## v0.8.0 + +* Add support for periodic cron jobs: + * Add dashboard to admin UI to inspect, configure and trigger cron jobs. + * Users can register their own cron jobs from the JS runtime. + * Replace internal periodic tasks with cron jobs to increase configurability, + discoverabilty, and avoid drift. + * BREAKING: removed `backup_interval_sec` from proto config. When explicitly specified, + users will need to remove it from their `/config.textproto` and set an + appropriate cron schedule instead. + ## v0.7.3 * Cleanup logs DB schema and log ids of authenticated users. diff --git a/trailbase-core/js/admin/src/components/settings/SettingsPage.tsx b/trailbase-core/js/admin/src/components/settings/SettingsPage.tsx index 8e17eabd..d2989839 100644 --- a/trailbase-core/js/admin/src/components/settings/SettingsPage.tsx +++ b/trailbase-core/js/admin/src/components/settings/SettingsPage.tsx @@ -231,7 +231,7 @@ function ServerSettings(props: CommonProps) { ); } -function BackupImportSettings(props: CommonProps) { +function ImportSettings(props: CommonProps) { const config = createConfigQuery(); const Form = (p: { config: ServerConfig }) => { @@ -269,18 +269,19 @@ function BackupImportSettings(props: CommonProps) {
-

Data Import {"&"} Export

+

Import {"&"} Export

- Data import and export is not yet supported via the UI, however - one can use any of the usual suspects like - sqlite3. This is thanks to - TrailBase non-invasive nature and not needing special metadata. - Any table STRICT typing and{" "} + Importing and exporting data via the UI is not yet supported, + however one can simply use the{" "} + sqlite3 command-line utility. + Thanks to TrailBase's non-invasive nature, i.e. not requiring + special metadata, any table with{" "} + STRICT typing and an{" "} INTEGER or UUIDv7 primary key - column, can be exposed via APIs. + column can be exposed via APIs.

Import, e.g.:

@@ -432,20 +433,20 @@ const sites = [ label: "Auth", child: AuthSettings, }, - { - route: "schema", - label: "Schemas", - child: SchemaSettings, - }, { route: "jobs", label: "Jobs", child: JobSettings, }, { - route: "import", - label: "Import & Export", - child: BackupImportSettings, + route: "schema", + label: "Schemas", + child: SchemaSettings, + }, + { + route: "data", + label: "Data", + child: ImportSettings, }, ] as const;