halkyon/apps/learn/halkyon_learn_flutter
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 0594c4f3fe
feat(learn): shared studysets sealed with their space's latest key
Step 4 (c) of ADR 0044 (D20 to D22).

- `SharedSpaceKeys`: after each sync, opens the keys members' devices
  sealed to the person and seals those this device holds to newcomers,
  space by space, one failing holding back none of the others; keeps
  each space's latest key, counting only keys whose sealed ID names
  that space; makes a space's new key and shares it with its members.
- `Privacy`: a studyset in a shared space takes the space's latest key,
  after its own signed record and the key it was last seen sealed with,
  so a private studyset the instance claims is shared keeps its own
  key. An item last seen under a space's key is written with that
  space's latest (D22: earlier rows keep theirs). Writing is refused
  while no key of the space is open (`spaceKeyMissing`), and a shared
  studyset is never made readable nor given a key of the person's own
  (`shared`, D21). Sweeps keep to studysets with a signed record, which
  a shared one never has.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-11 14:13:37 +01:00
..
android feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
assets feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
integration_test chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
ios feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
lib feat(learn): shared studysets sealed with their space's latest key 2026-11-11 14:13:37 +01:00
linux feat: the apps' icons as one family, drawn by one tool (ADR 0031) 2026-10-30 15:52:45 +01:00
macos feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
test feat(learn): shared studysets sealed with their space's latest key 2026-11-11 14:13:37 +01:00
windows feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
.gitignore chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
.metadata chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
analysis_options.yaml build: one workspace for every app and the packages they share 2026-10-22 18:11:03 +02:00
dart_test.yaml chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
l10n.yaml chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
LICENSE chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
pubspec.yaml feat(learn): Markdown files beside the PDFs, read formatted 2026-11-10 21:31:42 +01:00
README.md chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00

halkyon_learn_flutter

A new Flutter project with Serverpod.

Getting Started

This project is a starting point for a Flutter application that is using Serverpod.

A great starting point for learning Serverpod is our documentation site at: https://docs.serverpod.dev.

To run the project, first make sure that the server is running, then do:

flutter run

Licence

Copyright (C) 2026 The Halkyon Learn contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program (LICENSE). If not, see https://www.gnu.org/licenses/.