docs: landing polish + Node section alignment#279
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe PR adds background SDK doc prefetching via a new ChangesLanding Page SDK-Awareness and Prefetch Infrastructure
Node.js Documentation Title Updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/app/components/landing/sections.tsx (1)
254-268:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAvoid dead-link fallback for cards without destinations.
Line 256 routes missing
c.hrefto"#", which creates a fake navigation target. Render a non-link container when no href is present (or supply real hrefs for all cards) to avoid hash-jump behavior.Proposed fix
- {USE_CASES.map((c) => ( - <Link - key={c.title} - to={c.href ? `/${sdk}/${c.href}` : "#"} - className="uc reveal" - > + {USE_CASES.map((c) => + c.href ? ( + <Link + key={c.title} + to={`/${sdk}/${c.href}`} + className="uc reveal" + > + <div className="ic"> + <Icon d={c.icon} rect={c.rect} /> + </div> + <div> + <h3> + {c.title} <span className="arr">→</span> + </h3> + <RawHtml as="p" html={c.body} /> + </div> + </Link> + ) : ( + <div key={c.title} className="uc reveal"> + <div className="ic"> + <Icon d={c.icon} rect={c.rect} /> + </div> + <div> + <h3> + {c.title} + </h3> + <RawHtml as="p" html={c.body} /> + </div> + </div> + ), - <div className="ic"> - <Icon d={c.icon} rect={c.rect} /> - </div> - <div> - <h3> - {c.title} <span className="arr">→</span> - </h3> - <RawHtml as="p" html={c.body} /> - </div> - </Link> - ))} + )}🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/app/components/landing/sections.tsx` around lines 254 - 268, The Link component in this card rendering section uses a hash fallback ("#") when c.href is missing, which causes unwanted hash-jump behavior. Instead of using the ternary condition that falls back to "#", conditionally render either a Link component (when c.href exists with the proper href path) or a non-link container element like a div (when c.href is missing). This way, cards without destinations won't have any navigation target or dead-link behavior, while cards with hrefs will still function as links.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/app/components/landing/sections.tsx`:
- Around line 254-268: The Link component in this card rendering section uses a
hash fallback ("#") when c.href is missing, which causes unwanted hash-jump
behavior. Instead of using the ternary condition that falls back to "#",
conditionally render either a Link component (when c.href exists with the proper
href path) or a non-link container element like a div (when c.href is missing).
This way, cards without destinations won't have any navigation target or
dead-link behavior, while cards with hrefs will still function as links.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d60eb9fa-a8cb-4d4f-90f5-47cff117f235
📒 Files selected for processing (51)
docs/app/components/demos/recovery-demo.tsxdocs/app/components/landing/footer.tsxdocs/app/components/landing/hero.tsxdocs/app/components/landing/scenario-finder.tsxdocs/app/components/landing/sections.tsxdocs/app/hooks/index.tsdocs/app/hooks/use-prefetch-docs.tsdocs/app/lib/landing-content.tsdocs/app/lib/prefetch.tsdocs/app/root.tsxdocs/app/styles/landing.cssdocs/content/docs/node/getting-started/capabilities.mdxdocs/content/docs/node/guides/core/execution-model.mdxdocs/content/docs/node/guides/core/predicates.mdxdocs/content/docs/node/guides/core/queues.mdxdocs/content/docs/node/guides/core/scheduling.mdxdocs/content/docs/node/guides/extensibility/middleware.mdxdocs/content/docs/node/guides/extensibility/serializers.mdxdocs/content/docs/node/guides/integrations/express.mdxdocs/content/docs/node/guides/integrations/fastify.mdxdocs/content/docs/node/guides/integrations/nest.mdxdocs/content/docs/node/guides/integrations/otel.mdxdocs/content/docs/node/guides/integrations/prometheus.mdxdocs/content/docs/node/guides/integrations/sentry.mdxdocs/content/docs/node/guides/observability/logging.mdxdocs/content/docs/node/guides/observability/monitoring.mdxdocs/content/docs/node/guides/operations/inspection.mdxdocs/content/docs/node/guides/operations/keda.mdxdocs/content/docs/node/guides/operations/mesh.mdxdocs/content/docs/node/guides/reliability/circuit-breakers.mdxdocs/content/docs/node/guides/reliability/error-handling.mdxdocs/content/docs/node/guides/reliability/guarantees.mdxdocs/content/docs/node/guides/reliability/locks.mdxdocs/content/docs/node/guides/reliability/rate-limiting.mdxdocs/content/docs/node/guides/resources/dependency-injection.mdxdocs/content/docs/node/guides/resources/index.mdxdocs/content/docs/node/guides/resources/interception.mdxdocs/content/docs/node/guides/workflows/analysis.mdxdocs/content/docs/node/guides/workflows/caching.mdxdocs/content/docs/node/guides/workflows/canvas.mdxdocs/content/docs/node/guides/workflows/conditions.mdxdocs/content/docs/node/guides/workflows/saga.mdxdocs/content/docs/node/guides/workflows/sub-workflows.mdxdocs/content/docs/node/more/examples/bulk-emails.mdxdocs/content/docs/node/more/examples/data-pipeline.mdxdocs/content/docs/node/more/examples/express-service.mdxdocs/content/docs/node/more/examples/notifications.mdxdocs/content/docs/node/more/examples/predicate-gated-jobs.mdxdocs/content/docs/node/more/examples/web-scraper.mdxdocs/content/docs/node/more/examples/workflows.mdxdocs/content/docs/node/more/meta.json
Landing-page and Node-docs polish.
Landing page
SOON_PANES/SoonBoxcleaned up).→arrow but linked nowhere): ETL→data-pipeline, Email→notifications, ML batch→benchmark, Scheduled→core/scheduling(no cron example exists)./pythonand/nodevia the active SDK. Two scenarios remap to Node's different slugs (advanced-execution/streaming→core/streaming,workflows/sagas→workflows/saga).Node docs
node/more/meta.json. Kept Node-specific titles where content genuinely differs (migration= BullMQ,retrieskeeps DLQ separate).Background docs prefetch
requestIdleCallback), concurrency-capped, idempotent per SDK, and backs off under Save-Data / 2G — the quicklink/Gatsby prefetch playbook.Notes
Verification
pnpm --dir docs typecheck,lint, andbuild(full static prerender of all node + python pages) all pass.Summary by CodeRabbit