halkyon/apps/todo/halkyon_todo_flutter/pubspec.yaml

129 lines
4.8 KiB
YAML
Raw Normal View History

name: halkyon_todo_flutter
description: Halkyon Todo, the app.
publish_to: none
# <version>+<build>: the build rises with every release, and the instance asks apps below
# its minimum build to update (halkyon_base's instance basics).
version: 0.4.0+4
environment:
sdk: '^3.13.0'
flutter: '^3.44.4'
resolution: workspace
dependencies:
clock: ^1.1.3
# Reactions on comments (ADR 0033, D36): every emoji, searched, recents on
# the device.
emoji_picker_flutter: ^4.5.4
equatable: ^3.0.0
flutter:
sdk: flutter
flutter_bloc: ^9.1.1
# Tasks' reminders, scheduled with the system on the device (ADR 0033, D5):
# the instance reads no task, so it can't remind of one.
flutter_local_notifications: ^22.3.3
# A task's location picked on a map (ADR 0033, D32), as Train's maps: the
# map widget, OpenFreeMap's vector tiles and their coordinates.
flutter_map: ^8.3.2
# The tabs, each with its own stack of screens, and Settings over them
# (ADR 0033, D1), as Learn's and Train's.
go_router: ^18.0.2
# What every Halkyon app is built around (a shared package): the instances a
# device keeps accounts on, signing in through halkyon_base, each person's
# dependencies opened and closed, with texts of its own.
halkyon_app:
path: ../../../packages/halkyon_app
feat(app): signing in with SimpleLogin, its sheet and the start screen's offer (ADR 0020) Where the instance offers SimpleLogin, the start screen offers it first, saying that the instance keeps only the SimpleLogin ID, and opens a sheet that waits for SimpleLogin's page in the browser (Cancel ends the wait), then: for someone new, the choice between creating an account (the suggested handle or another, checked with the instance, the password twice, the recovery phrase shown once and three of its words typed back, nothing reaching the instance before) and linking theirs again with its handle and recovery phrase; for an account, its password opening its keys; for an account of before, the keys made with the handle it lacks. SimpleLoginCubit holds the steps, each refusal shown where it is mended (a handle's on the handle, a sign-in to begin again on the browser's), and closing the sheet stops waiting on the loopback. The suggested handle is never checked: the instance suggests none that anybody has, and every answer about a handle counts against its limit (D5). The fake's handle rule is now the module's. Learn and Todo build it with SimpleLogin's browser (halkyon_oidc_flutter, now a direct dependency of both, with their names on the loopback's page), their schemes and their loopback ports (43823, 43824), as the instance's forwarding page has them. Their tests offer no SimpleLogin; halkyon_app's test the sheet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-24 01:21:29 +02:00
# The device's half of signing in with OpenID Connect (ADR 0023): the
# browser that SimpleLogin's sign-in opens, and on Linux and Windows the
# loopback it comes back to, which the app builds with its name.
# Primitives every Halkyon package shares: `CoalescingRunner`.
halkyon_core:
path: ../../../packages/halkyon_core
# Comments and descriptions as rich text (ADR 0033, D38).
halkyon_editor:
path: ../../../packages/halkyon_editor
feat(app): signing in with SimpleLogin, its sheet and the start screen's offer (ADR 0020) Where the instance offers SimpleLogin, the start screen offers it first, saying that the instance keeps only the SimpleLogin ID, and opens a sheet that waits for SimpleLogin's page in the browser (Cancel ends the wait), then: for someone new, the choice between creating an account (the suggested handle or another, checked with the instance, the password twice, the recovery phrase shown once and three of its words typed back, nothing reaching the instance before) and linking theirs again with its handle and recovery phrase; for an account, its password opening its keys; for an account of before, the keys made with the handle it lacks. SimpleLoginCubit holds the steps, each refusal shown where it is mended (a handle's on the handle, a sign-in to begin again on the browser's), and closing the sheet stops waiting on the loopback. The suggested handle is never checked: the instance suggests none that anybody has, and every answer about a handle counts against its limit (D5). The fake's handle rule is now the module's. Learn and Todo build it with SimpleLogin's browser (halkyon_oidc_flutter, now a direct dependency of both, with their names on the loopback's page), their schemes and their loopback ports (43823, 43824), as the instance's forwarding page has them. Their tests offer no SimpleLogin; halkyon_app's test the sheet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-24 01:21:29 +02:00
halkyon_oidc_flutter:
path: ../../../packages/halkyon_oidc_flutter
halkyon_todo_client:
path: ../halkyon_todo_client
# Halkyon's look, shared by its apps (a shared package): the theme, the bundled
# Noto Sans and the widgets every screen is built of.
halkyon_ui:
path: ../../../packages/halkyon_ui
# gen-l10n's output imports it.
intl: ^0.20.3
latlong2: ^0.10.1
lucide_icons_flutter: ^3.1.20
material_ui: ^1.5.0
# This build's version and number, for Settings' foot and what's new.
package_info_plus: ^10.2.2
path: ^1.9.1
path_provider: ^2.1.6
rrule: ^0.2.18
serverpod_auth_idp_flutter: 4.0.4
serverpod_flutter: 4.0.4
serverpod_offline_sync_client: 0.0.10
# The instant a reminder is scheduled at, as flutter_local_notifications
# takes it (in UTC).
timezone: ^0.11.2
url_launcher: ^6.3.2
# Pinned as Train's: the 9 line is beta, the only one for flutter_map 8.
vector_map_tiles: 9.0.0-beta.13
dev_dependencies:
flutter_driver:
sdk: flutter
# Writes the app's icons for every platform from assets/icon/halkyon_todo_icon.png,
# run through the repository's tool/app_icons.py (see the section below).
flutter_launcher_icons: ^0.14.4
flutter_test:
sdk: flutter
test: any
vector_tile_renderer: ^6.1.0
flutter:
# Generates AppLocalizations from lib/l10n (see l10n.yaml).
generate: true
# Material's icon font, which serverpod_auth_idp_flutter's widgets ask for
# (it sets this itself): without it every build and test run warns, and
# Material's icons would draw as boxes.
uses-material-design: true
assets:
# The instance the build names, unless --dart-define=SERVER_URL=… does
# (serverpod_flutter's getServerUrl).
- assets/config.json
# What each release changed, one file a release and language
# (<version>.<language>.txt), drafted by tool/release.dart and edited
# (Train's ADR 0030, D61): halkyon_app's What's new shows them.
- assets/whats_new/
# The app's icon, Lucide's list-todo (ADR 0031), and Lucide's licence for the
# licence list (the repository's tool/app_icons.py writes both).
- assets/icon/halkyon_todo_icon.png
- assets/icon/LICENSE-lucide.txt
# The app's icons, written by the repository's tool/app_icons.py: it prepares the
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`.
# Android: the adaptive icon, on white, for the launcher to cut to its shape, and the
# square one older Androids show. iOS: without its alpha channel, on white. macOS and
# Windows: the rounded tile.
flutter_launcher_icons:
image_path: "assets/icon/halkyon_todo_icon.png"
android: true
adaptive_icon_background: "#ffffff"
adaptive_icon_foreground: "assets/icon/halkyon_todo_icon.png"
adaptive_icon_monochrome: "build/icons/monochrome.png"
ios: true
remove_alpha_ios: true
background_color_ios: "#ffffff"
image_path_ios_dark_transparent: "build/icons/ios_dark.png"
image_path_ios_tinted_grayscale: "build/icons/ios_tinted.png"
macos:
generate: true
image_path: "build/icons/macos.png"
windows:
generate: true
image_path: "build/icons/rounded.png"
icon_size: 256