All checks were successful
CI / ci (push) Successful in 5m25s
Non-visual stack (backoffice) complete and verified against the real provider semantics (tasks.org's bundled dmfs TaskProvider, authority org.tasks.opentasks, org.tasks.permission.* dangerous): - TaskContract subset + ProviderResolver (runtime authority/permission) - AndroidTasksDataSource (Instances query, ContentObserver) + TasksRepository with live Flows; domain models, smart-list filtering, sorting, form validation - Self-scheduled due-reminder engine (AlarmManager, boot/provider-change) - Render-only ViewModels + UiState for every screen - 24 JVM unit tests; assembleDebug + lintDebug + testDebugUnitTest green - RootScreen is a functional scaffold over real data, to be replaced with the Material 3 Expressive screens one by one Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are documented here. The format follows
|
|
[Keep a Changelog](https://keepachangelog.com/); the latest released git tag is
|
|
the source of truth for version codes (see Calendula's `docs/RELEASING.md`).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- M1 data layer + logic ("backoffice"): the full non-visual stack over the
|
|
OpenTasks `TaskContract` provider (authority resolved at runtime —
|
|
`org.tasks.opentasks` for tasks.org, `org.dmfs.tasks` for OpenTasks).
|
|
- Vendored `TaskContract` subset, `ProviderResolver`, `ColumnReader`, mappers,
|
|
`AndroidTasksDataSource` (Instances query + ContentObserver), and
|
|
`TasksRepository` exposing live Flows of lists/tasks/detail.
|
|
- Domain models, smart-list filtering (Today/Upcoming/Overdue/No-date/All/
|
|
Completed), sorting, form validation, sub-tasks via `parent_id`.
|
|
- Self-scheduled due-reminder engine (AlarmManager + boot/provider-change
|
|
re-sync), notifications, DataStore prefs.
|
|
- Render-only ViewModels + UiState for every screen (lists, task list, detail,
|
|
edit, settings, permission) so the UI is build-only.
|
|
- 24 JVM unit tests (mappers, filtering, sorting, form, value mapping, day
|
|
windows). `RootScreen` is a functional scaffold over the real data, to be
|
|
replaced screen-by-screen with the Material 3 Expressive design.
|
|
- M0 skeleton: project scaffolding copied from Calendula (Gradle, version
|
|
catalog, Hilt, Material 3 Expressive theme, Gitea CI/release workflows),
|
|
reseeded to a warm-mauve palette. Builds and shows a themed placeholder.
|