Skip to content

Conversation

@tannerlinsley
Copy link
Member

No description provided.

- Use rehype-react to render markdown directly to JSX on server
- Stream RSC content to client via renderServerComponent()
- Remove markdown processor from client bundle
- Fix code block visibility (CSS was hiding dual-theme Shiki blocks)
- Fix hydration errors (nested button in DropdownTrigger)
- Add 'use client' directives to interactive components
- Move MarkdownHeading type to separate types.ts file
- Simplify MarkdownContent to only accept RSC content
Fixes build with linked @TanStack packages that import Node.js built-ins
@netlify
Copy link

netlify bot commented Feb 10, 2026

Deploy Preview for tanstack failed. Why did it fail? →

Name Link
🔨 Latest commit 1e9db0c
🔍 Latest deploy log https://app.netlify.com/projects/tanstack/deploys/698cb16ee7f3b900083ef9b4

- Move blog post loading to createServerFn (loadBlogPost)
- Static imports work when server code is in createServerFn
- Route loaders that directly import server modules need dynamic imports
- setCacheHeaders can be static in routes using createServerFn
- Add shared renderMarkdownRsc utility for markdown→JSX→RSC pipeline
- Feed list/timeline/detail now use RSC instead of HTML string parsing
- Feed detail page reuses entry.contentRsc instead of re-rendering
- Admin edit path skips content rendering (only needs raw content)
- Separate query keys for raw vs rendered feed entries
- Preview query key uses content hash to avoid cache bloat
- Remove legacy Markdown.tsx and handler files (dead code)
- Remove DocContent pass-through wrapper (inlined)
- DRY processor.tsx with shared createBasePipeline function
- Remove unused exports (renderMarkdown sync, highlightCode)
- Fix lint errors in MdComponents.tsx (JSX in try/catch)

Net: -400 lines, cleaner architecture, better perf for admin path

Note: Pre-existing TS errors in other files (ShowcaseGallery, landing pages, etc.)
prevented normal commit. Smoke tests and lint pass.
- Add feed.composites.tsx with createFeedTimelineComposite and createFeedDetailComposite
- Timeline and detail views now use CompositeComponent with renderActions slot
- Admin actions wired through slots for client-side interactivity
- Table view retains contentRsc approach (too interactive for composites)
- Simplify feed.$id route by moving shell markup to server composite
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.

1 participant