Commit Graph
19 Commits
Author SHA1 Message Date
FrankandClaude Sonnet 5 2c8e568255 Fix sessions never persisting as PLAYING, and dangerous-mode logrotate configs
checkAllPlayersReady() set the session to PLAYING and cleared/updated its
timer in memory but never flushed, relying on callers to do so. The
toggleReady() caller flushed right after, but GameController::index()'s
lazy catch-up call did not - so if the "everyone ready" transition was
only detected on a page load (e.g. players didn't click ready within the
same 60s window), the terminal would render for that one request from the
in-memory state, letting the game be played entirely through the
unguarded message API, while the database silently kept the session on
'ready' with timer 0 forever. This made sessions invisible to the mainframe
hint cron and the admin "running sessions" count. Moved the flush inside
checkAllPlayersReady() itself so both callers persist reliably.

Also chmod the logrotate configs after COPY in the Dockerfile, since
their on-disk mode ended up group-writable (0664) depending on the
build host's umask, which made logrotate refuse to use them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 00:14:00 +02:00
FrankandClaude Sonnet 5 98066118a6 Expand terminal filesystem, add mainframe hint cron, redirect PHP logs
- Game1 terminal: flesh out the virtual filesystem with a realistic
  spread of Linux directories/files (~70 dirs, ~140 files) so it no
  longer reads as an obviously small puzzle set, without touching any
  win-condition or rapport files.
- Add app:hints:check command + a php-cron container (BusyBox crond)
  that nudges players who haven't contacted every teammate 5 minutes
  into a session, via a new 'hint' Mercure message type.
- Log the cron command's output to var/log/cron/cron.log and rotate
  it (25MB / 90 days) via logrotate, run daily from the same crontab.
- Redirect PHP's error_log and Symfony's prod app/deprecation logs
  from stderr-only into var/log/php/*.log (kept alongside stderr),
  with the same rotation policy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 23:34:36 +02:00
Frank 8d4e08e4bc Mailer From 2026-01-11 23:10:30 +01:00
Frank 3f33ec6fef csrf error solve. try 4 2026-01-10 14:19:57 +01:00
Frank ab80d4de83 csrf error solve. try 3 2026-01-10 14:06:29 +01:00
Frank e8a6c9cc7a Validation fails 2026-01-10 00:25:57 +01:00
Frank ece3b05a9c Add error log 2026-01-09 23:36:50 +01:00
Frank 3c9bd13cc2 Meer updates. Next try 7 2026-01-09 15:47:44 +01:00
Frank eeda97cef8 Meer updates. Next try 6 2026-01-09 15:42:43 +01:00
Frank 5a6616484f Meer updates. Next try 5 2026-01-09 15:33:52 +01:00
Frank f0bcc9fe06 Meer updates. Next try 4 2026-01-09 15:25:41 +01:00
Frank 550cc1b2ed Meer updates. Next try 3 2026-01-09 15:18:25 +01:00
Frank b1910a63c3 Meer updates. Next try 2 2026-01-09 15:10:44 +01:00
Frank 60d52d7b5e Meer updates. Next try 2026-01-09 15:01:12 +01:00
Frank 0c7bbc2670 Meer updates. Hopelijk beter nu. 2026-01-09 14:51:31 +01:00
Frank 3e73cba942 Updated dockerfile om migrations uit te kunnen voeren 2026-01-09 14:41:59 +01:00
Frank van den Berg bf7d1ee379 Made it workable on docker containers 2026-01-06 19:48:33 +01:00
Frank b58da74967 Some settings 2026-01-03 13:16:58 +01:00
Frank 18821e2463 Startup 2026-01-02 20:27:56 +01:00