martbost
18aabb3cb2
/friday: status script as a file (CSP blocks inline), and the page in the real sitemap
...
The first deploy shipped the status strip stuck on Checking: the site CSP has no
unsafe-inline, so the inline script never ran. Moved to /assets/friday.js. The
sitemap list lives in blog.js, not the pages list I edited in server.js; /friday
is in it now.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-25 06:29:09 -05:00
martbost
269247c871
Blog renderer: bump blog-page.js tag so articles load the viral-link bar now, not after the cache
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-21 05:56:21 -05:00
martbost
825d0de6c3
Header: Leaderboard link
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-14 05:40:26 -05:00
martbost
b0ef3b3a58
Leaderboard + referral contest: /leaderboard (week/month/all, read from chain, own positions excluded), Overview card with own rank, weekly and monthly winners recorded at rollover with credit ladders granted automatically and announced to Telegram
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-14 05:22:39 -05:00
martbost
b3523e9dc4
Release notes + roadmap: /whats-new page, Overview What's new card, Admin > Releases editor
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-14 04:54:43 -05:00
martbost
4caa0ef5a8
Sign-up guard: honeypot is read-only until a trusted focus and ignores browser autofill (own email); masked value logging
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-13 04:57:51 -05:00
martbost
49a98e7ee3
Blog: admin-written coaching articles, server-rendered public /blog with SEO metadata, sitemap, RSS, robots
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-12 18:42:56 -05:00