Commit Graph

  • 0b683d374f feat(ics): export — share single event + back up local calendars as .ics Jean-Luc Makiola 2026-06-18 14:27:53 +02:00
  • 64d0a89b28 release: cut v2.6.0 — working in-app language picker + system per-app language v2.6.0 Jean-Luc Makiola 2026-06-18 12:38:58 +02:00
  • 7285e274df Merge pull request 'feat(i18n): data-driven language picker + Weblate translation guard' (#5) from feat/translations into main Jean-Luc Makiola 2026-06-18 08:41:46 +00:00
  • 788ca3906e Merge remote-tracking branch 'origin/main' into worktree-feat+translations Jean-Luc Makiola 2026-06-18 10:29:00 +02:00
  • bab6fd175a fix(i18n): make the language picker actually apply on device Jean-Luc Makiola 2026-06-18 10:28:13 +02:00
  • 3d5cc55ef1 Merge pull request 'feat(reminders): configurable all-day reminder fire time' (#6) from feat/default-reminders into main Jean-Luc Makiola 2026-06-18 07:58:47 +00:00
  • 111b3782b0 feat(reminders): configurable all-day reminder fire time Jean-Luc Makiola 2026-06-18 09:54:41 +02:00
  • cf380b6eab ci(i18n): translation parity guard + allow partial translations Jean-Luc Makiola 2026-06-18 08:43:06 +02:00
  • 9177a926df feat(i18n): data-driven language picker + locale config Jean-Luc Makiola 2026-06-17 23:31:54 +02:00
  • 5e6defd4c7 release: cut v2.5.0 — home-screen widgets, agenda, jump-to-date, quick actions v2.5.0 Jean-Luc Makiola 2026-06-17 15:33:58 +02:00
  • 6e7ae3e60d Merge pull request 'feat(agenda): Agenda view — upcoming events grouped by day' (#4) from feat/agenda-view into main Jean-Luc Makiola 2026-06-17 07:45:04 +00:00
  • b0b30eef91 feat(agenda): add Agenda view — upcoming events grouped by day Jean-Luc Makiola 2026-06-17 09:41:36 +02:00
  • 8b25c9be39 Merge pull request 'feat(nav): jump-to-date action in the navigation drawer' (#3) from feat/jump-to-date into main Jean-Luc Makiola 2026-06-17 07:25:46 +00:00
  • 2943f3945d feat(nav): jump-to-date action in the navigation drawer Jean-Luc Makiola 2026-06-17 09:24:49 +02:00
  • b62f097392 release: cut v2.4.0 — per-event colors v2.4.0 Jean-Luc Makiola 2026-06-17 08:55:16 +02:00
  • 210ddff8d8 release: cut v2.3.0 — Material 3 grouped-list redesign of Settings, calendars & drawer v2.3.0 Jean-Luc Makiola 2026-06-16 11:44:10 +02:00
  • e194da3766 release: cut v2.2.0 — tap-to-create + local calendar management v2.2.0 Jean-Luc Makiola 2026-06-16 09:49:14 +02:00
  • 15fb76005c release: cut v2.1.0 — month event grid, drawer view tabs, text-cursor fix v2.1.0 Jean-Luc Makiola 2026-06-15 22:30:20 +02:00
  • c27a645c19 feat(month): show real events with continuous multi-day bars Jean-Luc Makiola 2026-06-15 22:29:38 +02:00
  • 21e7b1ff91 feat(drawer): add View section to switch Month/Week/Day Jean-Luc Makiola 2026-06-15 21:48:49 +02:00
  • 31163da868 ci(release): P1 hardening — versioning, F-Droid changelogs, R8 mapping, docs Jean-Luc Makiola 2026-06-15 21:47:50 +02:00
  • 9a1903e6ed fix(edit): stop cursor jumping in event text fields Jean-Luc Makiola 2026-06-15 21:16:32 +02:00
  • f990af1cb0 ci(release): make workflow_dispatch a key-rotation / re-sign path Jean-Luc Makiola 2026-06-15 21:13:43 +02:00
  • e5be5f1ae5 security(release): rotate compromised F-Droid repo key; keep key out of served tree Jean-Luc Makiola 2026-06-14 12:01:00 +02:00
  • 54aed73726 docs: F-Droid install guide with repo URL + fingerprint; backlog daily-driver ideas Jean-Luc Makiola 2026-06-11 22:48:30 +02:00
  • 82c3e1d605 docs: architecture tour, docs index, showcase README; ci: Gitea release per tag Jean-Luc Makiola 2026-06-11 22:35:03 +02:00
  • e5b523e907 docs: backlog the Locations & People ideas (contact picker, OSM autocomplete) Jean-Luc Makiola 2026-06-11 22:24:43 +02:00
  • d028b70e6e release: cut v2.0.0 — write support complete v2.0.0 Jean-Luc Makiola 2026-06-11 22:15:50 +02:00
  • 626623bb6e feat(edit): conflict dialog on save + store metadata refresh (v2.0) Jean-Luc Makiola 2026-06-11 22:14:27 +02:00
  • 264b2a86c1 release: cut v1.4.0 — reminder notifications v1.4.0 Jean-Luc Makiola 2026-06-11 21:24:10 +02:00
  • b03bd67678 feat(reminders): reminder notifications — EVENT_REMINDER receiver, onboarding step, settings toggle (v1.4) Jean-Luc Makiola 2026-06-11 21:23:34 +02:00
  • 301f105fbc release: cut v1.3.0 — event edit v1.3.0 Jean-Luc Makiola 2026-06-11 20:57:44 +02:00
  • f0e2e12939 feat(edit): event editing — shared form, scoped recurring writes, recurrence picker (v1.3) Jean-Luc Makiola 2026-06-11 20:57:32 +02:00
  • bdedf47972 release: cut v1.2.1 — event-form polish v1.2.1 Jean-Luc Makiola 2026-06-11 15:41:11 +02:00
  • a69be3da43 feat(edit): form redesign, optional fields, OptionCard dialogs, expressive motion Jean-Luc Makiola 2026-06-11 15:14:30 +02:00
  • 779fa1d480 release: cut v1.2.0 — event creation v1.2.0 Jean-Luc Makiola 2026-06-11 13:27:17 +02:00
  • c59a071b82 feat(write): event creation — form screen, FAB, last-used calendar (v1.2) Jean-Luc Makiola 2026-06-11 13:27:08 +02:00
  • 285bfd90a7 release: cut v1.1.0 — event delete (write foundation) v1.1.0 Jean-Luc Makiola 2026-06-11 12:55:56 +02:00
  • 9529f19c60 feat(write): event delete + WRITE_CALENDAR foundation (v1.1) Jean-Luc Makiola 2026-06-11 12:55:15 +02:00
  • 0013c9f3b1 ci: cut redundant per-run work (cache fix companion, emulator skip, daemon reuse) Jean-Luc Makiola 2026-06-11 09:50:01 +02:00
  • bd6ad4ae5f Merge pull request 'feat: full event read (v0.6.0) + onboarding redesign, cut v1.0.0' (#2) from feat/full-event-read-v0.6.0 into main makiolaj 2026-06-11 07:28:16 +00:00
  • 3697a58e5b release: cut v1.0.0 — first public release v1.0.0 Jean-Luc Makiola 2026-06-11 09:24:47 +02:00
  • e290c92d78 docs: fold onboarding redesign into 0.6.0 changelog v0.6.0 Jean-Luc Makiola 2026-06-11 09:23:42 +02:00
  • 9c4ebbc65a feat(permission): redesign first-run grant-access screen (M3 Expressive) Jean-Luc Makiola 2026-06-11 09:17:54 +02:00
  • c0d413ba11 docs: backlog the initial grant-access screen redesign (pre-1.0 polish) Jean-Luc Makiola 2026-06-11 09:08:21 +02:00
  • dca0245a42 refactor(detail): show availability only when Free, pin it by the title Jean-Luc Makiola 2026-06-11 09:08:21 +02:00
  • 024512959f feat(detail): full event read — surface every readable field (v0.6.0) Jean-Luc Makiola 2026-06-11 08:56:40 +02:00
  • e78da3d7c1 docs: add v0.6 "full event read" milestone before v1.0 Jean-Luc Makiola 2026-06-10 23:35:02 +02:00
  • 2cb8b59fb7 docs: cut jump-to-date (M2) from V1 scope Jean-Luc Makiola 2026-06-10 23:27:21 +02:00
  • 7d36d22fd5 Merge pull request 'feat: calendar filter in drawer + settings (v0.5.0)' (#1) from feat/filter-settings-v0.5.0 into main v0.5.0 makiolaj 2026-06-10 20:57:57 +00:00
  • adcbed6e02 feat(filter,settings): calendar filter in drawer + settings (v0.5.0) Jean-Luc Makiola 2026-06-10 22:55:33 +02:00
  • efa0abbaed feat(detail): full-screen event detail (S4) with humanized recurrence v0.4.0 Jean-Luc Makiola 2026-06-10 21:52:35 +02:00
  • d3fbe28843 docs: record v0.3.0 (month/week/day views, view switcher) in CHANGELOG v0.3.0 Jean-Luc Makiola 2026-06-10 20:44:22 +02:00
  • 951fb640a6 feat(day): single-column day view, wire into view switcher Jean-Luc Makiola 2026-06-10 20:40:02 +02:00
  • 94fa206e2e refactor(week): polish timeline — rounded viewport, scroll persistence, week badge Jean-Luc Makiola 2026-06-10 20:04:08 +02:00
  • 6a90bade8a feat(ui): month card grid + week timeline, wire view switcher Jean-Luc Makiola 2026-06-10 19:07:24 +02:00
  • 0132201cf9 style(icon): regenerate F-Droid icon.png to match launcher exactly v0.2.1 Jean-Luc Makiola 2026-06-09 10:38:08 +02:00
  • b792ddc2f0 style: fix launcher icon scaling and centering, update AGP Jean-Luc Makiola 2026-06-08 20:30:40 +02:00
  • 440fa57161 fix(debug): use prefixed composite keys in LazyColumn Jean-Luc Makiola 2026-06-08 20:19:58 +02:00
  • 00b5aeaac7 feat(icon): line-art cal + calendula bloom + numeral "1" Jean-Luc Makiola 2026-06-08 18:24:04 +02:00
  • 2a2b919041 docs: record v0.2.0 data-layer + permission flow in CHANGELOG, planning v0.2.0 Jean-Luc Makiola 2026-06-08 17:58:02 +02:00
  • 3ced240e23 test: instrumented repository smoke against real CalendarContract Jean-Luc Makiola 2026-06-08 17:57:12 +02:00
  • 035ac9b003 test: replace placeholder smoke with permission-rationale assert Jean-Luc Makiola 2026-06-08 17:56:03 +02:00
  • c03389abe0 ui: replace placeholder with RootScreen routing permission ↔ debug Jean-Luc Makiola 2026-06-08 17:55:34 +02:00
  • 98f8433156 ui: add DebugScreen showing calendars + next 50 instances Jean-Luc Makiola 2026-06-08 17:54:23 +02:00
  • 8fbbab30e2 ui: add DebugViewModel combining calendars + next 30d instances Jean-Luc Makiola 2026-06-08 17:52:50 +02:00
  • ef0a4b0568 ui: add PermissionScreen with rationale and denied recovery Jean-Luc Makiola 2026-06-08 17:50:33 +02:00
  • 43f12812b6 ui: add PermissionViewModel with three-state machine Jean-Luc Makiola 2026-06-08 17:49:39 +02:00
  • 2400d5482c i18n: add permission + debug screen strings (en, de) Jean-Luc Makiola 2026-06-08 17:49:06 +02:00
  • 4d54501ed4 di: wire CalendarRepository, DataSource, DataStore, IoDispatcher Jean-Luc Makiola 2026-06-08 17:48:34 +02:00
  • 748df761bf data: add CalendarPrefs (hidden calendar ids in DataStore) Jean-Luc Makiola 2026-06-08 17:47:55 +02:00
  • d13f2f07a5 data: add CalendarRepository + Impl with SharedFlow re-emit on data-source ticks Jean-Luc Makiola 2026-06-08 17:47:13 +02:00
  • 7abb2e6ab4 data: add CalendarDataSource seam returning domain lists (not Cursors) Jean-Luc Makiola 2026-06-08 17:44:19 +02:00
  • fb003d8806 data: add ColumnReader.toEventDetailCore() and toAttendee() mappers Jean-Luc Makiola 2026-06-08 17:42:42 +02:00
  • 40b531fa52 data: add ColumnReader.toEventInstance() with defensive validation (§8) Jean-Luc Makiola 2026-06-08 17:41:29 +02:00
  • 0e4c47febe data: add ColumnReader abstraction + Cursor.toCalendarSource mapper Jean-Luc Makiola 2026-06-08 17:40:37 +02:00
  • fb723fba68 data: add CalendarContract column projections + indices v0.1.1 Jean-Luc Makiola 2026-06-08 17:37:23 +02:00
  • ffc7ed414f fix(fdroid): correct metadata format to fastlane convention + add icon.png Jean-Luc Makiola 2026-06-08 17:37:05 +02:00
  • af75965a31 domain: add pure-Kotlin models (CalendarSource, EventInstance, EventDetail, …) Jean-Luc Makiola 2026-06-08 17:36:39 +02:00
  • 1b456d2133 data: add TimeBridge helpers for epoch-millis ↔ kotlin.time.Instant Jean-Luc Makiola 2026-06-08 17:35:49 +02:00
  • a826e82bdc build: add kotlinx-datetime, coroutines, turbine, hilt-nav-compose, lifecycle-compose Jean-Luc Makiola 2026-06-08 17:32:45 +02:00
  • ed680b4482 docs: add Plan 02 - Data Layer & Permission Flow implementation plan Jean-Luc Makiola 2026-06-08 17:30:41 +02:00
  • 6ebe8d69e9 ci(cleanup): trim lint+test scope for faster pipelines v0.1.0 Jean-Luc Makiola 2026-06-08 17:03:08 +02:00
  • 0508ea9de5 fix(ci): split release.yaml sanity gradle calls to avoid OOM Jean-Luc Makiola 2026-06-08 16:53:30 +02:00
  • ee14706d91 fix(build): revert ui-tooling-preview to implementation scope Jean-Luc Makiola 2026-06-08 16:06:49 +02:00
  • 376663b0d8 chore: batch fix final-review findings on Plan 01 Jean-Luc Makiola 2026-06-08 16:04:23 +02:00
  • 89ff33fe3d docs: record v0.1.0 foundation in CHANGELOG, update STATE Jean-Luc Makiola 2026-06-08 15:55:20 +02:00
  • 686aee9109 build: wire signing config from key.properties when present Jean-Luc Makiola 2026-06-08 15:52:40 +02:00
  • bfa7757d88 ci: add gitea release workflow with F-Droid pipeline Jean-Luc Makiola 2026-06-08 15:49:01 +02:00
  • fb7f2ad1f3 ci: add gitea CI workflow (lint, test, assemble, trivy) Jean-Luc Makiola 2026-06-08 15:46:57 +02:00
  • 0593b9c60f test: add UI smoke test for MainActivity placeholder Jean-Luc Makiola 2026-06-08 15:45:17 +02:00
  • dea5490bcf feat: scaffold CalendulaApp + MainActivity with themed placeholder Jean-Luc Makiola 2026-06-08 15:43:17 +02:00
  • 4fe8cd12cb feat: M3 Expressive theme with dynamic color + fallback scheme from slate seed Jean-Luc Makiola 2026-06-08 15:39:28 +02:00
  • e4f445ac75 fix(build): bump compileSdk 36 -> 37 for Material 3 Expressive alpha Jean-Luc Makiola 2026-06-08 15:34:36 +02:00
  • 2cf2dafacd fix(deps): correct Compose BOM to 2026.05.01 Jean-Luc Makiola 2026-06-08 15:31:52 +02:00
  • defc7795ad feat: adaptive launcher icon - '1' on slate squircle (kalendae) Jean-Luc Makiola 2026-06-08 15:28:27 +02:00
  • b20da4d4c6 feat: add android manifest, strings (DE+EN), colors, base theme Jean-Luc Makiola 2026-06-08 15:23:52 +02:00
  • 8312bc6e0c chore(gradle): fix code-review findings on app module setup Jean-Luc Makiola 2026-06-08 15:22:07 +02:00
  • 5e2cee1147 chore(gradle): drop orphaned kotlin-android plugin references Jean-Luc Makiola 2026-06-08 15:18:47 +02:00
  • a9c141f146 chore: configure :app module gradle build Jean-Luc Makiola 2026-06-08 15:16:36 +02:00