Commit Graph

239 Commits

Author SHA1 Message Date
Jan Jakes
fe4eeb0049 Fix send email step time-out happening too early
This was an off-by-one error — the first step run is the email scheduling run.

[MAILPOET-6246]
2024-09-23 13:00:48 +02:00
Jan Lysý
6b5fb2e92d Make all error messages translatable
[MAILPOET-6174]
2024-08-21 15:15:21 +02:00
Jan Lysý
50a00789b8 Add setting error message when email is missing
[MAILPOET-6174]
2024-08-21 15:15:21 +02:00
Jan Lysý
ecf0e1d2db Update error message in SendEmailAction
[MAILPOET-6174]
2024-08-21 15:15:21 +02:00
Jan Lysý
0761998eba Use typed properties in SendEmailAction
[MAILPOET-6174]
2024-08-21 15:15:21 +02:00
Jan Lysý
54043e5364 Update error messages in automations
[MAILPOET-6174]
2024-08-21 15:15:21 +02:00
Jan Jakes
172ffb7b61 Increase number of checks if the email was sent in automation
[MAILPOET-6175]
2024-08-12 16:11:19 +02:00
Jan Jakes
2b38eb35ef Minimize the risk of race conditions for "once per subscriber" automations
[MAILPOET-6177]
2024-08-12 12:25:42 +02:00
Rostislav Wolny
8a0bd75cb1 Limit scheduled tasks fetching by automation run createdAt
This is a performance optimization to avoid fetching too many scheduled task rows.
Run is always created before the scheduled task which is created in send action step.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
Rostislav Wolny
e5ab65f28e Fix send action checkSendingStatus to support multiple emails per subscriber.
It is possible that one email (e.g., purchase in category) is sent multiple times
to the same subscriber.

AutomationEmailScheduler::getScheduledTaskSubscriber was selecting the task based on subscriber and newsletter.
In the case of multiple emails sent to one subscriber, the method failed to pick ScheduledTaskSubsrciberEntity because
the query was fetching multiple results, but getOneOrNullResult expects only one result.

This commit fixes it by adding additional filtering by $runId to get the ScheduledTaskSubsriberEntity associated
with the correct run.

I did the filtering in PHP because an alternative would be using LIKE %% in the query. The meta column is text.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
 Ján Mikláš
ac751871f9 Unify automation endpoint 404 exceptions
[MAILPOET-5436]
2024-07-08 14:37:30 +02:00
Jan Jakes
fdc0468c64 Execute send email step progress when email is sent
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
Jan Jakes
36089cc2f4 Save automation run info to scheduled task meta field
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
Jan Jakes
123b0d65e2 Do not complete send email action run immediately, schedule a check instead
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
Jan Jakes
9de62db7df Add number of required automation steps to templates
[MAILPOET-6002]
2024-05-01 12:26:09 +02:00
Jan Jakes
575ce3cc5c Move purchased templates to the free plugin
[MAILPOET-6002]
2024-05-01 12:26:09 +02:00
Jan Jakes
3a5f108e42 Change free-only templates to default
[MAILPOET-6002]
2024-05-01 12:26:09 +02:00
David Remer
5aa6ffaed7 Make more triggers transactional
[MAILPOET-6015]
2024-04-29 11:08:53 +02:00
Mike Jolley
435f638011 Apply rules on lib dir 2024-03-21 16:57:59 +01:00
Jan Jakes
7560aa495e Unify quotes and apostrophes
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
4674c1443d Use order completed trigger instead of status change
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
261907e93b Add missing translation functions
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
ad1ffea2c0 Enable abandoned cart campaign template
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
9be4e730c0 Add win-back customers template
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
d816e97d31 Enable thank loyal customers template, improve naming
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
5439db1e5a Unify parameter naming
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1a0eb90402 Mark which fields support the "in the last" parameter for UI
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
67786c1eee Add "in the last" parameter to "mailpoet:subscriber:automations-exited" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
44b65d10be Add "in the last" parameter to "mailpoet:subscriber:automations-processing" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2ef7bf6fac Add "in the last" parameter to "mailpoet:subscriber:automations-entered" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
504510d724 Simplify fetching automation IDs by subject
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
f36b117987 Add "in the last" parameter to "mailpoet:subscriber:email-clicked-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1c7ed9602f Add "in the last" parameter to "mailpoet:subscriber:email-machine-opened-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
c87fc5ab7e Add "in the last" parameter to "mailpoet:subscriber:email-opened-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2421a1b8ea Add "in the last" parameter to "mailpoet:subscriber:email-sent-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
a17fc5e963 Identify all triggers with "woocommerce:" key prefix as WooCommerce triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
d5d20d5219 Send transactional emails with order created/completed/cancelled triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
8b40553d0b Do not check subscriber against segment when sending transactional email
[MAILPOET-5720]
2024-02-14 14:36:22 +01:00
Jan Jakes
d6da2af55b Extract newsletter bulk delete logic to a controller
Repositories shouldn't inject other repositories. Also, this solves circular DI dependency.

[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Brezo Cordero
74a8a0aefc Modify context for Automations
[MAILPOET-5796]
2024-01-29 16:53:00 +01:00
Brezo Cordero
1a7a424936 Add Sender Domain Data to MailPoet Context
[MAILPOET-5796]
2024-01-29 16:53:00 +01:00
Jan Lysý
525c80bac4 Fix PHPStan warnings in lib
[MAILPOET-5751]
2023-12-13 11:48:14 +01:00
 Ján Mikláš
f71935f137 Add translator comments to automation steps and subjects
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
 Ján Mikláš
dfe6076599 Unify quotes around IDs in error messages
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
Jan Jakes
d220f05840 Move automation template categories to registry
This will also allow 3rd parties adding new categories in the future.

[MAILPOET-4676]
2023-11-20 14:30:05 +01:00
David Remer
4b2a63e8d6 Use - instead of _ in field keys
[PREMIUM-243]
2023-11-08 13:42:36 +01:00
David Remer
042daf934e Add NewsletterLinkSubject
[PREMIUM-243]
2023-11-08 13:42:36 +01:00
David Remer
ae0e952159 Use the correct WordPress wrapper
[MAILPOET-5661]
2023-11-06 12:57:56 +01:00
David Remer
f92d560d6a Add comment to subscriber subject transformer
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
Jan Jakes
f55c4f7755 Make next step ID nullable (ability to save multiple edges without next steps)
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00