web: add support and not-found pages #231

Open
cmo wants to merge 1 commit from cmo-support-and-not-found-pages into main
Member

Summary

  • add a short /support page for App Review and visitors, with feedback and privacy-request contacts
  • replace React Router's developer-facing unknown-route error with a visitor-safe not-found page
  • add a shared explicit route registry and a local Bun test covering every App Store Connect *_url.txt path

Tracking

Validation

  • bun test apps/site/src/routes.test.ts
  • bun run lint (passes; reports pre-existing warnings in public/kai/kaios-core.js)
  • bun run build:site

The metadata route test is a local check only. This PR does not change .forgejo/workflows/build-web.yml or bazel/web/runner.sh.

## Summary - add a short `/support` page for App Review and visitors, with feedback and privacy-request contacts - replace React Router's developer-facing unknown-route error with a visitor-safe not-found page - add a shared explicit route registry and a local Bun test covering every App Store Connect `*_url.txt` path ## Tracking - Implements Redmine #10: https://todo.key.store/issues/10 - Coordination duplicate: https://todo.key.store/issues/24 - Existing dead Forgejo issue links are intentionally out of scope and tracked in https://todo.key.store/issues/11 ## Validation - `bun test apps/site/src/routes.test.ts` - `bun run lint` (passes; reports pre-existing warnings in `public/kai/kaios-core.js`) - `bun run build:site` The metadata route test is a local check only. This PR does not change `.forgejo/workflows/build-web.yml` or `bazel/web/runner.sh`.
web: add support and not-found pages
All checks were successful
Build: sqlite3mc / sqlite3mc smoke (macOS) (pull_request) Has been skipped
Build: sqlite3mc / sqlite3mc smoke (Linux x86_64) (pull_request) Successful in 41s
Build: Web / Build (Web) (pull_request) Successful in 2m37s
Build: KaiOS / Build (KaiOS) (pull_request) Successful in 2m53s
Build: Linux / Build (Linux x86_64) (pull_request) Successful in 3m23s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
Build: Apple / Check (SwiftLint) (pull_request) Successful in 4m22s
Build: Apple / Build (iOS) (pull_request) Successful in 4m41s
Build: Apple / Build (macOS) (pull_request) Successful in 6m20s
Build: Apple / Build (visionOS) (pull_request) Successful in 4m1s
7755c342db
founder approved these changes 2026-09-13 12:10:40 +00:00
founder left a comment

Founder sign-off, recorded by Codex at Conrad’s explicit request on 2026-09-13: this first-work-wave change is approved. Resolve any conflicts and satisfy the required checks before merging. This records the founder’s approval; it does not assert that failing checks have passed.

Founder sign-off, recorded by Codex at Conrad’s explicit request on 2026-09-13: this first-work-wave change is approved. Resolve any conflicts and satisfy the required checks before merging. This records the founder’s approval; it does not assert that failing checks have passed.
All checks were successful
Build: sqlite3mc / sqlite3mc smoke (macOS) (pull_request) Has been skipped
Build: sqlite3mc / sqlite3mc smoke (Linux x86_64) (pull_request) Successful in 41s
Build: Web / Build (Web) (pull_request) Successful in 2m37s
Build: KaiOS / Build (KaiOS) (pull_request) Successful in 2m53s
Build: Linux / Build (Linux x86_64) (pull_request) Successful in 3m23s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
Build: Apple / Check (SwiftLint) (pull_request) Successful in 4m22s
Build: Apple / Build (iOS) (pull_request) Successful in 4m41s
Build: Apple / Build (macOS) (pull_request) Successful in 6m20s
Build: Apple / Build (visionOS) (pull_request) Successful in 4m1s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin cmo-support-and-not-found-pages:cmo-support-and-not-found-pages
git switch cmo-support-and-not-found-pages
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!231
No description provided.