Jean-Luc Makiola 529a596d17
All checks were successful
CI / ci (push) Successful in 5m16s
Fix: read instances with null projection for provider-version robustness
On-device smoke test (tasks.org, which bundles an older OpenTasks provider)
hit SQLITE_ERROR 'no such column: is_recurring' — that column and
distance_from_current don't exist in every provider version. Query all
columns (projection=null) and let the by-name mapper read what's present
(absent -> null); the repository re-sorts, so no provider sort column is
needed either. Verified live: reads the real tasks.org/DAVx5 provider
(1 list, 0 open tasks) with zero errors.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 22:04:00 +02:00

Floret

A modern Material 3 Expressive task app for Android.
Reads, writes, and reminds — on top of an existing tasks provider, with no own sync stack.

Android 10+ Kotlin + Compose Material 3 Expressive MIT License

Floret is the task-list sibling to Calendula. Where Calendula is a pure front-end over Android's CalendarContract, Floret is a pure front-end over the OpenTasks TaskContract provider — the store that DAVx5 (and SmoothSync, DecSync, …) syncs your CalDAV VTODO tasks into. No own database, no reinvented sync.

A Calendula flower head is botanically made of many small florets — the individual items that make up the bloom. Floret is those items: your tasks.

Status: M0 — skeleton. Builds and shows a themed placeholder. The TaskContract data layer, task screens, and reminder engine are the next milestones. See docs/PLAN.md for the full roadmap and the A-now-B-later architecture (front-end first; bundle the provider later).

Sync sources (by design)

Floret works with anything that writes to the tasks provider — DAVx5 (CalDAV), SmoothSync, CalDAV-Sync, DecSync CC, or any Android sync adapter — because it builds on the provider, not on any one sync app. Google Tasks / Microsoft To Do are out of scope by design (proprietary; they would mean owning a sync stack). Open standards — CalDAV / iCalendar / DecSync — are the lane.

License

MIT — see LICENSE.

Description
A modern Material 3 Expressive task app for Android — sibling to Calendula, over the OpenTasks provider.
Readme MIT 724 KiB
v0.2.0 Latest
2026-06-27 19:27:17 +00:00
Languages
Kotlin 100%