Skip to content

fix: harden site and admin reliability - #28

Merged
JonasFocus merged 9 commits into
mainfrom
moss/review-hardening
Oct 27, 2026
Merged

JonasFocus merged 9 commits into
mainfrom
moss/review-hardening

Conversation

@JonasFocus

@JonasFocus JonasFocus commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix security and reliability issues found in the dependency, frontend, and backend review.

Changes

  • Patch vulnerable runtime and development dependencies, and audit every dependency in CI.
  • Preserve mobile inquiry dialogs, scrolling, and theme controls when browser storage or viewport size changes.
  • Validate admin URL filters, normalize email input, and retain edited form values after failed saves.
  • Preserve valid login sessions when the owner membership check is temporarily unavailable.
  • Add browser regression checks and document the standing PR review and automatic merge workflow.

Why

The review reproduced broken mobile requests, hydration failures, trapped scrolling, admin page crashes, lost edits, and unnecessary sign-outs. Existing dependency vulnerabilities also blocked both pending PRs.

Testing

  • Lint and typecheck.
  • All 32 unit and database tests.
  • Production build.
  • Full dependency audit, zero vulnerabilities.
  • Five public UI browser regressions.
  • Five isolated session-recovery and unauthorized-user scenarios.
  • Independent exact-head code review.

Notes

No database migration. Authenticated Supabase end-to-end tests require a separate configured test environment and were not run against live accounts. Session failure behavior is verified against a local mock service.

Preview has no environment variables configured, so its backend health endpoint returns 503 on both the previous and current deployments. Production health returns 200 with status ready. Preview build and isolated integration checks pass.

- Upgrade Next.js, Zod, and the formatter to patched releases
- Refresh vulnerable transitive dependencies
- Audit development dependencies and all severities in CI
- Document automatic merging after review and passing checks
- Align audit instructions with the complete CI dependency scan
- Keep mobile request dialogs open through menu and viewport changes
- Derive scroll locks from open dialogs and visible mobile menus
- Handle blocked theme storage and sync saved choices across tabs
- Add isolated public browser regression checks
- Ignore repeated list filters instead of crashing admin pages
- Trim emails before validation for inquiries and customer edits
- Dispatch form actions explicitly to prevent automatic resets on errors
- Keep successful compose resets and verify failed customer edits retain input
- Check mobile dialogs, theme storage, and resize behavior after the production build
- Document isolated browser verification without database credentials
- Return temporary-unavailable status for failed auth and membership reads
- Keep login sessions active until ownership can be checked
- Verify outage recovery and unauthorized denial with a local gateway harness
- Exercise auth and membership outages with a local mock service
- Check invalid sessions and non-owners still lose access
- Run the local app from a temporary copy of tracked source
- Exclude environment files and inherit only process runtime settings
- Remove temporary server files without touching active development servers
@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
jonas-dev Ready Ready Preview Oct 27, 2026 6:06pm UTC

@JonasFocus
JonasFocus merged commit 7c65dc1 into main Oct 27, 2026
4 of 5 checks passed

This branch was successfully deployed

1 active deployment
Preview — 2db96469 Deployed Oct 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant