Skip to content

Beta#354

Draft
TheAngryRaven wants to merge 14 commits into
mainfrom
BETA
Draft

Beta#354
TheAngryRaven wants to merge 14 commits into
mainfrom
BETA

Conversation

@TheAngryRaven

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 9 commits July 24, 2026 18:39
Public /updates blog with admin-portal authoring: Supabase posts table,
markdown bodies, derived excerpts, WordPress-style slugs, tags, and an
AI-assisted flag. Records the decisions (cloud-gated routes, react-markdown,
client-side tag filtering) and the deferred SEO work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
New public.posts table for the updates blog: markdown body, tags[],
ai_assisted flag, published gate. Anon reads published rows only; admins get
full CRUD via has_role — same RLS archetype as leaderboard_entries. Partial
index on (published_at desc) where published serves the public listing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
lib/blogPosts.ts: PostRow/BlogPost types + row mapping, WordPress-style
slugify (diacritics stripped, 80-char cap at a hyphen boundary), markdown
excerpt derivation with a tunable length knob, and tag normalization/union
helpers. All pure, no Supabase import; 21 Vitest cases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
react-markdown + remark-gfm in a new vendor-markdown chunk (lazy pages only —
stays off the eager landing payload). Shared MarkdownContent renderer with
prose/dark:prose-invert token overrides; @tailwindcss/typography (already a
devDep) now registered. Credits updated in README + CreditsDialog.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
postsClient (leaderboardClient pattern, untyped posts table) with anon reads
and admin CRUD. /updates lists published posts with derived excerpts and
client-side tag-pill filtering; /updates/:slug renders the markdown body with
the DriverProfile load-state model. useDocumentHead grows optional og:type,
article times, and a JSON-LD script for BlogPosting structured data. New lazy
'updates' i18n namespace across all 7 languages.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
Inline post editor following the TracksTab house style: auto-slug from title
until hand-edited, markdown body with Write/Preview toggle (shared
MarkdownContent renderer), tag chips with previously-used suggestions,
AI-assisted + Published switches (first publish stamps published_at), quick
publish toggle on list rows, friendly duplicate-slug toast. Admin i18n keys
added across all 7 locales.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
sitemap.xml and llms.txt gain the /updates page, CHANGELOG documents the
blog under 3.1.1, and the CLAUDE.md architecture map notes the new pages.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
0011 was claimed by concurrent work; the design record and every in-code
plan citation (and prior commit messages on this branch) move to 0012.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
…yoeu

plan 0012: Updates blog — public /updates pages + admin CMS
@supabase

supabase Bot commented Jul 25, 2026

Copy link
Copy Markdown

Updates to Preview Branch (BETA) ↗︎

Deployments Status Updated
Database Sat, 25 Jul 2026 05:16:47 UTC
Services Sat, 25 Jul 2026 05:16:47 UTC
APIs Sat, 25 Jul 2026 05:16:47 UTC

Tasks are run on every commit but only new migration files are pushed.
Close and reopen this PR if you want to apply changes from existing seed or migration files.

Tasks Status Updated
Configurations Sat, 25 Jul 2026 05:16:49 UTC
Migrations Sat, 25 Jul 2026 05:16:49 UTC
Seeding Sat, 25 Jul 2026 05:16:50 UTC
Edge Functions Sat, 25 Jul 2026 05:16:56 UTC

View logs for this Workflow Run ↗︎.
Learn more about Supabase for Git ↗︎.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 25, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
lapwing 2e99c28 Commit Preview URL

Branch Preview URL
Jul 25 2026, 05:17 AM

claude and others added 5 commits July 25, 2026 03:08
The public reads relied on RLS alone, but policies OR together: an admin's
session satisfies 'Admins read all posts', so their own drafts showed up on
/updates. The public queries now filter published=true explicitly; RLS stays
the gate for everyone else.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
New rss-feed edge function renders the RSS 2.0 feed server-side — feed
readers can't run the SPA and hosting is static-assets-only. Anon-key read of
published posts (RLS gate), 15-min edge cache, tags as categories.
lib/rssFeed.ts derives the URL from the baked backend; /updates gets a
subscribe pill and both public pages emit the rel=alternate autodiscovery
link via a new useDocumentHead feedUrl option.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
…yoeu

plan 0012: updates blog follow-ups — draft visibility fix + RSS feed
The hand-maintained roadmap list drifted from reality, so it's gone (keys
removed across all 7 locales). In its place: two ActionTile-styled panels —
the newest published post tagged 'web update' and the newest other news
(date + title only, tap-through to the post) — under an All-updates button.
Cloud-gated; summaries-only fetch via dynamic import (eager landing graph
stays Supabase-free) and the section hides itself offline or when empty.
splitLatestByTag is pure + tested.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Su6PHag9FiG2AL3mhmzvSp
…yoeu

plan 0012: replace landing roadmap with a Latest Updates teaser
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants