feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it

halkyon_meditate_server and its generated client, copied from Todo's
and stripped to the module, the register and the sync engine (ADR 0038,
D1, D7): content_key, meditate_settings and sitting, synced and sealed,
each indexing spaceId and deleted with the person's space; two
migrations, the initial one and sittings (purely additive, the ADR
explains the SQL); ports 8280 to 8282 and PostgreSQL 8290 (D13).
Tests: the module's basics naming `meditate`, the sync engine refusing
calls without a session, the register's modes, and a person's deletion
taking their rows alone.

halkyon_base's forwarding page knows Meditate's ways back
(meditate-loopback on 43826, meditate-scheme app.halkyon.meditate),
which halkyon_app's repository names among the apps' ports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-03 09:25:30 +01:00
commit 235d9cf75b
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
3 changed files with 47595 additions and 1 deletions

View file

@ -54,7 +54,7 @@ class SimpleLoginRepository(
/// The app's own port on the loopback, which the browser comes back to on
/// Linux and Windows, as the instance's forwarding page has it (Learn's
/// 43823, Todo's 43824, Train's 43825).
/// 43823, Todo's 43824, Train's 43825, Meditate's 43826).
required final int loopbackPort,
/// The platform the app runs on; tests name one.

View file

@ -27,6 +27,8 @@ const simpleLoginReturns = {
'todo-scheme': 'app.halkyon.todo://simplelogin-callback',
'train-loopback': 'http://127.0.0.1:43825/simplelogin-callback',
'train-scheme': 'app.halkyon.train://simplelogin-callback',
'meditate-loopback': 'http://127.0.0.1:43826/simplelogin-callback',
'meditate-scheme': 'app.halkyon.meditate://simplelogin-callback',
};
final _returns = {

View file

@ -27,6 +27,8 @@ void main() {
'todo-scheme': 'app.halkyon.todo://simplelogin-callback',
'train-loopback': 'http://127.0.0.1:43825/simplelogin-callback',
'train-scheme': 'app.halkyon.train://simplelogin-callback',
'meditate-loopback': 'http://127.0.0.1:43826/simplelogin-callback',
'meditate-scheme': 'app.halkyon.meditate://simplelogin-callback',
});
});