Commit Graph

22694 Commits

Author SHA1 Message Date
172ffb7b61 Increase number of checks if the email was sent in automation
[MAILPOET-6175]
2024-08-12 16:11:19 +02:00
8868c98c25 Add test for CreateAutomationRunHookTest
[MAILPOET-6177]
2024-08-12 12:25:42 +02:00
2b38eb35ef Minimize the risk of race conditions for "once per subscriber" automations
[MAILPOET-6177]
2024-08-12 12:25:42 +02:00
e6e0d19a3a Update used Automate Woo plugin in Circle CI
- latest version: 6.0.31
 - previous version: 5.8.5
2024-08-12 09:27:45 +02:00
c5afaa9070 Fix flaky acceptance segment test
[MAILPOET-6141]
2024-08-09 11:12:31 +02:00
a2a30422a1 Fix twig generate cache error
[MAILPOET-6173]
2024-08-09 10:48:30 +02:00
5a7462a152 Delete max 10000 rows from scheduled task subscribers in cleanup.
DB may crash when deleting too many rows in one query.
The scheduled_task_subscribers has the potential to contain many records.
This commit adds limit when cleaning up inconsistent data from scheduled task subscribers.
[MAILPOET-6155]
2024-08-08 15:37:32 +02:00
4733bde082 Annotate types for PHPStan
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
12eabf26f2 Update Help API test
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
e646582942 Improve look of the data inconsistencies table
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
9b8af4cafd Add check for orphaned newsletter posts
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
45114e4da2 Add check for orphaned newsletter links
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
fe66e31b5f Add check for orphaned subscriptions
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
0d7898b3a5 Add inconsistency check and fix for sending queues without newsletter
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
cb4cea678a Show only inconsistencies that have at least one row
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
bbed9c35d2 Add check and cleanup for Orphaned sending task subscribers 2024-08-08 15:37:32 +02:00
34feae9f1f Delete also task subscribers when fixing orphaned scheduled tasks
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
c513befdb8 Add data inconsistency labels for humans
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
67a79728e2 Add fix button to data inconsistencies table
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
cb5f533e54 Add API for fixing inconsistent data
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
b68e6b7639 Add method for cleaning up orphaned sending tasks
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
08ffe6e3cf Refactor KeyValueTable to component to Typescript
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
85867d519e Print simple key-value table with data inconsistencies on help page
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
f10bce81a3 Pass data inconsistencies data to JS
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
54c21df3a6 Add backend classes for fetching inconsistent data
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
22ee156dcd Use inline property type hints for Help page
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
e1f38f3b83 Address offset issue in time comparison in AutomationEmailScheduler
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
0041a060b6 Improve check for recently scheduled tasks for sending action.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
b2c7f49a41 Improve TimestampListener to use the current time for now instead of "cached" value
Using now "cached" on the TimestampListener instance was causing us to set createdAt and updatedAt slightly in the past.
It was potentially problematic in tests where the TimestampListener lives a long time or in long requests, such as a cron request.

[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
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
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
38b3fbe6fc Remove line-height from small variants of inputs
It was causing descender to be cut off. Removing it doesn't change the overall height of the input

[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
c62fbda4df Add tracking for opt-in position
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
6a155ec454 Update migration to only check for presence of the setting, without version check
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
e640fa10cb Add default value for opt-in position to Populator
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
13e45a960f Add migration so existing active installations remain opt-in checkbox position
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
588f942640 Test all combinations of opt-in checkbox positions on block and shortcode checkout with AutomateWoo
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
59733db6de Fix hiding AutomateWoo opt-in checkbox when MailPoet opt-in is in different position
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
60895570af Add acceptance tests for opt-in checkbox positions on shortcode checkout page
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
9698795c7a Improve AutomateWoo integartion tests by checking both block and shortcode checkout pages
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
0da59169b9 Improve opt-in message test by checking both block and shortcode checkout pages
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
9f42614f92 Differentiate between block and shortcode checkout in tests
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
aca259068a Allow setting opt-in message in tests
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
02a148ef84 Use proper hook based on opt-in position setting
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
334756d18f Change the condition to check if opt-in on checkout is enabled to be easier to read
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
1c9ebb960f Add opt-in position setting
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
1200565a7f Use __() for translations in checkout-optin setting
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
80a7d3c5d7 Trigger abandoned cart check on WP user login
[MAILPOET-6161]
2024-08-07 12:45:42 +02:00
1115771b50 Release 4.58.1 2024-08-06 15:42:02 +02:00
b61d7f7b22 Add default value for only-tests parameter
The default value in the compile:all command was missing, which caused an error.
[MAILPOET-6178]
2024-08-06 13:31:15 +02:00