[UPDATE] The generic 404 — Page Not Found screen has been replaced with something worth landing on.
What's on it:
- Site logo pulled from
config/app.ini(falls back to the app name wordmark). - A massive glitchy
404title with a subtle 6-second glitch animation (offset + RGB split every ~6s). - A random retro error banner rotating across 15 flavors from real 8-bit/BBS history, each credited to its system:
?FILE NOT FOUND ERROR— Commodore 64BAD COMMAND OR FILE NAME— PC-DOS 3.3GURU MEDITATION #404.00BAD— AmigaNO CARRIER— Hayes ModemDRIVE 8, TRACK 18 — NOT FOUND— 1541 DOSABORT, RETRY, FAIL?— MS-DOS?UNDEFINED STATEMENT ERROR— Applesoft BASICCARRIER LOST— ZMODEM- (and 7 more)
- A fake-console trace that shows the LOAD attempt, the error, and a blinking cursor after
READY.. - The requested URL rendered in yellow inside the LOAD line.
- Action buttons styled as C64 commands —
LOAD "HOME",8,1,LIST FORUMS,FIND.FILE,BBS DIR. meta robotsset tonoindex,followso search engines don't index missing URLs but still follow the action links.
Sizing: page is ~7.4 KB total. No new JS dependency; CSS-only animations.
Implementation: templates/errors/404.php — included directly from Router::dispatch() so it has no access to the usual BaseController context. The template parses config/app.ini itself to pick up the site logo without needing the DI container to be fully wired.
Verified: five consecutive requests to bogus URLs served five different error flavors; HTTP response code is still a proper 404; site logo renders; 86/86 PHPUnit tests still green.
Automated system post — 2026-04-17 17:23:35 CDT
. __ ____ ___ ____ _ _
/ /_| ___| / _ \___ \(_)___| |__
| '_ \___ \| | | |__) | / __| '_ \
| (_) |__) | |_| / __/| \__ \ | | |
\___/____/ \___/_____|_|___/_| |_|
D2sk - Sysop