halkyon/apps/meditate/halkyon_meditate_server
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 b7f0aaaec7
refactor(base,learn): people's files kept by halkyon_base
ADR 0043, D2, D4, D6 and D7, the first step towards Todo's attachments:
Learn's file store moves into the module, for every server that keeps
files, and Learn becomes its first host.

halkyon_base gets the store as Learn had it: uploads into the caller's
own space by SHA-256, downloads by a row the caller may read, each
person's room (FILE_LIMIT_IDENTIFIED_MB, FILE_LIMIT_INSTANCE_MB, the
operator's file_allowance, which moves into the module unchanged) and
the pruning of files no live row names. It stays free of the sync
engine: a host hands it a FileStore saying which of its rows name a file
and what it takes (HalkyonBase.files); without one the files endpoint
refuses. Its tests, with refusals, run on a stand-in host.

Learn hands it learnFiles: its asset rows, read by their space's members,
a readable file over 20 MB only as a PDF, up to 100 MB. Its app calls the
module; its own asset endpoint stays for released apps alone, forwarding
to the module in Learn's own models, whose names are on the wire. Its
file tests still pass through it, end to end.

Migrations: the module's creates file_allowance. Learn's server migration
holds version rows alone, as tables are matched by name (ADR 0014); its
device migration creates the module's empty table, as every module's.
Todo's, Train's and Meditate's create the empty table.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-11 01:19:28 +01:00
..
bin feat(meditate): the operator's library on the server, and a course's lessons done synced 2026-11-04 09:31:59 +01:00
config feat(meditate,deploy): Meditate beside the instance, and every server's public address from .env 2026-11-08 19:59:39 +01:00
lib feat(learn,todo,meditate): dictate through the phone's voice input app (ADR 0038, D18) 2026-11-08 11:48:42 +01:00
migrations refactor(base,learn): people's files kept by halkyon_base 2026-11-11 01:19:28 +01:00
test feat(meditate): the library's accesses name nobody, and the privacy page says so 2026-11-04 09:31:59 +01:00
.gitignore feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00
analysis_options.yaml feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00
CHANGELOG.md feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00
dart_test.yaml feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00
Dockerfile feat(meditate,deploy): Meditate beside the instance, and every server's public address from .env 2026-11-08 19:59:39 +01:00
library.example.yaml feat(meditate): the operator's library on the server, and a course's lessons done synced 2026-11-04 09:31:59 +01:00
LICENSE feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00
pubspec.yaml feat(meditate): the operator's library on the server, and a course's lessons done synced 2026-11-04 09:31:59 +01:00
README.md feat(meditate): Meditate's server, its sealed tables, and SimpleLogin's way back to it 2026-11-04 09:31:56 +01:00

halkyon_meditate_server

Halkyon Meditate's server: Serverpod with the halkyon_base module. See Meditate's README.