Repository navigation
Conversation
- Regenerate favicon.ico/PNG icons and app icons from the Option C circular badge; add light/dark PNG variants and adaptive favicon.svg - Update layout icon metadata (SVG + media-hinted PNG fallbacks) and manifest icon purposes - Add reusable BrandMark component (black-on-light / white-on-dark) and wire into headers and footer - Wrap outbound trade email in a branded table shell with the email mark resolved to an absolute siteUrl URL; plain-text part unchanged - Polish admin trade timeline: subject display, quieter quoted text via splitQuotedEmailText, outbound brand avatar, separated actions - Document the brand mark hierarchy in THEME_AND_BRANDING.md and the email shell in TECHNICAL.md Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…end payload - splitQuotedEmailText: a '>'-triggered split now bails when plain text resumes after the quoted run, so post-quote instructions are never folded into collapsed history - Persist rendered htmlBody on outbound communications so resends replay the identical provider payload under the same Resend idempotency key; pre-branding records fall back to the legacy unbranded render - Correct favicon filename glob in THEME_AND_BRANDING.md Addresses CodeRabbit review on PR #157. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The badge art is not maskable safe-zone guaranteed, so a "maskable" purpose must never pass the test. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Reviewer's GuideThis PR establishes a centralized monochrome brand system across the web UI, favicons, app icons, outbound email, and admin timeline, while adding deterministic email HTML persistence, quoted-reply presentation, asset-wiring coverage, and an exact manifest Sequence diagram for branded outbound email persistence and resendsequenceDiagram
participant Staff
participant TradeEmail as trade-leads-email
participant Firestore
participant Resend
Staff->>TradeEmail: sendLeadEmail
TradeEmail->>TradeEmail: buildTradeLeadOutboundHtml
TradeEmail->>Firestore: persist htmlBody
TradeEmail->>Resend: send html with idempotencyKey
Resend-->>TradeEmail: delivery result
Staff->>TradeEmail: retryEmail
TradeEmail->>Firestore: load stored htmlBody
TradeEmail->>Resend: send stored html with same idempotencyKey
Resend-->>TradeEmail: delivery result
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters (18)
📒 Files selected for processing (13)
Comment |
|
Superseded by a clean branch off main — #157 was squash-merged, so continuing on this branch produced phantom conflicts. |
Summary
Follow-up to #157 — this commit was pushed after #157 merged, so it did not ride along. Addresses the remaining CodeRabbit nitpick on that PR: the manifest test now asserts
purposeis exactly"any"rather than merely truthy, so a future"maskable"change cannot pass while the badge art is not safe-zone guaranteed.Changes
tests/brand-assets.test.ts— strictpurpose === "any"assertionVerification
npx tsc --noEmit— cleannode --import tsx --test tests/brand-assets.test.ts— 5/5 passRisk / deployment notes
Generated with Devin
Summary by Sourcery
Standardize the brewery brand experience across the web app, trade emails, and app icons while improving trade communication readability and asset validation.
New Features:
Bug Fixes:
anypurpose and validate referenced brand assets.Enhancements:
Documentation:
Tests:
Summary by CodeRabbit
New Features
Documentation