Commit Graph
765 Commits
Author SHA1 Message Date
makiolaj 705835a66f Highlight today in the month grid (#241) 2026-09-30 13:19:05 +02:00
Jean-Luc Makiola c2302c033e Merge split day list in Pages month view (#111) 2026-09-30 13:16:27 +02:00
makiolaj 596f76bbaa Open split day list from Pages month style (#111) 2026-09-30 13:15:32 +02:00
Jean-Luc Makiola 85f77f2332 Merge full month agenda in split view (#142) 2026-09-30 13:12:22 +02:00
makiolaj d471255340 Show month agenda by default in split view (#142) 2026-09-30 13:11:21 +02:00
Jean-Luc Makiola dcb1e891f1 Merge localized launcher name (#251) 2026-09-30 13:01:55 +02:00
Jean-Luc Makiola 7bf41fa0f8 Merge relative all-day reminder dates (#308) 2026-09-30 13:00:15 +02:00
Jean-Luc Makiola a23ea81c48 Merge out-of-view indicators (#188) 2026-09-30 12:57:42 +02:00
Jean-Luc Makiola 52aa48fda7 Merge visible time range (#322) 2026-09-30 12:53:29 +02:00
Jean-Luc Makiola 264b1ebbf4 Merge month paging and multi-day view (#193, #336) 2026-09-30 12:50:30 +02:00
makiolaj bd04f7692c Let translators localise the Calendar launcher name (#251) 2026-09-30 12:50:01 +02:00
makiolaj 26de9d369d Fix the zone named in an all-day reminder test comment (#308) 2026-09-30 12:49:49 +02:00
makiolaj 27e5b41038 Say today or tomorrow in all-day reminders too (#308) 2026-09-30 12:49:49 +02:00
makiolaj 2119a36969 Match edge indicators to event colors and clear before reveal (#188) 2026-09-30 12:48:06 +02:00
makiolaj 8d3081a086 Let taps reach events under the edge bar (#188) 2026-09-30 12:48:06 +02:00
makiolaj d1664b28de Tint a day column's edge when events sit out of view (#188) 2026-09-30 12:48:06 +02:00
makiolaj 252689038e Hand the timeline scale row over to visible hours while it's on (#322) 2026-09-30 12:47:50 +02:00
makiolaj 406642050e Hold the fitted hour height after opening (#322) 2026-09-30 12:47:50 +02:00
makiolaj ddf3e203a0 Fit a chosen hour range into the timeline on open (#322) 2026-09-30 12:47:50 +02:00
makiolaj e8ed4c30e1 Add a multi-day view with a configurable day count (#193) 2026-09-30 12:44:22 +02:00
makiolaj d7315caa20 Page the month view with a pager that follows the finger (#336)
Paged and Split now page like the week and day views; Split keeps its
vertical expand drag, now vertical-only beside the pager, and the pane
follows the grid's row count mid-swipe. The old trigger swipe and slide
transition are gone with their last callers.

Closes #336
2026-09-30 12:44:22 +02:00
Jean-Luc Makiolaandmakiolaj 9f05a53ed2 Page the day view with a pager that follows the finger (#336) (#337)
Moves the day view onto the same pager as the week view (#131): days follow the finger and snap past half a page or on a fling, the hour gutter stays fixed, neighbouring days are loaded ahead. Opening a day from the month grid lands on that date directly.

Also, from review:
- The per-page state cache (week and day) leaked: dropped entries kept their `stateIn` coroutine and last loaded events alive until the ViewModel was cleared. It is now a shared `PageStateCache` in `common/` that gives each entry its own job and cancels it on eviction.
- The week and day anchor `state` chains had lost their `.catch`, so a settings-flow error crashed instead of showing the failure screen.

Part of #336; the month view follows in its own PR.

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/337
2026-09-25 20:49:25 +02:00
Jean-Luc Makiola 9ca10fc6ee Page the week view with a pager that follows the finger (#131)
Closes #131
2026-09-25 13:28:03 +02:00
Jean-Luc Makiolaandmakiolaj 994fa010b8 Release v2.21.0 (#332)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 32s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Successful in 14m32s
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Successful in 1m33s
Minor release rounding up the 2.21.0 milestone.

- Setup makes sure there is a calendar to write to: it offers to create a local calendar or add a syncing account when the device has none, and lists switched-off calendars so they can be turned back on (#287).
- The month grid gives its days more room: smaller week numbers in a gutter measured from the widest number, less chip padding, tighter label tracking (#189, #190, #212, #213).
- A month day shows as many event chips as its week row has height for, instead of a flat three.
- Split view draws only the rows its month spans instead of padding to six (#162).
- Short events show their title in week and day view (#289).
- A fully zoomed-out timeline no longer scrolls by its rounding leftover (#290).
- Backup & restore has loading, failure and empty states instead of a blank page (#304).
- Untitled events and unnamed calendars use the translated placeholder instead of the hardcoded German one, which the calendar editor could also save into the calendar (#321, #329).

Plus the release commit: CHANGELOG section, versionName 2.21.0 / versionCode 22100, and the en-US 22100 changelog. Merging this to main triggers the release pipeline.

Closes #287
Closes #189
Closes #190
Closes #212
Closes #213
Closes #162
Closes #289
Closes #290
Closes #304
Closes #321
Closes #329

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/332
v2.21.0
2026-09-24 15:51:06 +02:00
Jean-Luc Makiolaandmakiolaj 5c20c5f6eb Release v2.20.4 (#313)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 7s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Successful in 13m14s
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Successful in 1m26s
Patch release rounding up the three issues in the 2.20.4 milestone.

- An event opened from a reminder or a home-screen widget came back on every
  later launch — an error screen once that event had been deleted. Android
  hands back the intent that started the task each time the activity is
  rebuilt, and the event channels acted on it every time instead of once
  (#309).
- "Today" did nothing in the Agenda once you had scrolled ahead: the agenda is
  browsed by scrolling, not by moving its date, so resetting the date alone
  changed nothing. It now scrolls the list back, and the button stays offered
  while the list is scrolled away (#305).
- The self-hosted F-Droid repo filed the app under "Time" instead of
  "Calendar & Agenda" (#294).

Plus the release commit: CHANGELOG section, versionName 2.20.4 / versionCode
22004, and the en-US 22004 changelog. Merging this to main triggers the release
pipeline.

Closes #309
Closes #305
Closes #294

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/313
v2.20.4
2026-09-20 21:16:11 +02:00
Jean-Luc Makiola c4bb7ae0b2 Translations update from Weblate (#300)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 7s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/300
2026-09-20 21:11:38 +02:00
Julie 0c985a280c Translated using Weblate (Slovak)
Currently translated at 42.3% (250 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/sk/
2026-09-17 08:36:18 +00:00
Weblate 17ebb9fd42 Translated using Weblate (Slovak)
Currently translated at 42.3% (250 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/sk/
2026-09-17 08:36:18 +00:00
James Trivette cadc2b14db Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
Weblate 1fdca903be Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
James Trivette 5e7658aa80 Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
Weblate bea31032fb Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
James Trivette f7c1dbdbc4 Translated using Weblate (Czech)
Currently translated at 84.9% (501 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
Jean-Luc Makiolaandmakiolaj a1ed010963 docs(privacy): point the controller contact at support@ (#307)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 8s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
The Controller section of `docs/PRIVACY.md` names the address a reader writes
to in order to exercise their rights under Art. 15-21 GDPR. That is a different
kind of mail from a project enquiry, so it now points at
`support@jeanlucmakiola.de` instead of `business@jeanlucmakiola.de`.

Same change is going into Agendula, and the website's own Datenschutzerklärung
already names `support@` in its § 1. `business@` stays reachable — it is just no
longer the published address anywhere.

`updated:` bumped to 2026-09-15, since the published policy changes.

Two notes for review:

- **Target branch.** CONTRIBUTING says to target the release branch named by the
  issue's milestone. The open milestones (2.21.0 and later) have no branches
  yet, so per the same section this targets `main` and says so — retarget it if
  you would rather it waited for one.
- **No changelog entry.** The entries in `CHANGELOG.md` describe what changed
  for the person using the app, and nothing about the app changed here. Happy to
  add one under a new `## [Unreleased]` if you want the contact change to show
  up in the release notes.

`business@` needs to keep accepting mail until this is live on
jeanlucmakiola.de/calendula/privacy and the Play Console listing has caught up.

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/307
2026-09-15 16:10:29 +02:00
Jean-Luc Makiola 7be6b7ac31 Release v2.20.3 (#302)
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Successful in 57s
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 6s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Successful in 12m49s
v2.20.3
2026-09-12 17:09:15 +02:00
Jean-Luc Makiola 20c20b71ea Release v2.20.2 (#299)
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Failing after 7m20s
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 7s
2026-09-12 15:49:04 +02:00
Jean-Luc Makiola 0fb3df0b3a Merge pull request 'Translations update from Weblate' (#262) from jlmakiola_weblate_bot/calendula:weblate-calendula-strings into main
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 15s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
2026-09-12 15:23:25 +02:00
Weblate e10b09a9b5 Translated using Weblate (Arabic)
Currently translated at 100.0% (593 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/
2026-09-12 02:29:58 +00:00
Sup99999 806a576380 Translated using Weblate (Arabic)
Currently translated at 100.0% (593 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/
2026-09-12 02:29:58 +00:00
James Trivette 3c365c6792 Translated using Weblate (Czech)
Currently translated at 71.1% (422 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-11 19:34:07 +00:00
Andrei Linchik 4fb4a85ac4 Translated using Weblate (Russian)
Currently translated at 42.4% (252 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ru/
2026-09-11 19:34:07 +00:00
Benutzer e7312e5d6e Translated using Weblate (Italian)
Currently translated at 98.6% (585 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/it/
2026-09-11 19:34:07 +00:00
Sup99999 12c2de7ed8 Translated using Weblate (Arabic)
Currently translated at 99.1% (588 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/
2026-09-11 19:34:07 +00:00
António de Seabra 8a3cc95c66 Translated using Weblate (Portuguese)
Currently translated at 76.8% (456 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/pt/
2026-09-11 19:34:07 +00:00
James Trivette 9c06ffdb48 Translated using Weblate (Czech)
Currently translated at 66.1% (392 of 593 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-11 19:34:07 +00:00
James Trivette 870a903015 Translated using Weblate (Czech)
Currently translated at 60.6% (353 of 582 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-11 19:34:07 +00:00
Sup99999 b5768e3b17 Translated using Weblate (Arabic)
Currently translated at 99.1% (577 of 582 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/
2026-09-11 19:34:07 +00:00
Dmitri Gabinski 02b33dbf07 Translated using Weblate (Belarusian)
Currently translated at 98.7% (567 of 574 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/be/
2026-09-11 19:34:07 +00:00
Jean-Luc Makiola a0c0b875f0 Move the privacy policy into the repo (#293)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 6s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/293
2026-09-09 16:23:47 +02:00
makiolaj 512bf8c746 docs: shape the policy as the content entry the site renders
Frontmatter carries the title, description and date, the body starts at
the first section rather than repeating the title as an h1, and the
maintainer note is an HTML comment — a blockquote would have rendered
"edit this in a PR" onto the published privacy page.
2026-09-09 16:14:42 +02:00