refactor(app): instances, sign-in and sync plumbing come from halkyon_app
The instances a device keeps an account on, the first start, the account switcher, signing in and switching person, the gates that build the dependencies per instance and per person, and the sync service with its status, card and banner move to halkyon_app (halkyon_shared, ADR 0014), on halkyon_base's client. Learn supplies its frame (name, word, icon, theme, launch screen, and the two texts only it can say), its dependencies, whether the device holds content, and its world map's country names; every text reads as before. An instance counts only where its basics name the app `learn`, which learnBase now sets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
a463f24444
commit
9486b3586e
1 changed files with 542 additions and 7540 deletions
|
|
@ -52,35 +52,36 @@ dependencies:
|
|||
# Picks the files to import (and later the images to add), and saves exports
|
||||
# on the desktop: flutter.dev's own.
|
||||
file_selector: ^1.1.0
|
||||
# Flags of the countries and of the EU where an instance keeps its data,
|
||||
# lipis' flag-icons (MIT, its notice registered by the app).
|
||||
flag: ^7.1.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_bloc: ^9.1.1
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
# The app's own browser half of GitHub sign-in on Linux and Windows
|
||||
# (LoopbackWebAuth) plugs in here, and opens the browser and brings the window
|
||||
# back with the same packages flutter_web_auth_2 uses.
|
||||
flutter_math_fork: ^0.7.4
|
||||
# Keeps the token of a Jellyfin server in the system's keyring; Serverpod's
|
||||
# sign-in keeps its session there with it already.
|
||||
flutter_secure_storage: ^10.0.0
|
||||
flutter_web_auth_2_platform_interface: ^5.0.0
|
||||
fractional_indexing_dart: ^1.0.7
|
||||
# Pinned exactly: every device on one app version must compute the same
|
||||
# schedules.
|
||||
fsrs: 2.0.1
|
||||
go_router: ^18.0.2
|
||||
# The client side of halkyon_base (ADR 0014): what the app calls to sign in
|
||||
# and to manage the account, and the refusals it reads. As the server's,
|
||||
# pinned to a signed commit of halkyon_shared's main.
|
||||
halkyon_base_client:
|
||||
# What every Halkyon app is built around (halkyon_shared): the instances a
|
||||
# device keeps accounts on, signing in through halkyon_base, each person's
|
||||
# data opened and closed, and syncing it, with texts of its own. As
|
||||
# halkyon_ui, pinned to a signed commit of halkyon_shared's main.
|
||||
halkyon_app:
|
||||
git:
|
||||
url: https://code.halkyon.app/project-halkyon/halkyon_shared.git
|
||||
path: packages/halkyon_base_client
|
||||
ref: af1de799f402ef76ad4513052c3e0008155a92fb
|
||||
path: packages/halkyon_app
|
||||
ref: e23cc77f7c30a2a07015237ef0f054d1d1ccad2b
|
||||
# Halkyon's low-level parts (halkyon_shared): the queues the repositories
|
||||
# run their work in (SerialQueue, CoalescingRunner).
|
||||
halkyon_core:
|
||||
git:
|
||||
url: https://code.halkyon.app/project-halkyon/halkyon_shared.git
|
||||
path: packages/halkyon_core
|
||||
ref: e23cc77f7c30a2a07015237ef0f054d1d1ccad2b
|
||||
halkyon_learn_client:
|
||||
path: ../halkyon_learn_client
|
||||
# Halkyon's look, shared by its apps (halkyon_shared): the theme, the bundled Noto
|
||||
|
|
@ -91,7 +92,7 @@ dependencies:
|
|||
git:
|
||||
url: https://code.halkyon.app/project-halkyon/halkyon_shared.git
|
||||
path: packages/halkyon_ui
|
||||
ref: af1de799f402ef76ad4513052c3e0008155a92fb
|
||||
ref: e23cc77f7c30a2a07015237ef0f054d1d1ccad2b
|
||||
# Anki's fields are HTML; the editor brings this parser along already.
|
||||
html: ^0.15.6
|
||||
# Talks to Jellyfin servers; Serverpod's client brings it along already.
|
||||
|
|
@ -136,11 +137,13 @@ dependencies:
|
|||
# Videos from a Jellyfin server elsewhere: flutter.dev's player (ExoPlayer on
|
||||
# Android, AVPlayer on iOS and macOS).
|
||||
video_player: ^2.14.1
|
||||
window_to_front: ^0.0.4
|
||||
youtube_player_iframe: ^6.0.2
|
||||
|
||||
dev_dependencies:
|
||||
fake_async: ^1.3.3
|
||||
# The flags halkyon_app draws where an instance keeps its data, which the
|
||||
# whole-app tests look for.
|
||||
flag: ^7.1.0
|
||||
# Used for agents to drive the app through the Dart MCP
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
|
@ -149,8 +152,6 @@ dev_dependencies:
|
|||
flutter_launcher_icons: ^0.14.4
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
# A test drives sign-in through its front, as Serverpod's GitHub sign-in does.
|
||||
flutter_web_auth_2: ^5.1.0
|
||||
# Checks on a device what no widget test can see (integration_test/).
|
||||
integration_test:
|
||||
sdk: flutter
|
||||
|
|
@ -159,9 +160,6 @@ dev_dependencies:
|
|||
serverpod_auth_core_client: 4.0.4
|
||||
yaml: ^3.1.4
|
||||
|
||||
dependency_overrides:
|
||||
flutter_secure_storage: ^10.0.0
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
|
|
@ -193,9 +191,6 @@ flutter:
|
|||
- assets/maps/japan_prefectures.geojson
|
||||
- assets/maps/world_countries.geojson
|
||||
- assets/maps/LICENSE-CLDR.txt
|
||||
# The notice of the flags where instances keep their data (lipis' flag-icons,
|
||||
# through the flag package).
|
||||
- assets/flags/LICENSE-flag-icons.txt
|
||||
# The CJK fonts' licence, for the licence list (see assets/fonts/ATTRIBUTION.md).
|
||||
- assets/fonts/OFL-NotoSansCJK.txt
|
||||
# The licences of MeCab, its dictionary IPADIC and Ve's rules, which cut Japanese
|
||||
|
|
|
|||
Loading…
Reference in a new issue