Phase 10: contacts, senders, background sending, segments, rate limits #52
No reviewers
Labels
No labels
bug
dependencies
documentation
feature
phase-summary
security
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
vmanne-poc/Postak!52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "phase-10"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Phase 10 (v0.11.0). One commit per issue; the backend and frontend for contacts and segments are split into separate commits.
GET/PATCH/DELETE /contacts/:id. Migrationcontact_external_idmakes the external ID unique per project.GET /contactsnow returns{ items, total, page, pageSize }.export.csvdefuses cells that look like formulas.DeliveryServiceclaims messages, sends over a pooled connection, honours per-sender rate limits, retries 4xx and network failures with back-off, records permanent errors, skips people who unsubscribed while queued, and recovers abandoned claims. The campaign list shows progress; the report shows pending emails and failures. Migrationsender_settings_and_delivery_queue.@nestjs/throttler6.7.1 (pinned): 10 requests per minute per client on auth, form submit and test-send routes, 600 per minute elsewhere. nginx now overwritesX-Forwarded-For, only private-network proxies are trusted, and the backend port is bound to 127.0.0.1.Upgrading: back up the database first. Both migrations are additive. A sender pointing at a server with a self-signed certificate needs "allow self-signed" ticked.
Testing
npm audit: backend (--omit=dev) 0, frontend 0.X-Forwarded-For(429 after 9)Not verified
Closes #32
Closes #33
Closes #34
Closes #35
Closes #36
Closes #37
Closes #38