Commit Graph

22409 Commits

Author SHA1 Message Date
ff6a98fae1 Replace deprecated array types with Doctrine's ArrayParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
c7dc7e5a24 Replace PDO types with Doctrine's ParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
8473511bff Remove Paris, Idiorm, and Sudzy
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
805c752843 Remove all old models and their setup
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
0584c63180 Replace old model table name constants with Doctrine repositories
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
437a4c414e Make sure the pQuery does not break html comments
We had the fix in the renderer, but we do use pQuery also in further processing of the rendered email
e.g. in code where we add GA tracking params to links.
In this commit, I moved the fix directly to the pQuery library so that it is safe to use
later in email code processing.
[MAILPOET-6190]
2024-08-19 13:14:12 +02:00
3214a86ee2 Add empty email check also for multisite registration
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
08ac80774c Add test for the registration class
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
a046d4ab6f Attempt to add a subscriber only when there is an email address
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
f022cc23fc Allow pingBridge endpoint for all users with access to the plugin admin
We call the endpoint on the admin pages and the restricted access was causing
that editor users were getting false error notices.
[MAILPOET-6189]
2024-08-14 11:54:28 +03:00
9feb0433e6 Show "from" value in logs when not explicitely set
It was empty before, and it looked like there are no logs. But they were just filtered for the last 7 days.

[MAILPOET-5670]
2024-08-14 10:26:54 +02:00
8ea0482ed8 Replace MailPoet.I18n.t with __() and _x()
[MAILPOET-5670]
2024-08-14 10:26:54 +02:00
4ce8ef48ab Add toggle button on MailPoet logs page
[MAILPOET-5670]
2024-08-14 10:26:54 +02:00
1722d383f9 Release 4.58.2 2024-08-13 15:23:15 +02:00
8ec7333a34 Track CAPTCHA setting to Mixpanel
[MAILPOET-6187]
2024-08-13 08:01:38 +02:00
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