halkyon/halkyon_learn_flutter/pubspec.yaml
Tizian 「ティツィアーン」 72c15300ed
fix: Serverpod v4.0.4 and serverpod_offline_sync v0.0.10
serverpod_offline_sync v0.0.10 collects outbound changes in one
consistent snapshot, so a sync no longer fails on writes made while it
runs (upstream #84, #163), keeps checkpoints per author, so a device
clock moving backwards no longer stalls sync or resends data, and keeps
unique conflicts and foreign key defaults alike on every device. Its
tables and its messages are unchanged: no migration, and apps on v0.0.8
keep syncing. It needs Serverpod >=4.0.4 <4.1.0 (v4.0.4 is fixes only),
so the root overrides that held the workspace on one Serverpod go: each
package pins v4.0.4 itself. The generated code is identical under the
v4.0.4 CLI, which CI now uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-09 18:09:27 +02:00

197 lines
7.7 KiB
YAML

name: halkyon_learn_flutter
description: A new Flutter project with Serverpod.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 0.2.2+5
environment:
sdk: '^3.13.0'
flutter: '^3.44.4'
resolution: workspace
dependencies:
# Our fork of the editor's main branch, moved to win32 v6 so the app can stay in the pub
# workspace, pinned to a signed commit of its branch halkyon/win32-v6.
appflowy_editor:
git:
url: https://code.halkyon.app/project-halkyon/appflowy-editor.git
ref: 83bdb2a3e66881eff9b2f8afe416b57fc791daf9
# Anki packages are zip files.
archive: ^4.0.7
# Sounds in content (pronunciations): one package for all five platforms; on
# Linux it plays through GStreamer, whose development files a Linux build needs.
audioplayers: ^6.8.1
clock: ^1.1.3
crypto: ^3.0.7
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.5
# The Pomodoro timer on Linux talks to the desktop's notification server over
# the session bus; the version the network packages bring along already.
dbus: ^0.7.15
equatable: ^3.0.0
expressive_loading_indicator: ^0.0.1
# Saves exports on Android and iOS, where file_selector has no save dialog
# (the system's through it: Android's Storage Access Framework); the editor
# brings this version along already.
file_picker: ^13.1.0
# 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
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
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
halkyon_learn_client:
path: ../halkyon_learn_client
# Anki's fields are HTML; the editor brings this parser along already.
html: ^0.15.6
intl: ^0.20.3
lucide_icons_flutter: ^3.1.20
material_ui: ^1.5.0
package_info_plus: ^10.2.2
path: ^1.9.1
path_provider: ^2.1.6
# Modern Anki packages are zstd-compressed, every frame without its content
# size, which upstream's v1.0.0 refuses. Our fork decodes them, pinned to a
# signed commit of its branch halkyon/unknown-content-size; back to upstream
# once it decodes them too.
pdfrx: ^2.6.5
pure_zstd:
git:
url: https://code.halkyon.app/project-halkyon/pure-zstd.git
ref: 596b63d5741d479073fbfc78377cc7dbdd342da3
serverpod_auth_idp_flutter: 4.0.4
serverpod_flutter: 4.0.4
serverpod_offline_sync_client: 0.0.10
# Anki collections are SQLite databases (the sync engine already bundles it).
sqlite3: ^3.6.0
url_launcher: ^6.3.2
window_to_front: ^0.0.4
youtube_player_iframe: ^6.0.2
dev_dependencies:
fake_async: ^1.3.3
# Used for agents to drive the app through the Dart MCP
flutter_driver:
sdk: flutter
# Writes the app's icons for every platform from assets/icon/halkyon_icon.png, run
# through tool/app_icons.py (see the flutter_launcher_icons section below).
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
# The sync tests (test/sync/) sign in like the app and read the server's database.
postgres: ^3.5.16
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
# The following section is specific to Flutter.
flutter:
# Generates AppLocalizations from lib/l10n (see l10n.yaml).
generate: true
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
assets:
- assets/config.json
# The kingfisher: the app icon, also shown atop the navigation rail.
- assets/icon/halkyon_icon.png
# Region maps for map questions (see assets/maps/ATTRIBUTION.md).
- assets/maps/japan_prefectures.geojson
# The bundled fonts' licences, for the licence list (see assets/fonts/ATTRIBUTION.md).
- assets/fonts/OFL-NotoSans.txt
- assets/fonts/OFL-NotoSansCJK.txt
# The app's own fonts, the same on every device and never fetched: Noto Sans for
# Latin, Greek and Cyrillic; behind it Noto Sans JP, SC, TC and KR for Japanese,
# Chinese and Korean, in the order a studyset's language asks for
# (core/theme/app_fonts.dart). Each file holds every weight (variable fonts).
fonts:
- family: Noto Sans
fonts:
- asset: assets/fonts/NotoSans-Variable.ttf
- asset: assets/fonts/NotoSans-Italic-Variable.ttf
style: italic
- family: Noto Sans JP
fonts:
- asset: assets/fonts/NotoSansJP-Variable.otf
- family: Noto Sans SC
fonts:
- asset: assets/fonts/NotoSansSC-Variable.otf
- family: Noto Sans TC
fonts:
- asset: assets/fonts/NotoSansTC-Variable.otf
- family: Noto Sans KR
fonts:
- asset: assets/fonts/NotoSansKR-Variable.otf
# The app's icons, written by tool/app_icons.py: it prepares the images derived from
# the kingfisher in build/icons/ first, then runs `dart run flutter_launcher_icons`
# with this. Android: an adaptive icon, the kingfisher inset on white for each
# launcher to cut to its shape, and the square one older Androids show. iOS: without
# transparency, as Apple requires. macOS: the rounded tile on Apple's grid. Windows:
# the rounded tile (tool/app_icons.py then writes its .ico with every size).
flutter_launcher_icons:
image_path: "assets/icon/halkyon_icon.png"
android: true
adaptive_icon_background: "#ffffff"
adaptive_icon_foreground: "assets/icon/halkyon_icon.png"
ios: true
remove_alpha_ios: true
background_color_ios: "#ffffff"
macos:
generate: true
image_path: "build/icons/macos.png"
windows:
generate: true
image_path: "build/icons/rounded.png"
icon_size: 256