mirror of
https://github.com/kuhyx/wake-alarm.git
synced 2026-11-11 17:43:49 +01:00
The inline `_DeviceCodeDialog` (86 lines) was byte-for-byte identical to diet-guard's, and `services/github_device_auth.dart` was a fourth copy of the auth client. Both now come from `github_device_auth` in the kuhyx/utils monorepo. This app's client was not merely a drifted copy -- it carried a fix the other three lacked: `pollForToken` swallowed a transient socket failure and kept polling, because GitHub can close the connection at the exact moment the user authorizes. Extracting todo's version would have silently deleted that. The package took this behaviour instead, so the fix now protects all four apps rather than just this one. It is expressed as `on http.ClientException` rather than the local `SocketException` arm, because the package is also imported by diet-guard's **web** build where `dart:io` will not compile. Verified that nothing is lost: package:http wraps a dead socket as `_ClientSocketException`, which implements both types. 19 tests pass, analyze clean, and the release APK is installed on the phone and launching. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U4Rj3s7K2qzrLNgJqqPhno
68 lines
2.0 KiB
YAML
68 lines
2.0 KiB
YAML
name: wake_alarm_sync
|
|
description: "Wake alarm phone-side sync app — sets the phone alarm and syncs the time to the PC via the shared crdt_sync transport."
|
|
publish_to: 'none'
|
|
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
sdk: ^3.12.2
|
|
|
|
dependencies:
|
|
android_intent_plus: ^5.0.0
|
|
crdt_sync:
|
|
git:
|
|
url: https://github.com/kuhyx/utils
|
|
ref: crdt_sync_dart-v0.10.0
|
|
path: crdt_sync_dart
|
|
cupertino_icons: ^1.0.8
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_secure_storage: ^9.0.0
|
|
|
|
# One-tap sign-in for the sync account. App-side only: crdt_sync stays pure
|
|
# Dart so it keeps working on Linux desktop and headless.
|
|
github_device_auth:
|
|
git:
|
|
url: https://github.com/kuhyx/utils
|
|
ref: github_device_auth-v0.3.0
|
|
path: github_device_auth
|
|
google_sign_in: ^7.2.0
|
|
http: ^1.2.0
|
|
path: ^1.9.0
|
|
path_provider: ^2.1.0
|
|
shared_preferences: ^2.3.0
|
|
|
|
# Shared "Sync settings" screen (Firebase + optional local backup), reused
|
|
# across every kuhy app that syncs. GitHub mirror stays app-local (see
|
|
# lib/screens/github_mirror_screen.dart).
|
|
sync_settings_ui:
|
|
git:
|
|
url: https://github.com/kuhyx/utils
|
|
ref: sync_settings_ui-v0.1.0
|
|
path: sync_settings_ui
|
|
url_launcher: ^6.3.0
|
|
uuid: ^4.6.0
|
|
|
|
dev_dependencies:
|
|
# Generates the Android launcher icons from assets/icon/ (see
|
|
# python_pkg/app_icons in testsAndMisc for the shared style).
|
|
flutter_launcher_icons: ^0.14.4
|
|
flutter_test:
|
|
sdk: flutter
|
|
very_good_analysis: ^10.2.0
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
# Launcher icon generation. Source art is produced by the shared generator:
|
|
# PYTHONPATH=~/testsAndMisc python3 -m python_pkg.app_icons generate --app <key>
|
|
# then run: dart run flutter_launcher_icons
|
|
flutter_launcher_icons:
|
|
android: true
|
|
ios: false
|
|
image_path: "assets/icon/icon.png"
|
|
adaptive_icon_background: "#211D1B"
|
|
adaptive_icon_foreground: "assets/icon/icon_foreground.png"
|
|
adaptive_icon_monochrome: "assets/icon/icon_monochrome.png"
|
|
min_sdk_android: 21
|