halkyon/apps/learn/halkyon_learn_flutter/test/support
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 82c777b1a5
feat(base,learn): suggest changes within a shared studyset
ADR 0044's step 6b (D44, D46 to D48): a Viewer, and an agent, suggest
changes within a shared studyset, which its Owner and Editors accept or
decline.

A suggestion or report is written as Explore's are, in its writer's own
synced space, with kinds of its own (space-suggestion, space-report)
and the space's id in feedback_thread's publicationId, so no synced
table changes and older apps, skipping kinds they don't know, keep
syncing. Where the studyset is private it is sealed with its key, bound
to the space; a reply to it is sealed for its thread.

Learn's server gathers a space's threads for its members alone
(feedback.threadsInSpace, NotFound for anyone else): only threads and
replies by members now, decisions only from rows in the space itself,
where the engine lets its Owner and Editors alone write; sealed
payloads pass in base64 with their key and nonce. The inbox adds the
threads its caller decides on or wrote. The module tells a host a
person's spaces and each space's members (sharedSpacesOf,
membersOfSpaces). No migration: no table changes.

In the app, a Viewer's card and note offer Suggest a change: the fields
write into the suggestion alone, sent with a message. A shared
studyset's menu lists its Suggestions, where its Owner and Editors
accept a change as a revision, or a new card or note into the
studyset, and decide in the space. A suggestion naming a file that
isn't the studyset's, or bringing files of its own, isn't taken.

Whats-New: In a studyset shared with you as a viewer, suggest a change to a card or note; its owner and editors find your suggestions under Suggestions in its menu and accept or decline them.
Whats-New-De: In einem Lernset, das du nur ansehen darfst, schlägst du Änderungen an Karteikarten und Notizen vor; Besitzer:in und Bearbeiter:innen finden sie im Menü unter „Vorschläge“ und nehmen sie an oder lehnen sie ab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-11 20:43:55 +01:00
..
device_export.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
eventually.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_asset_gateway.dart feat(privacy): a private studyset's files are sealed with its key (ADR 0019, D5) 2026-10-23 14:13:10 +02:00
fake_asset_sealing.dart fix(privacy): a device without the keys writes no content where the account has keys (ADR 0019) 2026-10-23 14:13:15 +02:00
fake_assistant_files.dart feat(learn): an assistant reads PDFs' pages, and sees images the person chooses or approves 2026-10-26 07:17:09 +01:00
fake_card_gateway.dart feat(learn): an archive's import shows its steps, counts and percent, with Abort 2026-11-10 16:19:54 +01:00
fake_content_key_gateway.dart feat(privacy): every synced payload sealed and opened through one envelope (ADR 0019) 2026-10-23 14:13:08 +02:00
fake_conversation_gateway.dart feat(learn): conversations with assistants, kept sealed (ADR 0021, step 3) 2026-10-26 07:17:08 +01:00
fake_device_dictionaries.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_dictionary_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_discussion_gateway.dart perf(learn): discussions and feedback show what the person does at once 2026-11-08 11:48:41 +01:00
fake_explore_gateway.dart feat(learn): Explore by what a licence allows, a skeleton while the library loads, and an assistant's agreement per provider (ADR 0005, rule 12; ADR 0021, D66) 2026-11-02 05:19:18 +01:00
fake_feedback_gateways.dart feat(base,learn): suggest changes within a shared studyset 2026-11-11 20:43:55 +01:00
fake_file_saver.dart feat(app): sign in with a password and TOTP on the device 2026-10-23 14:12:41 +02:00
fake_grammar_gateway.dart feat(learn): spelling and grammar checked as people write (ADR 0024) 2026-10-26 07:17:10 +01:00
fake_jellyfin.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_learning_count_gateway.dart feat(explore): the device tells the instance whether to count the person, and what their copies come from (ADR 0019, D3) 2026-10-23 14:13:09 +02:00
fake_learning_path_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_note_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_path_answer_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_pdf_engine.dart feat(learn): an assistant proposes flashcards from a text, a note or a PDF page 2026-10-26 07:17:09 +01:00
fake_pdf_source_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_photo_picker.dart feat(learn): + opens a sheet as Claude's, Camera, Photos and Files, and what goes along in rounded rows 2026-11-04 09:32:04 +01:00
fake_pomodoro_platform.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_publish_gateway.dart feat(learn): confirm the notes and files a release takes 2026-11-11 10:06:38 +01:00
fake_review_gateway.dart perf(learn): a rated card gives way to the next one at once 2026-11-08 11:48:42 +01:00
fake_settings_gateway.dart feat(app,learn,todo): the assistants in Settings and on the operator's screen 2026-10-26 07:17:07 +01:00
fake_sound_player.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_space_setup.dart feat(learn): share a studyset with people from its Share sheet 2026-11-11 15:53:09 +01:00
fake_studyset_gateway.dart feat(learn): share a studyset with people from its Share sheet 2026-11-11 15:53:09 +01:00
fake_tag_gateway.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
fake_youtube_videos.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
loaded_maps.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
loaded_strokes.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
mecab_output.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
memory_device_settings_store.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
memory_pomodoro_run_store.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
memory_published_store.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
memory_studyset_tab_store.dart chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
pump_app.dart feat(learn): Explore by what a licence allows, a skeleton while the library loads, and an assistant's agreement per provider (ADR 0005, rule 12; ADR 0021, D66) 2026-11-02 05:19:18 +01:00
sample_episode.dart feat(learn): furigana and pinyin over hints, from Tatoeba's transcriptions 2026-11-10 20:28:57 +01:00
test_dependencies.dart feat(base,learn): suggest changes within a shared studyset 2026-11-11 20:43:55 +01:00