taniasanz7 and Tania Sanz
c484da88ab
feat: render template variables in WEBHOOK step url, headers and body
2026-05-16 08:11:35 +02:00
Dries Augustyns
a27d564e1a
fix: implement mergeContactData method for efficient contact data updates
2026-05-13 19:19:11 +02:00
Dries Augustyns and GitHub
463301b5db
Merge pull request #373 from taniasanz7/patch-18-configurable-mail-from-subdomain
...
feat: make MAIL FROM subdomain configurable via MAIL_FROM_SUBDOMAIN env
2026-05-12 22:00:21 +02:00
Dries Augustyns
6195b39f3d
feat: add SwitchOffer component to promote switching from competitors for enhanced user engagement
2026-05-12 21:48:35 +02:00
Tania Sanz
e0bf0f628a
feat: make MAIL FROM subdomain configurable via MAIL_FROM_SUBDOMAIN env var
2026-05-12 20:35:53 +02:00
Dries Augustyns
f22da4add1
feat: implement caching for recent activity count to optimize performance and reduce database load
2026-05-10 11:37:31 +02:00
Dries Augustyns
de6335e999
feat: implement bulk contact action selector for improved flexibility in bulk operations
2026-05-10 10:40:40 +02:00
Dries Augustyns
c6340a1dc7
feat: add workflow duplication functionality with API endpoint and UI button
2026-05-09 16:51:36 +02:00
Dries Augustyns
d11495061d
feat: add search functionality to campaigns list with debounce effect
2026-05-09 09:10:17 +02:00
Dries Augustyns
fadc19d139
feat: Ability to change subscription status in workflows
2026-05-09 08:43:05 +02:00
Dries Augustyns
2529c9b428
fix: enhance campaign finalization process to handle pending emails and ensure accurate status updates
2026-05-06 21:48:54 +02:00
Dries Augustyns
4ddafdc041
docs: expand documentation with new sections on importing contacts, unsubscribe pages, and API key management
2026-05-06 21:37:00 +02:00
Dries Augustyns
735acff454
feat: add sanitize-html for improved email content sanitization
2026-05-06 11:06:50 +02:00
Dries Augustyns
1193d6c7e6
log: remove detailed logging of full SES notification for inbound email
2026-05-06 10:46:47 +02:00
Dries Augustyns
62661ae45f
log: improve logging for inbound email notifications and enhance email content parsing
2026-05-06 10:37:39 +02:00
Dries Augustyns
4587e9d670
fix: enhance email content parsing and logging for better debugging
2026-05-05 20:35:36 +02:00
Dries Augustyns
a126563542
fix: update segment filter logic to retain value and unit, enhance activity name mapping
2026-05-04 19:35:29 +02:00
Dries Augustyns
a3cc62213f
feat: add segment membership operators and enhance segment filter functionality
2026-05-04 19:07:04 +02:00
Dries Augustyns
0f00ca1b8c
feat: add 'notTriggeredWithin' operator to segment filters for enhanced event tracking
2026-05-04 18:04:24 +02:00
Dries Augustyns
48425d1df1
feat: implement early fraud warning handling in webhooks
2026-05-01 21:55:32 +02:00
Dries Augustyns
bb72911fa2
feat: enhance contact addition with bulk email lookup and subscription options
2026-05-01 19:44:48 +02:00
Matthias Endler
11c428d4ff
fix(ses): emit List-Unsubscribe inside the header section, not the body
...
The raw MIME template in sendRawEmail produced a blank line between Content-Type and List-Unsubscribe whenever no custom headers were passed, because the ternary for custom headers expanded to an empty string surrounded by newlines.
Per RFC 5322 §2.1 a blank line terminates the header section, so List-Unsubscribe ended up as the first line of the body. Lenient clients (Gmail, Outlook) recover; strict clients (Thunderbird) do not, breaking one-click unsubscribe and degrading Gmail/Yahoo bulk-sender deliverability signals.
Collect optional headers (custom + List-Unsubscribe) into an array, filter empties, and append them to the Content-Type line with a single newline separator. No codepath can now produce a blank line inside the header block.
2026-04-30 15:20:06 +02:00
Dries Augustyns
2eb407993b
feat: add configurable attachment limits for email service
...
Closes #358
2026-04-29 08:48:03 +02:00
Dries Augustyns
10946511b0
feat: enhance contact data handling by filtering empty strings and allowing null to delete fields
2026-04-27 16:59:18 +02:00
Dries Augustyns
d7eb85ffdd
fix: update project disabled messages for clarity and consistency
2026-04-24 19:21:07 +02:00
Dries Augustyns
c910d20bb7
feat: Enhance ease of use of workflow editor
2026-04-24 11:56:43 +02:00
Dries Augustyns
1637d54e1b
fix: add project name and sender email parameters to phishing content check
2026-04-22 22:03:57 +02:00
Dries Augustyns
15294a40d8
fix: add project name and sender email parameters to phishing content check
2026-04-22 22:03:53 +02:00
Dries Augustyns
bb78c86c40
fix: update phishing confidence threshold to 95%
2026-04-22 21:59:34 +02:00
Dries Augustyns
208c809a90
fix: Add in-memory cache for lower-confidence phishing checks
2026-04-22 07:40:23 +02:00
Dries Augustyns
b7eb2549d4
fix: turn warning into success log
2026-04-21 22:08:07 +02:00
Dries Augustyns
91d0d2d297
fix: update response format for phishing analysis and improve JSON parsing comment
2026-04-21 21:53:16 +02:00
Dries Augustyns
862875428d
fix: log message for projects passing phishing checks
2026-04-21 21:49:57 +02:00
Dries Augustyns
2da8b065d0
feat: implement phishing detection using OpenRouter API with configurable sampling rate
2026-04-21 21:28:31 +02:00
Dries Augustyns
e048fc1570
feat: implement meter event processing with queue for Stripe billing
2026-04-20 21:30:52 +02:00
Dries Augustyns
4322de929a
fix: reconcile totalRecipients in CampaignService to prevent stuck campaigns
...
closes #348
2026-04-20 20:15:56 +02:00
Dries Augustyns
b79d416667
feat: implement AWS SNS signature verification in SecurityService
2026-04-20 18:40:19 +02:00
Dries Augustyns
5e62f517fc
feat: Update new project bounce thresholds for stricter email handling
2026-04-16 08:05:56 +02:00
Dries Augustyns
44c86572c2
feat: Block domain changes for disabled projects with appropriate error handling
2026-04-16 07:56:41 +02:00
Dries Augustyns
effdfdb6d6
test: Update absolute count ceilings tests for established projects with project aging logic
2026-04-15 21:04:53 +02:00
Dries Augustyns
c0b2abaeca
feat: Enhance security metrics handling with new thresholds and improved messaging
2026-04-15 20:55:42 +02:00
Dries Augustyns
e3395083db
feat: Enhance email processing to include parsed HTML body content in inbound email records
...
Closes #342
2026-04-13 17:58:52 +02:00
Dries Augustyns
ae64c2dbb5
feat: Add emailId field to webhook events for better correlation with send requests
...
Closes #344
2026-04-13 17:15:41 +02:00
Dries Augustyns
52cb2b6c77
fix: Refactor date filtering logic for pagination in ActivityFeed and ActivityService
2026-04-13 17:06:22 +02:00
Dries Augustyns
9e2400c6de
fix: Enhance email processing to support campaign types and improve unsubscribe logic
2026-04-02 14:09:01 +02:00
Dries Augustyns
fb5aa8796a
feat: Add headless template type
2026-04-02 12:43:27 +02:00
Dries Augustyns
284838279d
test: Mock DNS lookup in integration tests for WorkflowExecutionService
2026-04-02 07:56:54 +02:00
Dries Augustyns
2c5a71518d
fix: Implement SSRF protection in webhook handling with safeFetch method
2026-04-02 07:48:43 +02:00
Dries Augustyns
d24259e8d2
feat: Add type to campaign
2026-04-01 18:49:51 +02:00
Dries Augustyns
3343e891bd
feat: Disable projects on failed payment
2026-04-01 18:07:08 +02:00