Rocheport Times
Rocheport Times1,321
- 20269 weeks logged1,320
- W3921 Sep32commits
Rocheport Times
Five games, a broadsheet front, and the home page as a front door
- Launched five games: The Mini, a Weekly Quiz, Four Corners, Letterpress and Night Sky, with their own page type and layout.
- Made the home page a front door: no news on it, just live vitals, events, sports and games; /news/ carries the news. Events gained a 'Pin to Front Page' flag.
- Built the MR340 race hub's stats band (the MR340 is a 340-mile Missouri River paddle race): entered, finished, DNF, DNS, by division, with a map preview that opens the full-screen race map, and two-column year pages.
- W3814 Sep18commits
Rocheport Times
Open sign-up, chat, and a front page that looks like a newspaper
- Opened sign-up: a self-serve /register/ page with editor approval, passwordless login links, a members' Messages badge in the utility bar, and a privacy note.
- Built member messaging as a chat UI on the existing direct-message store, with block, report and moderation, and a flag-gated daily digest.
- Marked every member-gated page uncacheable after the edge cache served logged-out copies to signed-in members.
- W3524 Aug15commits
Rocheport Times
Quick Approve for the editor, six more trails
- Added Quick Approve to the Editorial Desk for the three daily draft types, with the full post body open inline so nothing is approved unread.
- Made the desk hold any draft carrying raw HTML in its prose before it can publish, with a test case for the gate.
- Gave the MCP newsroom two event-writing tools so an approved calendar item can be corrected or published from the assistant.
- W3310 Aug46commits
Rocheport Times
Public-domain river data and a 47-trail explorer
- Swapped the river-channel geometry for public-domain USACE data on both the desktop map and the server, and regenerated the mobile encoding to match.
- Fixed the 2026 replay's phantom leader: the first hour of tracking was mis-seeded field-wide, and pre-gun pings were being drawn as race progress.
- Escaped feed-supplied boat names at four tooltip sinks (a cross-site-scripting fix), hardened magic-link sign-in per a security audit, and added WordPress-free GitHub Actions checks: PHP lint, template lint and the MR340 regression suite.
- W323 Aug12commits
Rocheport Times
The 2026 race results, frozen and replayable
- Gave each race year its own address under /mr340/ with a rewrite rule, since WordPress pages cannot have purely numeric slugs.
- Froze the real 2026 results and wired the 2026 replay onto the year page; the every-boat results table pages 10 at a time.
- Polished the race hub: year cards over a hub map, replay badges, and a rail call-to-action on the homepage.
- W3127 Jul208commits
Rocheport Times
Race day: 395 boats wrongly marked out, fixed live
- Snapped live positions to the river channel instead of raw GPS, added dead-reckoning so boats glide between feed polls instead of freezing and teleporting, and fixed the OUT label that had marked about 395 racing boats as quit.
- Moved feed validation to the server proxy (bad tracker data is flagged once, at the door) and wrote regression fixtures for every race-day defect, pinned to real feed data.
- Built the phone view for people standing at a ramp: scrollable live standings, a watch-a-stop screen with approaching boats plotted upstream and honest ETAs, and stale trackers labelled rather than guessed.
- W3020 Jul374commits
Rocheport Times
Building the MR340 race tracker in seven days
- Reverse-engineered the race's public tracker feed and built a tracker module: leaderboard and checkpoint watch from a 3-minute server-side cache with stale fallback, pinned by 27 fixture checks.
- Moved the replay map from Leaflet to MapLibre GL: vector basemap with no API key, optional 3D terrain and buildings, a satellite toggle, a cinematic tour that chases a chosen boat, and checkpoints placed at real ramp coordinates.
- Rebuilt the 2024 field from 405 real GPS tracks, snapped to the official river-channel line from a 2012 survey, and lazy-loaded it so the page shrank from 1.45 MB to 360 KB.
- W2913 Jul156commits
Rocheport Times
Members, invites, and a newsroom the AI reaches only through MCP
- Built the member layer: a Neighbor role gated on bespoke capabilities instead of generic WordPress ones, editor-issued and member-sent invites with a per-member cap, an onboarding tour, and a Community admin menu (Neighbors, Approvals, Invites, Activity, Alerts).
- Shipped the newsroom MCP server: public read tools, an editorial tier behind OAuth or an application password, a draft-only create_draft tool, and lead tools with a code-enforced trust floor. The daily drafting, rundown and lead routines now go through it; SSH access was retired.
- Turned on post-moderation by default: wall posts, listings and suggestions hold for review, with a stop-word filter and an optional tone check.
- W286 Jul459commits
Rocheport Times
Rocheport Times relaunches on one platform plugin
- Consolidated all custom code into one plugin with 30 modules and a loader that guards against collisions; the mobile app's API surface was kept frozen so nothing on the app side had to change.
- Fixed four security bugs in the existing community code before launch: an account takeover through social login that trusted an unverified email, a forced-friendship request, an unsanitized public wall (stored XSS), and Microsoft sign-in trusting a user-editable email field.
- Built the Editorial Desk: a review queue in wp-admin for AI-drafted articles with threaded change requests, an automatic link checker, and approve or request-changes actions on the post itself. Nothing publishes without a person.
- 20231 week logged1
- W3024 Jul1commits
Rocheport Times
A rough first try at a Rocheport Times app
- A rough .NET MAUI scaffold, one page and a Post class: the first sketch of a Rocheport Times mobile app
- 20221 site
- 2022–2snapshots
