Merged
Conversation
- Add next-mdx-remote, gray-matter, reading-time for MDX content - Move guide content to apps/web/content/guides/*.mdx with frontmatter - Add lib/guides.ts: getGuide, getAllGuides, getGuidesSlugs, heading extraction - Add GuideLayout, TableOfContents (sticky sidebar + mobile collapsible) - Add mdx-components for headings with anchors and internal Link - Replace static guide pages with dynamic app/guides/[slug]/page.tsx - Add ArticleSchema JSON-LD and ogType article for guide pages - Sitemap: guide URLs from getAllGuides() with lastModified - Fix test lint/type (button type, non-null, ownerHandle, React import)
Fork mode was broken: sourceValidation required files but fork mode
only sets content directly via setContent(), so the wizard was stuck
on the Source step with the Continue button disabled.
- Add isForkMode check to wizardReadiness.source so forked content
passes validation without requiring file uploads
- Start wizard at review step in fork mode (skip Source step)
- Extract ReviewStep into its own component with edit/preview toggle
- Fork mode opens in edit mode so users can remix the content
- Show fork attribution banner ("Forking from X") in review step
- Fix back-button nav: show Cancel on review step in fork mode
- Add 15 tests for ReviewStep (read-only + fork mode)
- Add 6 fork-mode flow tests for useWizardNavigation
…SoulMetadata, increase test coverage to 77% TDD uncovered two production bugs in useSoulMetadata: 1. Infinite re-render loop: useEffect included normalizedFiles in its dependency array. When the parent passed a fresh [] on each render, it triggered the effect endlessly. Fixed by reading normalizedFiles via a ref instead of as a dependency. 2. Stale closure in addTag: the useCallback read selectedTags from the closure to check duplicates/max limit, but during React's batched updates the value was stale — allowing duplicates and exceeding the 5-tag cap. Fixed by moving guards inside the setSelectedTags updater function. Also: - Add global test mocks for @sentry/nextjs and next-plausible (alias-based) - Fix Vitest 4 deprecated poolOptions → top-level maxForks - Fix flaky copy-button test (async clipboard not flushed in act) - Add new TDD tests: tag-input, faq-content, validation security edge cases - Improve use-github-import tests with helper for async state+detect - Coverage: 77% statements, 68% branches, 72% functions, 78% lines
Statements 40→75, branches 35→65, functions 40→70, lines 40→75. Set a few points below actual coverage to allow small buffer.
… issue forms The old PR template was for soul submissions which happen through the website, not PRs. Replaced with a minimal What/Why/How-to-test template for code contributions. Added YAML-based issue forms: - Bug report (structured fields, browser dropdown, screenshot upload) - Feature request (problem, solution, alternatives) - config.yml disabling blank issues, linking to Discussions and Discord
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Weekly on Mondays, grouped by prod/dev (minor+patch), max 5 npm PRs and 3 Actions PRs. Major version bumps still get individual PRs. Labels applied for easy filtering.
0a0e267 to
e98feae
Compare
- Add lib/slugify.ts and use in guides + mdx-components so TOC hrefs match h2/h3 ids - Normalize heading text in extractHeadings (strip markdown links/bold/code) to match React output - Fix biome overrides to use **/convex-api.ts and **/convex-server.ts so they match when lint runs from apps/web in CI
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
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.
Note
Medium Risk
Adds a new server-side MDX content pipeline and changes upload/metadata hooks and fork upload flow, which could affect production rendering and wizard behavior. Most other changes are test/mocking/CI hygiene, lowering regression risk but increasing surface area.
Overview
Adds an MDX-backed Guides system: guide articles are now loaded from
content/guides/*.mdxvia a newlib/guides.ts, rendered through a new dynamic routeapp/guides/[slug]/page.tsxwith a responsive table-of-contents (GuideLayout/TableOfContents), custom MDX component styling/heading anchors, andArticleSchemaJSON-LD. The Guides index andsitemap.tsare updated to enumerate guides dynamically (including published/updated dates and reading time), and the previous hardcoded guide pages are removed in favor of MDX content.Improves the upload wizard fork flow by extracting the review UI into a reusable
ReviewStepcomponent that supports editable mode for forks (edit/preview toggle + attribution) and adjusts wizard step readiness/initial step logic accordingly.Significantly increases automated test coverage across UI components and hooks, adds test stubs for Sentry/Plausible, raises Vitest coverage thresholds, and includes several robustness fixes validated by tests (e.g.,
useSoulMetadataeffect dependency stabilization + safer tag addition, improveduseGitHubImportURL parsing and detection cases, anduseUploadDraftdebounce/expiry/error handling). Also adds repo hygiene/config updates: Dependabot config, GitHub issue/PR templates + funding, and simplifies pnpm setup action usage.Written by Cursor Bugbot for commit 785c5f2. This will update automatically on new commits. Configure here.