John Oleksowicz
933fb27265
Create cron worker for reporting mixpanel data
...
MAILPOET-5161
2023-10-23 17:40:54 +02:00
Jan Lysý
998a1ef1f0
Add method for sending recovery from an invalid state
...
[MAILPOET-4891]
2023-09-14 21:03:08 +02:00
David Remer
7ac2065b1a
Track purchases regardless of status but return revenue status correctly
...
When we apply this commit every purchase will be tracked. When the shop manager updates an order
the status will be updated. For the statistics it will only return values for purchases with
the 'completed' status
[MAILPOET-5485]
2023-09-11 12:14:33 +02:00
David Remer
317fdee2b6
Use getPurchaseStates helper method for past orders
...
[MAILPOET-5485]
2023-09-11 12:14:33 +02:00
John Oleksowicz
fe44df1884
Prevent invalid states due to filter segment
...
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
bb7a98ad82
Save filter segment data to queue at send time
...
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
38e709e3b1
Filter subscribers when creating scheduled tasks
...
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
3745b17465
Filter subscribers during sending if filterSegment present
...
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
9b8c4910c1
If newsletter has filterSegmentId, pause if it doesn't exist
...
MAILPOET-5509
2023-08-31 14:16:10 +02:00
David Remer
76c299c3d7
Remove global count methods.
...
In the previous commit, we removed the global count for our output. This commit removes
the logic as the only places where it was used was in recalculating the cache and since
the last commit, we do not use this value anymore
[MAILPOET-4487]
2023-08-18 13:35:13 +02:00
John Oleksowicz
021d8774e7
Wrap bulk updates in a transaction
...
MAILPOET-5410
2023-08-11 16:39:57 +02:00
John Oleksowicz
f8e0ba118c
Nullify engagement score updated at after sends
...
This will cause the cron job that recalculates engagement score to pick
up these users the next time it runs. This ensures scores don't get
stale.
MAILPOET-5410
2023-08-11 16:39:57 +02:00
John Oleksowicz
0d9a6345d1
Actually use the batch size
...
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
2078ddf292
Save last_subscriber_id as we go
...
Otherwise the task would always be starting at 0 if it times out
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
fc410c2154
Make sure lastProcessedSubscriberId is always correct
...
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
73eae47a39
Add cron worker for backfilling engagement data
...
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
b22217420f
Track last sending at
...
MAILPOET-4998
2023-06-22 15:29:22 +02:00
Rodrigo Primo
cc03b21e32
Add return type to verifySubscriber()
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
7a82270769
Add types to verifyWPSubscriber() based on PR reviewer feedback
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
bb2c77de31
Simplify verifyMailpoetSubscriber() by setting types in the signature
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
06a2c4e2bc
Refactor Scheduler to use SubscriberEntity instead of Subscriber model
...
It was necessary to add a call to SubscribersRepository::remove() to two
integration tests to make sure Doctrine cleared its internal cache.
Maybe this should be handled by SubscribersRepository::bulkDelete().
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
b251fa8ee9
Replace SubscribeSegment model with Doctrine code in Scheduler
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
6da2b5ad82
Refactor Scheduler::process() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
2ea8309908
Refactor processScheduledAutomaticEmail() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
e24d12f641
Refactor verifyMailpoetSubscriber() and verifyWPSubscriber()
...
Refactor those two methods to use Doctrine instead of Paris.
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
fcc2f93d91
Refactor deleteQueueOrUpdateNextRunDate() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
5e9b820607
Refactor processPostNotificationNewsletter() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
0c74a5ae8c
Refactor processWelcomeNewsletter() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
3b46668784
Refactor processScheduledStandardNewsletter() to use Doctrine
...
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
ca3b5032ca
Replace Newsletter model with NewsletterEntity in SchedulerTest
...
Temporary code was added to Scheduler to make some of its methods work
both with a Newsletter model and a NewsletterEntity.
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
75f8af13be
Refactor MetaInfo::getNewsletterMetaInfo() to use Doctrine
...
[MAILPOET-5344]
2023-05-25 06:52:00 -05:00
alex-mailpoet
4cd1667146
Cache homepage subscribers stats
...
[MAILPOET-5180]
2023-05-22 14:13:05 +02:00
David Remer
0a57ca6a4d
Use productIds in AbandonedCartPayload
...
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
649c4efff4
Add AbandonedCart Worker
...
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
Rostislav Wolny
ab19ef92d5
Use subscriber count reporter in cron for reporting stats
...
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
Rodrigo Primo
9ab62ea2e1
Change the frequency of the Beamer worker to once every two weeks
...
[MAILPOET-5275]
2023-05-08 14:39:52 +02:00
Rodrigo Primo
7c4a84aaf4
Remove notices for hooks that were deprecated over six months ago
...
[MAILPOET-5272]
2023-04-28 06:05:29 +01:00
Jan Jakes
69f21814e3
Rename "transactional" email type to "automation_transactional"
...
[MAILPOET-5258]
2023-04-24 09:54:08 +03:00
David Remer
0ce8fce161
Send transactional emails to all not-bounced subscribers
...
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
19c6f777fc
Schedule transactional emails to all subscribers who are not bounced
...
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
Rostislav Wolny
cbd5c443f2
Ensure that subscriber stats are sent even for valid underprivileged keys
...
[MAILPOET-5165]
2023-04-04 18:45:41 +02:00
Sam Najian
397232e932
Set status of scheduled_task to invalid if it has not subs
...
[MAILPOET-5134]
2023-04-03 11:53:49 +02:00
Jan Lysý
2547f4bfbd
Replace old model usages by Doctrine
...
[MAILPOET-4303]
2023-03-22 09:20:11 +01:00
Jan Lysý
2ead4214cd
Move query with inserting task subscribers to repository
...
[MAILPOET-4303]
2023-03-22 09:20:11 +01:00
Sam Najian
9ca259d1d0
Exclude corrupt emails when fetching queue newsletters
...
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
Sam Najian
fdf0875905
Pause sending queue when encountering a corrupt newsletter
...
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
Sam Najian
93110826e7
Log when processing the queue for corrupt newsletter
...
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
John Oleksowicz
8c0854ab47
Consider image src when calculating campaignIds
...
MAILPOET-5034
2023-02-26 15:20:48 +01:00
John Oleksowicz
49c85c05ed
Move campaignId generation to more logical place
...
MAILPOET-5034
2023-02-26 15:20:48 +01:00
John Oleksowicz
a6824cce36
Add tests for campaignId generation
...
[MAILPOET-5033]
2023-02-26 15:20:48 +01:00