You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tracking pixel and click URLs point to /api/track but the API serves /track #30
Tracking URLs in outgoing mail point at /api/track/..., but the Express app serves the tracking router at /track/.... The web app has no /api/track route either.
Router mount: app.use(trackingRoutes) in apps/api/src/index.ts
Unsubscribe links use ${getSiteUrl()}/unsubscribe/... with no /api prefix, so the two disagree about what DOMAIN points to.
With the Compose default DOMAIN=localhost:4000 (the API), unsubscribe links work but open pixels and click redirects return 404. Every click in a campaign is then a broken link. This only works if a production reverse proxy strips /api.
Fix
Pick one base for public API links (for example a PUBLIC_API_URL / getSiteUrl() that always targets the API) and drop the /api prefix, or mount the tracking router under /api as well.
Update process-ongoing-sequence.test.ts:276-277, which currently asserts the broken path.
Add a test that resolves a generated tracking URL against the Express app.
Activity