Skip to content

feat: cross-promo block in newsletter confirm + shop receipt emails - #202

Merged
ralyodio merged 1 commit into
mainfrom
feat/cross-promo
Nov 11, 2026
Merged

ralyodio merged 1 commit into
mainfrom
feat/cross-promo

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Adds the shared `@profullstack/cross-promo` block (0.1.0) to two user-facing transactional emails. Email body only; footer templates are untouched.

Newsletter confirmation (`src/newsletter.ts`, `signup`)

  • Appended after the existing brand tail line (kept), in text after a blank line and in HTML after the body.
  • `site` = the signup's `source` property, so e.g. a signup on rssamplifier.com never promotes RSS Amplifier.
  • Audience (`newsletterAudience`): a newsletter reader is not a publisher or maker by default, so readers of pit.world / `*.pit.world` / Moshpit names and of the catalog's own `developers` properties get `developers`; every other property gets `['publishers','makers']`. Title is the neutral "More from the Profullstack network".

Auction shop (`src/auction-shop.ts`)

  • Only the buyer's "Payment received" email: audience `shoppers`, site `auctions.pit.world`. "Your order", "Shipped" and the owner's PLACE ORDER mail are unchanged.

Tests: newsletter + shop tests assert the block is present, below the message, and never links the sending property (CROSS_PROMO=bundled in tests, no CDN). Full suite 666 pass, typecheck clean.

🤖 Generated with Claude Code

Uses @profullstack/cross-promo 0.1.0 (live catalog, bundled fallback, never throws).

- Newsletter confirmation: the block goes after the brand tail line. The
  signup's `source` property is passed as `site`, so a site never promotes
  itself. Audience: developers for pit.world / Moshpit names and the catalog's
  developer properties, else publishers + makers; neutral title.
- Auction shop: only the buyer's "Payment received" email gets it
  (audience shoppers, site auctions.pit.world); "Your order", "Shipped" and
  the owner's PLACE ORDER mail are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

0 finding(s) in the 6 file(s) this pull request changes.

Nothing in the files this pull request changes.

3 pre-existing finding(s) elsewhere in the repository — **LOW**: 3

Not introduced by this pull request.

Severity Rule Location
LOW sh-predictable-temp-path firetv/emulator-test.sh:23
LOW sql-template-interpolation services/crawler/test/pg-index-store.test.ts:65
LOW js-dynamic-code-execution test/language.test.ts:153

Snippets are redacted; ThreatCrush never prints matched credential material.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​profullstack/​cross-promo@​0.1.0751008990100

View full report

@ralyodio
ralyodio merged commit 7717c1e into main Nov 11, 2026
6 checks passed
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