fix(post-publish): 5 UI polish items from PB04 bug-hunt#116
Merged
Conversation
…el, Storage(S3) → Object storage; docs code-block lang badges Five small UI polish items from the PB04 post-publish bug-hunt: 1. PricingPage Anonymous "Storage" cell rendered '—' but plans.yaml has storage_storage_mb=10 for anonymous; backend really does return a 10 MB 24h-TTL bucket. Cell now reads "10 MB / 24h TTL". 2. Homepage SERVICES grid label "Storage (S3)" implied AWS S3, but the live backend is DigitalOcean Spaces (S3-compatible, not AWS). Renamed to "Storage (S3-compatible)". 3. PricingPage Team tier headline price was "coming soon" with no number, which read as vaporware. Now shows "$199/mo" (per plans.yaml team tier) with the existing "soon" badge as the availability signal. CTA stays empty until launch. 4. The first two code blocks on /docs (quickstart.md, services.md curl examples in the InstaNode-dev/content repo) author their fences without a language tag (```\ncurl ...\n```), so they render monochrome with no badge. Added a conservative sniffLang pass in markdown.tsx that flags unlabelled fences as 'bash' only when the first non-empty line starts with curl/kubectl/npm/etc. Explicit fences are never overridden; the existing "no language class when fence has no language tag" test still passes because "plain text" isn't shell-ish. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Five small post-publish UI polish items from the PB04 bug-hunt walkthrough:
—butplans.yamlhasstorage_storage_mb: 10for anonymous; live backend returns a 10 MB 24h-TTL bucket. Cell now reads10 MB / 24h TTL.Storage (S3)implied AWS S3, but live backend is DO Spaces (S3-compatible). Renamed toStorage (S3-compatible).coming soonwith no number, read as vaporware. Now$199/mo(perplans.yaml) with the existingsoonbadge as the availability signal. CTA stays empty until launch./docscode blocks (quickstart + services curl examples) author their fences without a language in thecontentrepo, so they render monochrome with no badge. Added a conservativesniffLanginmarkdown.tsxthat flags unlabelled fences asbashonly when the first non-empty line starts withcurl|kubectl|npm|docker|git|brew|sudo|.... Explicit fences are never overridden..lighthouserc.jsonthresholds (0.9 perf, 0.95 a11y/best-practices/SEO on desktop preset) are reasonable for the new dark-mode + syntax-highlight changes — no threshold change needed; the CodeBlock additions are ~1 KB and dark mode is CSS-only.Why the docs fix lives here and not in content
The
contentrepo has no auto-deploy and would need a separate PR + manual sync. Sniffing at render time inside the existing markdown pipeline ships the same user-visible improvement in one PR. The existing "emits no language class when the fence has no language tag" markdown test still passes because the fixture (plain text) isn't shell-ish.Test plan
npm run gate— green (39 files, 678 passed, 3 skipped)npm run build(inside gate) — prerender succeeds/pricingto confirm Anonymous Storage row + Team price render correctly/to confirm SERVICES card 5 readsStorage (S3-compatible)/docsto confirm Quickstart + Services curl blocks now show thebashbadge + syntax highlightmain(0.9 perf / 0.95 a11y on desktop)Per CLAUDE.md repo rule: do not merge — this is PR-protected.
🤖 Generated with Claude Code