feat(public): gate public pages with explicit flags#3566
feat(public): gate public pages with explicit flags#3566PlaneInABottle wants to merge 7 commits intosimstudioai:stagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Updates route handlers and UI to respect these flags: pages now call Aligns SEO/discovery outputs with visibility: Written by Cursor Bugbot for commit 84e0540. This will update automatically on new commits. Configure here. |
Greptile SummaryThis PR introduces six explicit opt-out feature flags ( Key changes:
Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph EnvVars["Environment Variables (NEXT_PUBLIC_ENABLE_*)"]
E1[LANDING_PAGE]
E2[STUDIO_PAGES]
E3[CHANGELOG_PAGE]
E4[LEGAL_PAGES]
E5[TEMPLATES_PAGES]
E6[CAREERS_LINK]
end
subgraph Flags["feature-flags.ts — isPublicPageEnabled()"]
F1[isPublicLandingPageEnabled]
F2[isPublicStudioPagesEnabled]
F3[isPublicChangelogPageEnabled]
F4[isPublicLegalPagesEnabled]
F5[isPublicTemplatesPagesEnabled]
F6[isPublicCareersLinkEnabled]
end
E1 --> F1
E2 --> F2
E3 --> F3
E4 --> F4
E5 --> F5
E6 --> F6
F1 -->|false| LP_404["/ → notFound()"]
F1 -->|true| LP_OK["/ → Landing page"]
F2 -->|false| SP_404["/studio* layout → notFound()\nRSS & image-sitemap → 404"]
F2 -->|true| SP_OK["/studio* served normally"]
F3 -->|false| CL_404["/changelog → notFound()"]
F3 -->|true| CL_OK["/changelog served normally"]
F4 -->|false| LEG_404["/terms & /privacy → notFound()\nAuth forms: use TERMS_URL / PRIVACY_URL or hide"]
F4 -->|true| LEG_OK["/terms & /privacy served\nAuth forms: internal links"]
F5 -->|false| T_404["/templates & /templates/[id] → notFound()"]
F5 -->|true| T_OK["/templates served normally"]
F6 -->|false| C_NO["Nav/Footer Careers link hidden\n/careers redirect removed from next.config"]
F6 -->|true| C_OK["Nav/Footer Careers link shown\n/careers → jobs.ashbyhq.com/sim"]
F1 & F2 & F3 & F4 & F5 --> SITEMAP[sitemap.ts — omits disabled URLs]
F2 & F3 & F4 & F5 --> ROBOTS[robots.ts — disallows disabled paths]
F1 & F2 & F3 & F4 & F5 & F6 --> LLMS[llms.txt / llms-full.txt — omits disabled links]
Last reviewed commit: c65dfae |
|
I opened this pr since I am using the project as my backend, had to remove the public pages manually. I think most people who self host the project would do the same. |
4e6c7f8 to
7b8c38e
Compare
|
@PlaneInABottle is attempting to deploy a commit to the Sim Team on Vercel. A member of the Team first needs to authorize it. |
|
bugbot run |
|
@PlaneInABottle Is it possible to consolidate these env vars into one -- or just behind isHosted? We'd rather not update the helm charts, docs with these |
|
@icecrasher321 fixed |
|
@PlaneInABottle we decided we just want to keep the landing hidden via the isHosted flag centrally rather than expanding to a different env var for each surface. Think that makes more sense. |
|
@icecrasher321 I'll do it that way, connect these flags to the isHosted flag.
|
|
@PlaneInABottle but don't we already hide getting to the landing [which in turn has stuff like careers, etc] via the isHosted flag -- so none of these other things are accessible anyways? Are there any added benefits to this PR? |
no then, I didn't realize it was already implemented, closing this one. |
Summary