This website requires JavaScript.
b696461128
Remove placeholder description block from homepage
main
Frank and Claude Sonnet 5
2026-09-05 12:22:26 +02:00
d1249adeca
Add "How it works" section to homepage explaining remote play
Frank and Claude Sonnet 5
2026-09-05 12:18:36 +02:00
9ad6c92759
Merge branch 'escaperoom-map': physical escape room map, reviews, website admin, OSM import
Frank
2026-08-31 00:24:33 +02:00
ab0976751f
Rename the nav link "Escape rooms" to "Rooms"
Frank and Claude Sonnet 5
2026-08-31 00:06:22 +02:00
28f7e9809e
Clamp OSM import field values to their column widths
Frank and Claude Sonnet 5
2026-08-30 23:56:08 +02:00
008887ab60
Add physical escape room map, reviews, and website admin
Frank and Claude Sonnet 5
2026-08-29 23:33:06 +02:00
0edaa9d8cc
Merge branch 'docker-test-environment': multi-instance Docker stack + test.escapepage.com scripts
Frank
2026-08-31 00:23:05 +02:00
97d35f8fcb
Add dedicated setup.test.sh / restart.test.sh for the staging stack
Frank and Claude Sonnet 5
2026-08-31 00:19:13 +02:00
b565825cd9
docker: make the stack multi-instance so a test.escapepage.com copy can run alongside prod
Frank and Claude Sonnet 5
2026-08-29 23:52:53 +02:00
07e8e68742
Ignore auto-generated config/reference.php
Frank
2026-08-29 23:02:27 +02:00
e470a9848d
Add read-tracking and soft-delete to contact messages
Frank
2026-08-29 11:19:54 +02:00
6fb3ed597b
Add contact form with reCAPTCHA, saved to DB, viewable in admin
Frank
2026-08-29 11:11:06 +02:00
fd8d1730e8
Add Terms and Conditions page and link it from registration/footer
Frank
2026-08-29 10:57:48 +02:00
cafa60b0f2
Update Composer and npm dependencies to latest
Frank and Claude Sonnet 5
2026-08-28 21:02:08 +02:00
5dc01a358a
Add pagination/search/sort to the admin tables that can grow large
Frank and Claude Sonnet 5
2026-08-28 20:39:14 +02:00
4daaa8d102
Hide the "In Development" banner once a game is open
Frank and Claude Sonnet 5
2026-08-28 20:19:00 +02:00
996087ec4e
Allow console commands to also be typed with a leading slash
Frank
2026-08-23 21:39:57 +02:00
c63af7becc
Add a per-game hints CRUD in the admin panel
Frank
2026-08-23 21:35:05 +02:00
552c71b718
Bold the win condition on the waiting-room page
Frank
2026-08-23 21:21:42 +02:00
c6227ea8c1
Add admin "create game" form; show total time on session-creation dropdown
Frank
2026-08-23 21:18:03 +02:00
1c0ab4780b
Consolidate rights-granting through a single function
Frank
2026-08-23 21:07:36 +02:00
7f389fbbc2
Reword two confusing mainframe hints
Frank and Claude Sonnet 5
2026-08-22 20:15:13 +02:00
ffa2b12786
Fix rm not accepting absolute paths
Frank and Claude Sonnet 5
2026-08-22 20:15:05 +02:00
51c542c7bb
Explain the win condition on the ready-up screen
Frank and Claude Sonnet 5
2026-08-22 20:14:55 +02:00
a290b75238
Stop auto-scrolling the game terminal when a new message arrives
Frank and Claude Sonnet 5
2026-08-22 19:16:48 +02:00
2b3c90d3fc
Show feedback in the admin panel and as aggregate stats on the briefing page
Frank and Claude Sonnet 5
2026-08-22 18:41:47 +02:00
5d9c113eea
Recall the last command with ArrowUp in the game terminal
Frank and Claude Sonnet 5
2026-08-22 17:32:00 +02:00
779ddcbccb
Fix 3 pre-existing failing tests
Frank and Claude Sonnet 5
2026-08-22 17:18:36 +02:00
6b1436dfe7
Randomize decoy usernames and which rapports carry coded messages
Frank and Claude Sonnet 5
2026-08-22 17:09:52 +02:00
02780d8f04
Add a favicon
Frank and Claude Sonnet 5
2026-08-22 17:09:44 +02:00
9a52e6b32c
Turn the tutorial link into a real button with clearer copy
Frank
2026-08-18 22:42:45 +02:00
7c14ab3331
Add a back button to the tutorial that docks into the input row on completion
Frank
2026-08-18 22:35:52 +02:00
6a04a0274a
Add command-line tutorial (PreGameController) and link it from the lobby
Frank
2026-08-18 22:23:26 +02:00
367ded6441
Only regenerate verify codes on broadcast, not any targeted /chat
Frank
2026-08-18 21:49:45 +02:00
1f35784c52
Don't regenerate a verify code when sent privately to its rightful owner
Frank
2026-08-18 21:47:21 +02:00
b0b357f99b
Strip spaces from generated decode report codes
Frank
2026-08-18 21:32:06 +02:00
a00899e444
Route every Mercure publish through an event, log pushes per-player
Frank and Claude Sonnet 5
2026-08-18 19:47:53 +02:00
aba79251e0
Broadcast game_finished when a player's own timeout check catches it
Frank and Claude Sonnet 5
2026-08-16 17:56:24 +02:00
2951a39204
Add mainframe hint system and cron-driven timeout handling
Frank and Claude Sonnet 5
2026-08-16 17:56:16 +02:00
2bda70b32b
Fix missing player number in mainframe welcome message
Frank and Claude Sonnet 5
2026-08-16 17:56:04 +02:00
ebd2f68df6
Sync PhpStorm project index with updated vendor packages
Frank
2026-08-16 16:04:46 +02:00
2c8e568255
Fix sessions never persisting as PLAYING, and dangerous-mode logrotate configs
Frank and Claude Sonnet 5
2026-08-13 00:14:00 +02:00
ba45e06972
Remove |raw from login error message rendering
Frank and Claude Sonnet 5
2026-08-10 21:41:53 +02:00
2913b8d2a2
Add CSRF protection, login throttling, and invite-code rate limiting
Frank and Claude Sonnet 5
2026-08-10 21:41:47 +02:00
335697e520
Update dependencies to patch known CVEs
Frank and Claude Sonnet 5
2026-08-10 21:41:36 +02:00
daa37390d0
Fix path traversal via username in session log file paths
Frank and Claude Sonnet 5
2026-08-10 21:41:25 +02:00
a9cb0fa57f
Turn admin lobby chat panel into a tab
Frank and Claude Sonnet 5
2026-08-10 16:48:06 +02:00
2bfc2aca1a
Keep pregame lobby chat open for an hour after the game ends
Frank and Claude Sonnet 5
2026-08-10 16:47:57 +02:00
846cfbc44a
Remove dead admin/session.html.twig template
Frank and Claude Sonnet 5
2026-08-10 15:32:53 +02:00
207346d571
Move inline template scripts into webpack-built assets
Frank and Claude Sonnet 5
2026-08-10 15:32:44 +02:00
dfa75719d0
Show pregame lobby chat in admin session logs
Frank and Claude Sonnet 5
2026-08-10 15:32:31 +02:00
444f54b6c6
Add pregame lobby with live chat
Frank and Claude Sonnet 5
2026-08-10 15:32:23 +02:00
98cf48b29d
Make admin panel usable on mobile
Frank
2026-08-10 14:58:12 +02:00
f6df9f7ba6
Show friendly session status labels on the player dashboard
Frank
2026-08-10 14:58:01 +02:00
fc93486367
Restore executable bit on docker/restart.sh and docker/setup.sh
Frank and Claude Sonnet 5
2026-07-12 23:35:50 +02:00
98066118a6
Expand terminal filesystem, add mainframe hint cron, redirect PHP logs
Frank and Claude Sonnet 5
2026-07-12 23:34:36 +02:00
1be07440e3
Bring back 1-minute ready-status expiry with live per-player broadcasts
Frank
2026-07-11 23:45:41 +02:00
c28abef5b7
Block unverified users from marking themselves ready
Frank
2026-07-11 23:25:50 +02:00
886208c5c0
Add profile page for changing password and email
Frank
2026-07-11 23:23:38 +02:00
2941cfca49
Fix game route dumping players into the terminal for non-PLAYING sessions
Frank
2026-07-11 23:13:30 +02:00
3c58e153dc
Soft-delete users instead of hard-deleting, add last login tracking
Frank
2026-07-11 23:09:52 +02:00
3a7bc3ed49
Package install
Frank
2026-07-11 20:27:06 +00:00
aa667df889
Add /donation/success route and flash messages for both outcomes
Frank
2026-07-11 22:25:05 +02:00
c06c45cb52
Add /donation/cancel route to fix 404 on cancelled PayPal donations
Frank
2026-07-11 22:19:51 +02:00
51679d9a6a
Revert webpack-encore major bump from npm audit fix
Frank
2026-07-11 22:10:46 +02:00
e8be7919ef
npm audit fix
Frank
2026-07-11 20:05:59 +00:00
cb2e945419
Remove 60-second ready-status expiry so the group can always start
Frank
2026-07-11 21:48:32 +02:00
3984a33282
Add win/lose game-ending flow
Frank
2026-07-11 21:41:16 +02:00
eee6c3a369
Auto-trigger locked-files restoration exactly at the 60s deadline
Frank
2026-07-11 17:45:08 +02:00
e6ba469ef9
Restore locked files if not all removed within 60 seconds
Frank
2026-07-11 17:26:59 +02:00
f6a0d62017
Make terminal output more authentic: smaller font, tighter line spacing
Frank
2026-07-11 17:21:41 +02:00
6fd0b5d993
Grant rm right alongside sudo when player 1 decodes their message
Frank
2026-07-11 17:08:44 +02:00
6db9d42852
Wire up decode puzzle chain and lock terminal on file removal
Frank
2026-07-11 16:48:15 +02:00
1e644eb13b
Add "Looking for Help" page for the open visual artist request
Frank
2026-07-04 23:23:04 +02:00
8554f04735
Add "In Development" watermark badge over AI virus artwork
Frank
2026-07-04 23:02:46 +02:00
839113c356
Add AI Virus Deflection story to homepage and new agent briefing page
Frank
2026-07-04 23:00:31 +02:00
7dbb738da8
Show marketing opt-in status in admin users overview
Frank and Claude Sonnet 5
2026-07-04 20:48:48 +02:00
ec34a1ddb9
Add Terms and Conditions and marketing opt-in checkboxes to registration
Frank and Claude Sonnet 5
2026-07-04 20:28:52 +02:00
703d2af3d8
Add admin nav link and reuse site header/footer on admin pages
Frank and Claude Sonnet 5
2026-07-04 19:15:24 +02:00
5b03bd1d1c
Complete layout overhaul
Frank
2026-07-04 19:08:31 +02:00
05f4f2c32f
Fix EveryoneVerified setting being scoped to a specific player
Frank and Claude Sonnet 5
2026-07-04 18:19:14 +02:00
ddd2726687
Fix cat command using relative path for physical file lookup
Frank and Claude Sonnet 5
2026-07-04 18:12:55 +02:00
3721abcc5d
Fix missing leading slash in player's initial working directory
Frank and Claude Sonnet 5
2026-07-04 17:03:30 +02:00
e76d0b0f07
Fix Mercure reload spam on waiting page in Chrome
Frank and Claude Sonnet 5
2026-07-04 16:26:47 +02:00
b7693bd9d0
Remove quotes around MERCURE_CORS_ALLOWED_ORIGINS in docker/.env.dist
Frank and Claude Sonnet 5
2026-07-04 15:43:03 +02:00
b4f6a531c9
Fix Mercure CORS to allow both www and bare domain
Frank and Claude Sonnet 5
2026-07-04 15:26:17 +02:00
c4e5139ec4
Increase email header logo size from 40px to 140px
Frank and Claude Sonnet 5
2026-07-04 14:55:15 +02:00
238705495e
Add shared HTML layout for transactional emails
Frank and Claude Sonnet 5
2026-07-04 14:51:34 +02:00
4a5d83ef53
Fix duplicate EmailLog rows for a single sent email
Frank and Claude Sonnet 5
2026-07-04 14:44:03 +02:00
0e12e7fa8f
Switch docker/.env.dist mailer template from SendGrid to Mailgun
Frank and Claude Sonnet 5
2026-07-04 14:23:21 +02:00
3924b42ce0
Changes in install
Frank
2026-07-04 11:58:44 +00:00
58c9c60ad2
Mailer
Frank
2026-07-04 13:57:00 +02:00
b11c50c237
composer files
Frank
2026-07-04 11:51:47 +00:00
2316266b80
Upgrades
Frank
2026-06-27 12:51:01 +00:00
2a45ebb953
server executable rights
Frank
2026-03-10 21:13:52 +00:00
a1ff6df721
Add root .env.dist template
Frank and Claude Sonnet 5
2026-07-04 12:49:51 +02:00
487019d360
Stop tracking .env files and sanitize docker/.env.dist
Frank and Claude Sonnet 5
2026-07-04 12:29:04 +02:00
c045922c5b
Fix Mercure JWT secret mismatch
Frank van den Berg and Claude Sonnet 4.6
2026-06-28 23:24:09 +02:00
aa56617e50
hub location mercure adjustment
Frank van den Berg and Claude Sonnet 4.6
2026-06-28 23:09:35 +02:00
831603e04e
Migration game 1
Frank van den Berg
2026-06-27 16:07:22 +02:00