Commit Graph

19 Commits

Author SHA1 Message Date
Ulas Kalayci 3b02cb1aee docs: update BACKLOG, SPEC, README, and CONTRIBUTING to v0.41.0
- BACKLOG: added completed entries for v0.38.2–v0.41.0 (loans, widget sizes,
  date formats, birthday badge, calendar improvements, typography, reminders)
- SPEC: added Budget Loans and Budget Loan Payments data-model tables; updated
  Budget module description with Loans tab and API; updated Dashboard with
  widget size presets; corrected Settings tab count from 8 to 9
- README: Budget feature row now mentions the loans tracker
- CONTRIBUTING: added test:kitchen-tabs and test:setup to individual suite list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 20:16:26 +02:00
Ulas Kalayci a6ecf7e9ca chore: release v0.38.1 2026-04-30 10:42:51 +02:00
Ulas Kalayci d88133c503 chore: release v0.29.2 — documentation catch-up 2026-04-28 12:35:59 +02:00
Ulas Kalayci e5669fec24 docs: update SPEC, BACKLOG, and README for v0.20–v0.23 changes
- SPEC.md: add Recipes + Recipe Ingredients tables, recipe_id FK on Meals,
  External Calendars table, calendar_ref_id FK on Calendar Events, Recipes
  module section, recipe integration in Meals module, external calendar
  name/color badge and location display in Calendar module
- BACKLOG.md: add completed entries for ICS subscriptions, web/CLI installer,
  bootstrap setup endpoint, Recipes module, external calendar names/colors,
  event location, and Tasks/Dashboard improvements
- README.md: add Recipes to module list and Highlights section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 08:02:52 +02:00
Ulas 8af730e9cf feat: add Japanese, Arabic, Hindi, Portuguese locales + new currencies
- 4 new locale files (ja, ar, hi, pt) with 567 keys each - full coverage
- Japanese (日本語): Hiragana/Kanji script
- Arabic (العربية): RTL-ready text
- Hindi (हिन्दी): Devanagari script
- Portuguese (Português): Brazilian Portuguese
- SUPPORTED_LOCALES updated in i18n.js (10 → 14 locales)
- LOCALE_LABELS updated in oikos-locale-picker.js
- New currencies: AED, BRL, INR, SAR added to budget settings
- Service Worker v31: new locale files pre-cached in APP_SHELL
- Docs: README, SPEC.md, BACKLOG.md, CHANGELOG.md updated
2026-04-14 10:28:17 +02:00
Ulas ddb8294eff docs: update BACKLOG, SPEC, and design system to reflect v0.9.0–v0.16.3 changes
- BACKLOG: add completed features from v0.7.1 through v0.16.3 (shopping
  widget, priority none, kanban persistence, meal visibility, currency,
  custom categories, recipe links, Spanish/FR/TR/RU/EL/ZH locales,
  settings tabs, CNY/TRY/RUB currencies)
- SPEC: add recipe_url field to Meals table (v0.13.0)
- SPEC: add shopping_categories table (v0.12.0)
- SPEC: fix i18n fallback language from de to en (v0.16.1)
- SPEC: update locale file list to include all 10 languages
- SPEC: document Settings tab navigation (v0.16.0)
- design/system.md: fix priority levels from 4 to 5 (none added v0.9.0)
2026-04-13 10:35:33 +02:00
Ulas 3a7d6d0e0a docs: update language references to include Italian and Swedish
README, SPEC.md, and BACKLOG.md now list all four supported locales:
German (de), English (en), Italian (it), Swedish (sv).
2026-04-05 12:03:58 +02:00
Ulas 87186c03c0 docs: add BL-11 CardDAV contacts provider to backlog (issue #10) 2026-04-04 01:43:08 +02:00
Ulas 1146588212 docs: update public docs post-audit for v0.7.0
- SECURITY.md: add bcrypt v6 reference and mandatory SESSION_SECRET note
- CODE_OF_CONDUCT.md: add enforcement contact (GitHub Private Reporting)
- BACKLOG.md: add completed features table entries for v0.5.0 through v0.7.0
- docs/SPEC.md: add supported languages table with Italian (v0.5.8)
- Remove CLAUDE.md.proposed (tracked, deleted from disk)
2026-04-04 01:37:20 +02:00
Ulas 6046cac7a8 docs: translate German documentation files to English
Translate BACKLOG.md and docs/SPEC.md from German to English for
international contributor accessibility. Fix outdated CONTRIBUTING.md
statement that claimed UI text is German-only — app now supports
multiple locales via i18n.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 17:01:19 +02:00
Ulas 2e3c5a9afa docs: replace em dashes with hyphens in public-facing docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:25:47 +02:00
Ulas 83a80bfd6b chore: remove duplicate social-preview.png and clean up BACKLOG.md
- Delete root social-preview.png (identical copy of docs/social-preview.png,
  only the docs/ version is referenced in README)
- Consolidate BACKLOG.md: all 10 entries were completed, compress into a
  reference table and clear the active section for future use
- Delete prompt-i18n.md (untracked, i18n fully shipped in v0.5.0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 14:18:17 +02:00
Ulas 4fe4f6cb38 feat: BL-07–BL-10 — notes search, weather refresh, vCard import/export, PWA offline page
- Notes: client-side full-text search bar (filters title + content)
- Dashboard: weather refresh button + 30-min auto-refresh interval
- Contacts: vCard 3.0 export per contact (GET /:id/vcard); vCard import
  via file input with client-side parser (FN, TEL, EMAIL, ADR, NOTE, CATEGORIES)
- PWA: /offline.html served when network unavailable; cached in app-shell (sw v20)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:35:03 +02:00
Ulas d866d32336 feat: Apple CalDAV credentials form + connect/disconnect UI (BL-04)
Admin can now enter CalDAV URL, Apple-ID and app-specific password
directly in Settings; credentials are tested live before saving and
stored in sync_config (take precedence over .env); disconnect clears
DB-stored credentials without server restart. Auto-sync interval
(15 min, configurable via SYNC_INTERVAL_MINUTES) was already in place.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:27:07 +02:00
Ulas 6fd209ba5e feat: meals drag & drop between slots and days (BL-03)
Pointer Events-based drag & drop (touch + mouse compatible):
- Ghost element follows pointer; drops on empty slots move the meal,
  drops on occupied slots swap both meals via concurrent PUT requests
- prefers-reduced-motion: no ghost animation, interaction still works
- Suppress-click guard prevents accidental edit modal after drag

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:23:39 +02:00
Ulas 6a860f2c13 feat(calendar): expand recurring events in GET /calendar and /upcoming
expandRecurringEvents() iterates from the event's original start date,
generating all occurrences within the requested window using the existing
nextOccurrence() service (max 1000 iterations). The SQL query is extended
to also fetch recurring events that started before the window. Event
duration is preserved across instances. Virtual instances carry
is_recurring_instance=1 and are shown with a repeat icon in the agenda
view. /upcoming expands across a 90-day forward window.

Closes BL-01.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:17:39 +02:00
Ulas 82e5b2cd85 feat(budget): auto-generate recurring entry instances per month
Adds schema migration v3 (recurrence_parent_id column + budget_recurrence_skipped
table). On every GET /api/v1/budget, the server checks all recurring originals
(is_recurring=1, no parent) and creates missing instances for the requested month
using the same day-of-month (clamped to the last day). Deleted instances are
recorded in budget_recurrence_skipped so they are not recreated on the next visit.
Generated instances are shown with a ↩ indicator in the transaction list.

Closes BL-05.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:13:37 +02:00
Ulas 26d3d12a22 feat(budget): add month-over-month comparison to summary cards
Each summary card (Einnahmen, Ausgaben, Saldo) now shows a trend line
comparing the current month to the previous one. The previous month's
summary is fetched in parallel via the existing /budget/summary endpoint,
so there is no extra round-trip latency. Positive deltas render in green
(▲), negative in red (▼), unchanged in neutral grey (—).

Closes BL-02.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 22:54:04 +02:00
Ulas ca377e8441 docs: add BACKLOG.md with 10 entries (3 SPEC gaps, 3 medium, 4 ideas)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 22:41:51 +02:00