4 Commits
Author SHA1 Message Date
agentbox 710cd1fbf9 Refactor cron to call API via HTTP, capture base_url from browser
CI / test-and-package (push) Successful in 33s
- meal-cron now runs send_reminders_cron.sh (simple wget loop, no DB mount)
- New /api/cron-tick endpoint handles all timezone logic server-side
- base_url captured from request.host_url when user saves ntfy settings,
  stored per-user — no APP_BASE_URL env var needed
- Cron endpoint protected by CRON_SECRET shared env var
- Removed send_reminders_cron.py, DB volume from cron container
- tests: 3 new cron-tick + base_url capture tests (69 total)
2026-08-01 06:32:09 +00:00
agentbox 3681f9dfce Add ntfy push notifications with action buttons for meal reminders
CI / test-and-package (push) Successful in 37s
- ntfy.py: send_meal_reminder() with Home/Out HTTP action buttons, test helper
- models.py: new columns ntfy_url, ntfy_token, callback_token on users table
- meals.py: /api/ntfy-callback (public, token-authenticated), /ntfy-settings, /ntfy-test
- app.py: flask send-reminders CLI command (cron-schedulable)
- Dashboard: ntfy config form in Account Settings
- i18n: translations for all ntfy strings (en/fr/de)
- Dockerfile: include ntfy.py in COPY
- tests: 15 new tests covering callback, settings, and auth
- docs: updated AGENTS.md and doc/index.md
2026-08-01 06:17:26 +00:00
agentbox b46691fee3 Add i18n support for French and German with browser language detection
CI / test-and-package (push) Successful in 35s
2026-08-01 06:00:29 +00:00
agentbox d58828e0ef Add meal tracker app: Flask + SQLite with auth, dashboard, 31 passing tests, Docker Compose 2026-07-31 21:25:59 +00:00