Root cause: we were creating a `Date` that did not exist in my timezone
(Santiago, Chile) because of DST. The JS engine decided to pick the
previous day, so I ended up with two times 5 September.
Fix: introduce a `DateOnly` object that internally uses UTC (to prevent
DST issues). Other parts of the system still use `Date`, which
probably should be refactored to use `DateOnly` as well (maybe in an
upcoming PR?). In the meantime, we provide a function to export a
`DateOnly` as a `Date`, using noon as the time instead of midnight
(because there are no DST changes at noon AFAIK).
We tested this manually (see the attached screenshots), but didn't find
a suitable place for automated tests.
port 1.6
* fix(dash): dim today button when on current month and hide tooltip on click
* fix(dash): use Theme.shortDuration for calendar today button opacity animation
* refactor(dash): use standard DankActionButton tooltipText for calendar today button
* chore(dash): remove unused todayButton id
* fix(dash): allow returning to today when another day in current month is selected
* feat(quickshell): add local to-do planner / tasks to calendar overview card
* feat(quickshell): add auto-focus and task reordering support in calendar planner
* feat(quickshell): implement smooth drag-and-drop task reordering and inline editing
* fix(quickshell): resolve overlap and jitter in task drag-and-drop
* fix(quickshell): fix boundary swaps and prevent task list scrambling on reload
* fix(quickshell): resolve race, fix qml error, simplify dragging, and remove python dependency
* fix(quickshell): use Log service instead of console.warn in CalendarService
* style: format QML files w/qmlformat-qt6
---------
* feat: add setting for first day of the week
* fix: extract settings indices
* fix: formatting mistake
* fix(ui): add outline rectangle between settings and reorder settings
* fix: don't set firstDayOfWeek automatically to system's locale
* feat: add setting to change and hotreload locale
* fix: typo in component id
* feat: add persistent locale setting
* feat: wrap useLocale in a settings set hook, enable locale hotreload when editing settings file
* chore: update translation and settings file
* feat: enable fuzzy search in locale setting
* fix: regenerate translations with official plugins cloned
* fix: revert back to system's locale for displaying certain time formats
* ci: change to prek for pre-commit
* refactor: fix shellcheck warnings for the scripts
* chore: unify whitespace formatting
* nix: add prek to dev shell