Commit graph

14 commits

Author SHA1 Message Date
8729b0d1ed Add weekly goal field to new goal form
Tagesziel and Wochenziel sync automatically (weekly = daily * 7). Only daily is stored.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 11:08:23 +02:00
a8f6692de4 Add stopwatch fill button and asset cache-busting
- Stopwatch ⏱ button appears in add/quick-book rows when sw >= 1s, fills input with floor(seconds)
- AppController passes md5 hashes of app.js/style.css to template for automatic cache-busting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 11:00:54 +02:00
f0cbe5b5d0 Add header stopwatch and asset cache-busting
- Stopwatch between logo and menu: tap to start, tap to stop, tap to reset
- AppController passes md5-based version hash for app.js and style.css to prevent browser caching issues

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:35:29 +02:00
80e418f8b7 Add PHPUnit integration tests, remove legacy pre-Symfony files, fix password reset
- Delete legacy root files (api.php, index.php, app.js, style.css, logo.png, include/)
- Install symfony/test-pack, add 34 integration tests covering auth, goals, invites, register, password reset
- Fix bug: users_resets.selector was varchar(20) but controller generates 24-char selectors; widen to varchar(64)
- Remove doctrine dbname_suffix from test env (tests run against live DB, cleanup via tearDown)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:18:21 +02:00
6503466344 Run deploy commands as www-data for correct file ownership
SSH key copied to /var/www/.ssh/ for www-data GitHub access.
All git, composer, and console commands now run as www-data so
var/cache/ files are always owned correctly without a manual chown.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 20:39:27 +02:00
d7edb30998 Run doctrine:migrations:migrate on deploy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 20:01:36 +02:00
3425bbd171 Add Doctrine migration to clean up legacy tables and align schema
Creates rememberme_token table, drops legacy delight-im/auth tables,
aligns column types with Doctrine entity definitions. Adds UserReset
entity so users_resets is managed by Doctrine instead of raw SQL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 20:01:19 +02:00
039007d462 deploy: fix var/ permissions after cache:clear 2026-04-29 15:59:58 +02:00
807bcb32b9 deploy: fix RewriteBase /dd/ for Alias deployment 2026-04-29 15:58:13 +02:00
f0857c1bd9 composer: remove post-install scripts, cache:clear handled by deploy.sh 2026-04-29 15:55:38 +02:00
57fdc81278 deploy: set COMPOSER_ALLOW_SUPERUSER=1 for root installs 2026-04-29 15:55:00 +02:00
a1b7d13921 composer: replace symfony-cmd with php bin/console in post-install scripts 2026-04-29 15:54:38 +02:00
4cb07cd6a2 deploy: replace rsync with git pull + composer install 2026-04-29 15:53:49 +02:00
fd473f00af Initial commit: Dudi habit tracker
Symfony 8 SPA with Doctrine ORM, Symfony Security, vanilla JS frontend.
Migrated from plain PHP (delight-im/auth + raw SQL) to full Symfony stack.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 15:40:57 +02:00