nessa: publish the Terms of Use the app links at /terms (FRE-194) #7
Reference in New Issue
Block a user
Delete Branch "freno-dev/FRE-194-nessa-terms-of-use"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The document behind the
Terms of Servicerow in the Nessa app. Nessa didn't own a terms page: the app linked another product's terms andnessa.freno.me/termswas a 404. Nessa sells an auto-renewing subscription, so App Review 3.1.2 expects the app to link terms of use as well as a privacy policy.Page follows the
privacy.tsxhouse template exactly:EdgeCacheHeaders, site-awarePageHead(only the base title — the| Nessasuffix and canonical derive),SubdomainHeader, subdomain-relative internal links.Sections: acceptance and eligibility · the service and its limits (incl. not a medical device) · accounts (Clerk) · community content and acceptable use (content licence, leaderboard integrity, moderation) · subscriptions (Apple billing, auto-renewal, 24-hour cancel window, managing in the App Store, trials, refunds, price changes, downgrade) · Apple third-party acknowledgements · IP · disclaimers and liability · termination · changes · contact.
Evidence
Before:
curl -o /dev/null -w '%{http_code}' https://nessa.freno.me/terms→404After: the route exists; serves once this branch is deployed to the Vercel project.
JSX transform of the new page (esbuild, solid-js automatic runtime, repo tsconfig): clean, 24 KB output.
Sitemap change executed, not just asserted — bundled
SITEMAP_ROUTES.nessa+generateSitemapand ran it:That is exactly the set
sitemap-routes.test.tsnow asserts (toContain(/terms),toBe(4)).bun testis not runnable in this run — no bun binary in the runner. Recorded as not runnable, not as passed. The two touched assertions are covered by the execution above.Merge Danger
Door: two-way technically, but this is a public legal document — once live, users are relying on it, and changes are versioned by the "Last Updated" date rather than rolled back.
Blast radius: one new route + one sitemap entry. No existing page, component, or nav file is modified, so nothing that renders today changes.
NAV_CONFIGis deliberately untouched, so the per-site nav matrix tests still pass unmodified.Needs Mike's read before merge — these are judgement calls I did not make for him:
/termsis in the sitemap but not in the Nessa nav. Adding it is one line inNAV_CONFIG.nessaplus updatingnav-config.test.ts's link-set matrix.Companion app-side PR: Mike/Nessa branch
Nessa/FRE-194-replace-non-nessa-legal-destinations-with-approved-nessa-documents(FRE-194). The app's Terms row points at this route, so this page should deploy with or before that one — otherwise the row resolves to a 404.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.