Commit Graph

22409 Commits

Author SHA1 Message Date
Jan Jakes
ff6a98fae1 Replace deprecated array types with Doctrine's ArrayParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
c7dc7e5a24 Replace PDO types with Doctrine's ParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
8473511bff Remove Paris, Idiorm, and Sudzy
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
805c752843 Remove all old models and their setup
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
0584c63180 Replace old model table name constants with Doctrine repositories
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Rostislav Wolny
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
Rostislav Wolny
3214a86ee2 Add empty email check also for multisite registration
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
Rostislav Wolny
08ac80774c Add test for the registration class
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
Rostislav Wolny
a046d4ab6f Attempt to add a subscriber only when there is an email address
[MAILPOET-6188]
2024-08-16 09:35:45 +02:00
Rostislav Wolny
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
 Ján Mikláš
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
 Ján Mikláš
8ea0482ed8 Replace MailPoet.I18n.t with __() and _x()
[MAILPOET-5670]
2024-08-14 10:26:54 +02:00
 Ján Mikláš
4ce8ef48ab Add toggle button on MailPoet logs page
[MAILPOET-5670]
2024-08-14 10:26:54 +02:00
Rostislav Wolny
1722d383f9 Release 4.58.2 2024-08-13 15:23:15 +02:00
 Ján Mikláš
8ec7333a34 Track CAPTCHA setting to Mixpanel
[MAILPOET-6187]
2024-08-13 08:01:38 +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
8868c98c25 Add test for CreateAutomationRunHookTest
[MAILPOET-6177]
2024-08-12 12:25:42 +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
github-actions[bot]
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
Veljko
c5afaa9070 Fix flaky acceptance segment test
[MAILPOET-6141]
2024-08-09 11:12:31 +02:00
alex-mpoet
a2a30422a1 Fix twig generate cache error
[MAILPOET-6173]
2024-08-09 10:48:30 +02:00
Rostislav Wolny
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
Rostislav Wolny
4733bde082 Annotate types for PHPStan
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
12eabf26f2 Update Help API test
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
e646582942 Improve look of the data inconsistencies table
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
9b8af4cafd Add check for orphaned newsletter posts
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
45114e4da2 Add check for orphaned newsletter links
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
fe66e31b5f Add check for orphaned subscriptions
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
0d7898b3a5 Add inconsistency check and fix for sending queues without newsletter
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
cb4cea678a Show only inconsistencies that have at least one row
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
bbed9c35d2 Add check and cleanup for Orphaned sending task subscribers 2024-08-08 15:37:32 +02:00
Rostislav Wolny
34feae9f1f Delete also task subscribers when fixing orphaned scheduled tasks
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
c513befdb8 Add data inconsistency labels for humans
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
67a79728e2 Add fix button to data inconsistencies table
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
cb5f533e54 Add API for fixing inconsistent data
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
b68e6b7639 Add method for cleaning up orphaned sending tasks
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
08ffe6e3cf Refactor KeyValueTable to component to Typescript
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
85867d519e Print simple key-value table with data inconsistencies on help page
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
f10bce81a3 Pass data inconsistencies data to JS
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
54c21df3a6 Add backend classes for fetching inconsistent data
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
22ee156dcd Use inline property type hints for Help page
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
Rostislav Wolny
e1f38f3b83 Address offset issue in time comparison in AutomationEmailScheduler
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
Rostislav Wolny
0041a060b6 Improve check for recently scheduled tasks for sending action.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
Rostislav Wolny
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
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áš
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
 Ján Mikláš
c62fbda4df Add tracking for opt-in position
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
 Ján Mikláš
6a155ec454 Update migration to only check for presence of the setting, without version check
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00
 Ján Mikláš
e640fa10cb Add default value for opt-in position to Populator
[MAILPOET-5807]
2024-08-07 15:43:42 +02:00