Commit Graph

3 Commits

Author SHA1 Message Date
69c5e20d8e display date in user's selected calendar on main menu and reports
buildStatusText and buildDailyReport now use formatDateForCalendar
to convert the stored Gregorian date to the user's calendar type
(jalali/hijri/gregorian).
2026-06-24 10:06:39 +03:30
b900710196 fix: correct Jalali calendar year conversion
Complete rewrite of gregorianToJalali and jalaliToGregorian using
proper JDN arithmetic. Removed broken epoch offset (226899 / year 979)
and replaced with jalaliEpochJDN = 1948320 (March 21, 622 CE).

Verified: 2026-06-24 -> Jalali 1405-04-03 (correct)
Nowruz 1405 verified as 2026-03-21
2026-06-24 09:48:39 +03:30
9d123316e6 feat: Hijri calendar, virtual midnight crossover, overlap rejection, WAL mode
- Hijri (قمری) calendar added as 3rd calendar option with tabular conversion
- Calendar type select menu (like accent) with gregorian/jalali/hijri
- Calendar type applied to exports and reports
- Midnight crossover: virtual splits at computation time (no synthetic DB events)
  - Handles both UTC and local timezone boundaries
  - Timezone changes handled naturally (recomputed on-the-fly)
- Rate limiting per user ID instead of chat ID
- WAL mode enabled for SQLite
- Smart reply keyboard updates after every state change
- Overlapping time edits rejected (must preserve in/out alternation)
- Single event deletion warns if timeline needs repair
- Day off no longer prevents clock in/out
- Accent colors shown with descriptive names in select menu
- Delete button label changed to DEL for visual distinction
2026-06-24 09:39:15 +03:30