halkyon/apps/learn/halkyon_learn_client/lib/migrations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 b965e05fdb
feat(learn): conversations with assistants, kept sealed (ADR 0021, step 3)
The first part of step 3, decided as D47 to D52 in ADR 0021: where a
conversation shows (a sheet over the screen), where kept ones are found
(the field), the scope's chip and that it starts with only what is
ticked, how conversations are kept, and what a device that can't seal
does.

Two synced tables: assistant_conversation (its title, assistant and
scope) and assistant_turn (one question and everything up to its answer,
never changed once written, ADR 0001, rule 2), so two devices continuing
a conversation offline lose nothing. SyncConversationGateway seals every
row with the person's key, a turn bound to its conversation, and reads
no row that isn't sealed: a device that can't seal keeps nothing (D52,
ConversationNotKept). Deleting one blanks it and its turns first (ADR
0002, rule 2). A turn keeps every message a follow-up sends back (tool
calls and results, the providers' own blocks), but no image, only that
one was sent.

The instance's privacy page says conversations are kept, encrypted, and
what the instance sees of them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-26 07:17:08 +01:00
..
20260930094729362-studysets chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20260930122235111-cards chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20260930145136285-reviews chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261001064926911-tree-tags-assets chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261002191122122-notes chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261002211346701-learning-paths chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261003110855698-pdf-sources chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261007205440868-card-buried-at chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261008165051407-pdf-position chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009224606274-feedback chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261012162411835-studyset-deleted-at chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261019121406578-halkyon-base chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261019201023295-profiles-in-halkyon-base refactor(profile): handles and profiles move into halkyon_base 2026-10-22 18:11:07 +02:00
20261019204112282-deletion-notices feat(accounts): one account across an instance's services (ADR 0016) 2026-10-22 18:11:07 +02:00
20261020111943300-passwords feat(auth): Learn's and Todo's servers take password sign-in 2026-10-22 18:11:11 +02:00
20261020125117584-sessions-ended feat(auth): change the password and the recovery phrase while signed in 2026-10-23 14:12:40 +02:00
20261020185750538-recovery-proof-key fix(auth)!: the recovery phrase is proved by a key of its own 2026-10-23 14:12:43 +02:00
20261020194228286-second-factor-waits fix(auth): codes wait after ten wrong in a row, and the owner is told 2026-10-23 14:12:44 +02:00
20261020204619104-session-code-tries fix(auth): a session's wrong codes end the session, not the account's codes 2026-10-23 14:12:47 +02:00
20261020211224692-email-code-purpose fix(auth): a code by mail serves only what it was asked for 2026-10-23 14:12:48 +02:00
20261021100422048-session-ended-warning feat(auth): a session ended for its wrong proofs warns its owner 2026-10-23 14:12:51 +02:00
20261021110159867-second-factor-paths fix(auth): codes after the recovery phrase count apart from the password's 2026-10-23 14:12:52 +02:00
20261021134803749-reset-hold-outs fix(auth): a hold-out moves a reset on only by its own time, and a reset lives 30 days at most 2026-10-23 14:12:59 +02:00
20261021184601197-private-studysets feat(privacy): the instance's side of private studysets (ADR 0019) 2026-10-23 14:13:08 +02:00
20261023181810112-oidc-module refactor(base): SimpleLogin's forwarding page on the OpenID Connect module (ADR 0023) 2026-10-24 09:17:47 +02:00
20261023192913178-simplelogin-keys feat(base): SimpleLogin accounts' keys without SRP, signing up in one call (ADR 0020, step 3) 2026-10-24 09:17:48 +02:00
20261025135744595-waiting-accounts feat(base)!: sign-ups as the operator says, waiting accounts, operators (ADR 0021, step 1) 2026-10-26 07:17:05 +01:00
20261025165102861-assistants feat(base,learn,todo): the operator's assistants, and the instance's privacy page (ADR 0021, step 2) 2026-10-26 07:17:06 +01:00
20261025184004860-assistant-conversations feat(learn): conversations with assistants, kept sealed (ADR 0021, step 3) 2026-10-26 07:17:08 +01:00
migration_registry.dart feat(learn): conversations with assistants, kept sealed (ADR 0021, step 3) 2026-10-26 07:17:08 +01:00