snap/snapcraft.yaml builds the Linux app as a strictly confined Snap on core24 with the GNOME extension (GTK, WebKitGTK, GStreamer and libsecret come from its runtime; files and the browser go through the desktop's portals), connecting to learn.halkyon.eu, the project's instance. It builds what is committed, with Flutter pinned as in CI. - The session: libsecret's keyring over D-Bus needs the password-manager-service plug, which the Store never connects by itself, so unless it is connected the app keeps the session in an encrypted file whose key comes from the Secret portal (snap/local/secret-backend). - network-manager-observe lets Serverpod hear that the network went and end the sync's connection at once; until the Store grants it, it too is connected by hand. - The listing points to the project, not the instance: the website learn.halkyon.app, contact and issues support@halkyon.app. - The icon is the app's with rounded corners (tool/snap_icon.py), for the Store and the dock alike. - The app's version is 0.1.0, build 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
158 lines
5.9 KiB
YAML
158 lines
5.9 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.1.0+1
|
|
|
|
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
|
|
equatable: ^3.0.0
|
|
expressive_loading_indicator: ^0.0.1
|
|
# Picks the files to import (and later the images to add): 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.3
|
|
serverpod_flutter: 4.0.3
|
|
serverpod_offline_sync_client: 0.0.8
|
|
# 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
|
|
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.3
|
|
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
|
|
|
|
# To add custom fonts to your application, add a fonts section here,
|
|
# in this "flutter" section. Each entry in this list should have a
|
|
# "family" key with the font family name, and a "fonts" key with a
|
|
# list giving the asset and other descriptors for the font. For
|
|
# example:
|
|
# fonts:
|
|
# - family: Schyler
|
|
# fonts:
|
|
# - asset: fonts/Schyler-Regular.ttf
|
|
# - asset: fonts/Schyler-Italic.ttf
|
|
# style: italic
|
|
# - family: Trajan Pro
|
|
# fonts:
|
|
# - asset: fonts/TrajanPro.ttf
|
|
# - asset: fonts/TrajanPro_Bold.ttf
|
|
# weight: 700
|
|
#
|
|
# For details regarding fonts from package dependencies,
|
|
# see https://flutter.dev/custom-fonts/#from-packages
|