Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

feat(mail): add a real /support page for app-directory submissions

merged#2843CedarCopilot

CedarCopilot wants to merge 1 commit into staging from feat/support-page

Live on prod, 0 of 1 surfaces working, 2 days leftTimeline and evidence
  1. Opened
    Sep 20, 2026, 12:21 PM
  2. Sep 20, 2026, 12:27 PM
  3. Merged
    Sep 20, 2026, 12:55 PM
  4. Live on prod
    Sep 20, 2026, 12:55 PM
  5. Observed 0 hours, 1 surface, 0 requests
    Sep 20, 2026, 12:55 PM
  6. Watching

    Live on prod, 0 of 1 surfaces working, 2 days left

    Sep 20, 2026, 12:55 PM
  7. Pipelines steady after this deploy
    Sep 20, 2026, 12:55 PM

Behaviors Libra is checking

The app exposes a public HTTPS `/support` page with human and security contact email addresses plus links to the privacy policy, terms, MFA, and zero-data-retention pages for app-directory submissions.Not checked
prod

Libra found 1 production surface on prod but could not judge any of them yet. 1 surface had no requests at all. Libra checks hourly for 3 days after each deploy.

Summary

Claude's and OpenAI's plugin/app-directory submission forms both require a "Customer support URL" field, and both reject a bare mailto: link , they want an actual https:// page. No dedicated support page existed; the only prior art was <email> published inline on the /zoom page's own support section.

Change

Added /support using the exact same shared PolicyPage shell every other legal/support page already uses (/legal/mfa, /legal/zdr, /legal/privacy, /zoom) , same layout, same nav/footer, zero new component logic. Content is the same two real addresses already published elsewhere in the app (<email>, <email>) plus links to the other legal pages.

This mirrors /zoom's own precedent for the identical reason , that route's comment already states it exists because "Zoom's Marketplace review requires a Self-Serve Documentation URL and a Support URL before an app reaches beta."

Verification

  • tsc -b clean (after generating paraglide messages + route types, which this fresh worktree didn't have yet)
  • react-router build succeeds and includes /support
  • Confirmed "/support" present in the built client route manifest
  • Dev server serves it at 200

No screenshot verification , no browser tool available in this environment , but this is a zero-logic reuse of PolicyPage, already proven correct by four other pages.

šŸ¤– Generated with Claude Code

RetriggerConfidence Score: 4/5

The support route appears functionally sound, but the explicit repository requirements for absolute imports and pointer cursors should be satisfied before merging.

Findings

  1. P2Ā Relative import violates guidance ā–¶
  2. P2Ā Links lack pointer cursors ā–¶
Fix with agent prompt
### Issue 1
apps/mail/app/(full-width)/support.tsx:1
The new page imports `PolicyPage` through `./policy-page`, but the repository requires absolute imports. This repository requirement must be satisfied before merging.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

### Issue 2
apps/mail/app/(full-width)/support.tsx:15
The new support email, security email, and related-page anchors omit `cursor-pointer`, violating the repository directive that every clickable element must expose a pointer cursor. This repository requirement must be satisfied before merging.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

Adds a public /support page for app-directory submissions using the existing policy-page shell.

  • Publishes the established support and security contact addresses.
  • Links visitors to the existing privacy, terms, MFA, and zero-data-retention pages.
  • Registers the page in the public full-width route family.
  • The implementation has two repository-style violations involving
Show production surfaces and changed-file mapping

Production surfaces

SurfaceRequestsErrorsp95UsersVerdict
/support0 → 00 → 0 (0%)not measured0No traffic
No requests recorded since this deploy.

Changed files → surfaces

  • apps/mail/app/(full-width)/support.tsxno production surface mapped
  • apps/mail/app/routes.tsno production surface mapped