You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Critical issues (meeting rollback criteria): Revert PR, redeploy web app
Rollback process:git revert <merge-commit>, push to main, let Vercel redeploy
Success Criteria (After 24 Hours)
No rollback triggered
Error rates in Sentry within normal range
All primary routes accessible
No significant traffic drop
Docs content accessible and navigable
Note: This PR is backward compatible from a user perspective (all URLs remain the same). The main risks are infrastructure-related (routing, asset loading), which should be immediately apparent post-deployment. Incremental fixes can be applied for smaller issues without rollback.
Change Type: Major Architectural Refactoring Scope: Multi-app monorepo migration (extracting docs into separate app) Files Changed: ~4,754 files (mostly moves, ~113 actual modifications) Lines Changed: +26,787 insertions, -2,256 deletions Overall Impact: π΄ HIGH RISK
Summary
This PR implements a major architectural change to split the Solana.com monorepo into separate Next.js applications. The primary change is extracting documentation content and functionality from apps/web into a new apps/docs application, following the pattern already established for apps/media and apps/templates. The architecture uses Next.js rewrites to proxy requests from the main web app to specialized apps.
Key Commits
2179e058 - fix edit on github url
e2900474 - add missing images
7338b0ec - move mdx content from web to docs
b50b5636 - create apps/docs
ποΈ Architectural Changes
1. New App Creation: apps/docs
Purpose: Handles /docs/*, /learn/*, and /developers/{cookbook,guides}/* routes
Port: 3003 (development)
Asset Prefix:/docs-assets (for proper asset routing through proxy)
2. Routing Architecture
The PR implements a proxy-only architecture where:
All apps are accessed through solana.com (never subdomains)
The web app uses Next.js rewrites to proxy requests to specialized apps
Each proxied app uses asset prefixes to namespace static assets
3. URL Configuration (apps/web/apps-urls.js)
Added DOCS_APP_URL configuration following the same pattern as media/templates
Uses @vercel/related-projects for production URL resolution
Falls back to localhost:3003 for development
β οΈ ISSUE FOUND: Console.log statements in production code (lines 40-42)
Issue: Console.log statements in production code
Recommendation: Remove or wrap in development-only check
Priority: HIGH - Should be fixed before merge
π΄ Rewrite Rule Order (apps/web/rewrites-redirects.mjs)
Verify templates rewrites come before general /developers rewrites
Confirm asset rewrites are in correct position
Test that more specific routes match before general patterns
Test all docs routes: /docs, /docs/intro, /docs/:locale/docs/intro
Test learn routes: /learn, /learn/:path
Test developer routes: /developers, /developers/cookbook, /developers/guides
Test templates routes still work: /developers/templates
Test direct app access vs proxy access
Navigation Testing
Test header links from web app β docs app (should use tag)
Test header links within docs app (should use Next.js Link)
Test footer links
Test breadcrumb navigation
Test "Edit on GitHub" links
Asset Loading
Verify CSS loads correctly
Verify JavaScript bundles load
Test images and other static assets
Check favicon and meta images
Verify fonts load correctly
Internationalization
Test all supported locales: /en/docs, /es/docs, /zh/docs, etc.
Verify locale switching works
Check RTL languages (if applicable)
Test fallback to English for missing translations
Build & Deployment
Verify all apps build successfully
Test production build locally
Verify Vercel deployment configuration
Test related projects integration
Performance Testing
Measure page load times (before/after if possible)
Check Lighthouse scores
Verify no regression in Core Web Vitals
Test with slow network conditions
Post-Merge Monitoring
Error Tracking
Monitor Sentry for 404s or routing errors
Watch for asset loading failures
Track middleware errors
Analytics
Verify analytics tracking still works
Check conversion funnels
Monitor user flow between apps
Performance Monitoring
Track proxy latency
Monitor CDN cache hit rates
Watch for slow page loads
π Action Items
Before Merge (Critical)
Remove console.log statements from apps/web/apps-urls.js (lines 40-42)
Test all route patterns with comprehensive manual testing
Verify Vercel configuration for docs app deployment
Test navigation from all app contexts (web β docs, docs β web, etc.)
After Merge (Important)
Monitor error rates for first 24-48 hours
Verify SEO - check sitemap generation, meta tags, structured data
Update deployment documentation if needed
Train content team on new content location (apps/docs/content/)
Update any CI/CD scripts that reference old content paths
Follow-up (Nice to Have)
Performance optimization if proxy latency is noticeable
Consider caching strategy for proxy responses
Document common issues and troubleshooting steps
Add integration tests for cross-app navigation
π‘ Questions for PR Author
Testing Coverage: What testing has been performed? Any automated tests added?
Deployment Plan: Is the Vercel project for docs app already created and linked?
Rollback Strategy: What's the plan if issues arise post-deployment?
Performance Baseline: Are there performance benchmarks from before this change?
Content Verification: Has all content been verified to migrate correctly?
Browser Testing: Has this been tested across different browsers/devices?
Error Handling: How are proxy failures handled? What happens if docs app is down?
π Risk Summary
Risk Level
Count
Areas
π΄ High
4
Routing logic, navigation, assets, i18n
π‘ Medium
3
Dependencies, env vars, content migration
π’ Low
2
Code quality, type safety
Overall Risk Rating: π΄ HIGH Recommendation: β APPROVE WITH CONDITIONS
This is a well-executed architectural refactoring that follows good patterns. However, the high risk rating is due to:
Complexity of routing/proxy system
Large scope of changes
Critical production paths affected
Potential for subtle bugs that only appear in production
The PR should be merged after addressing the critical issues (console.log removal, testing) and with careful monitoring post-deployment.
π Conclusion
This PR represents a significant architectural improvement that will improve maintainability and scalability of the Solana.com codebase. The separation of concerns is well-designed, documentation is excellent, and the patterns are consistent.
Primary Concerns:
Console.log statements need removal
Comprehensive testing required before merge
Post-deployment monitoring essential
Strengths:
Excellent documentation
Consistent patterns
Clean separation of concerns
Backward compatible (user-facing)
With proper testing and addressing of the console.log issue, this PR is ready for merge.
Report generated for PR review of branch solana-docs-2