| Filename | Latest commit message | Latest commit date |
|---|---|---|
The developer's request of 10 Nov 2026, decided in ADR 0042: on mobile data every app holds its sync back, rows and files alike, and asks. halkyon_app becomes an Android plugin, its first native code, registered in every app by Flutter: HalkyonAppPlugin.java says which network the device is on and whether it is metered as Android has it (no NET_CAPABILITY_NOT_METERED: cellular, a phone's hotspot, Wi-Fi marked metered). Java, so it applies no Kotlin Gradle Plugin. MobileDataGate, one per device, holds the setting (Ask first, Sync without files, Sync everything; kept in <app support>/mobile_data.json), the network, and the person's answer, which holds until the device moves to another network or off a metered one. SyncService asks it before each sync: held back, nothing goes, the status counts what waits and asks; an answer or Wi-Fi syncs at once, and syncing now while held back is Sync now. Each app's frame shows the banner above every tab, in halkyon_ui's new NavigationFrame.banner slot (On mobile data · 3 changes waiting, with Not now, Without files and Sync now); the Sync card in Settings chooses the setting on a phone and says when files wait for Wi-Fi. Learn's files neither go up nor come down while held back. Whats-New: On mobile data the app no longer syncs by itself: a banner asks first, and Settings › Sync chooses whether to ask, sync without files, or sync everything. Whats-New-De: Mit mobilen Daten synchronisiert die App nicht mehr von selbst: Ein Hinweis fragt zuerst, und unter Einstellungen › Synchronisierung wählst du, ob sie fragt, ohne Dateien oder alles synchronisiert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me> |
||
| .. | ||
| halkyon_todo_client | ||
| halkyon_todo_flutter | ||
| halkyon_todo_server | ||
| snap | ||
| tool | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| README.md | ||
| release.dart | ||
Halkyon Todo
To-dos, as a Halkyon app: for now a shell on the shared packages. People choose an instance, sign in (with SimpleLogin or a password), switch between the accounts on their devices, sign out and delete their account; the home is empty until Todo's first model.
| Package | What it is |
|---|---|
halkyon_todo_server |
The server: Serverpod with the halkyon_base module |
halkyon_todo_client |
Its client, generated by Serverpod |
halkyon_todo_flutter |
The app, on halkyon_app and halkyon_ui (Android, iOS, Linux, macOS, Windows) |
Run it with serverpod start in halkyon_todo_server, which starts the server (and its
embedded PostgreSQL) and the app; or the app alone against an instance with
flutter run --dart-define=SERVER_URL=https://…/ in halkyon_todo_flutter. Tests:
dart run melos run test:dart --scope=halkyon_todo_server and
dart run melos run test:flutter --scope=halkyon_todo_flutter at the repository's
root, or dart run tool/check.dart for everything.
The app's icon is Lucide's list-todo (ISC licence, ADR 0031),
drawn by the repository's tool/app_icons.py. Licences: the server under the SSPL, the client and the app under
the AGPL (LICENSE.md).