Commit Graph

20858 Commits

Author SHA1 Message Date
35d7dfc150 Use warning instead of error
[MAILPOET-5851]
2024-02-15 10:43:46 +01:00
063e87499e Display a notice when opening a sent email
[MAILPOET-5851]
2024-02-15 10:43:46 +01:00
05a7f1c9dd Disable send button if the email was sent
[MAILPOET-5851]
2024-02-15 10:43:46 +01:00
7a0cad8abf Update post status when email is sent
[MAILPOET-5851]
2024-02-15 10:43:46 +01:00
ad6199d915 Update composer.phar
[MAILPOET-5902]
2024-02-14 15:53:39 +01:00
851a9626c9 Enable typography appearance
[MAILPOET-5840]
2024-02-14 14:43:10 +01:00
c35fbdf70a Create transactional emails with order created/completed/cancelled triggers in the UI
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
a17fc5e963 Identify all triggers with "woocommerce:" key prefix as WooCommerce triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
d5d20d5219 Send transactional emails with order created/completed/cancelled triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
738c35891a Simplify getSinglePayloadByClass, remove wrong check
[MAILPOET-5720]
2024-02-14 14:36:22 +01:00
8b40553d0b Do not check subscriber against segment when sending transactional email
[MAILPOET-5720]
2024-02-14 14:36:22 +01:00
d9d3dd41c7 Bump composer/composer from 2.2.22 to 2.2.23 in /mailpoet
Bumps [composer/composer](https://github.com/composer/composer) from 2.2.22 to 2.2.23.
- [Release notes](https://github.com/composer/composer/releases)
- [Changelog](https://github.com/composer/composer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/composer/composer/compare/2.2.22...2.2.23)

---
updated-dependencies:
- dependency-name: composer/composer
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:01:04 -06:00
33fc16a04f Release 4.43.1 2024-02-13 08:40:51 -06:00
51a14a45d3 Use refreshAll() for updates, refresh subscribers/subscriber custom fields conditionally
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
014b8249bb Replace entityManager->clear with a helper, add cleanup to WP user sync
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
857ed69c61 Update integration test after change in \MailPoet\Segments\WP
In a previous commit, \MailPoet\Segments\WP was refactored to use
Doctrine instead of Paris. Paris would always convert subscriber emails
to lowercase. We don't do this with the Subscriber entity so it was
necessary to update this test after the refactor.

[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
f0434d74e7 Ensure Doctrine entity cache is cleared after changing the database
ImportExportRepository::updateMultiple() changes subscribers by running
MySQL queries directly. Now that \MailPoet\Segments\WP uses Doctrine as
well this was causing a bug caught by our integration tests.

```
MailPoet\Subscribers\ImportExport\Import\ImportTest::testItSynchronizesWpUsers
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'mary'
+'Mary'

/wp-core/wp-content/plugins/mailpoet/tests/integration/Subscribers/ImportExport/Import/ImportTest.php:719
```

https://app.circleci.com/pipelines/github/mailpoet/mailpoet/16386/workflows/c3fa0cf4-a77d-41ab-a5cc-78d4b37d9228/jobs/278066/tests#failed-test-0

This test was failing because the Doctrine entities were not updated
after the import process ran and modified the subscribers directly in
the database. Running EntityManager::clear() after importing the
subscribers, forces Doctrine to query the database again to update the
entities and prevents this bug.

[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
8318246e1e Improve the way WP users are deleted when running the tests
Doing this to be able to write tests that use any username or email as
it was done in the previous commit. Before the users needed to match the
pattern used inside WPTest::insertUser().

[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
6f98634b94 Replace Subscriber and SubscriberSegment models with Doctrine in \MailPoet\Segments\WP
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
01cafdf719 Replace Idiomr\ORM with Doctrine in WPTest
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
374fbe6867 Replace Segment model with Doctrine in \MailPoet\Segments\WP
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
b63834b02b Change return type as the method always returns a segment
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
0229eb76ef Only show tutorial icon on the editor
MAILPOET-5735
2024-02-12 13:16:11 +01:00
f8d99b34bf Check table exists before altering it
[MAILPOET-5896]
2024-02-12 11:50:48 +01:00
9f24247285 Add check if meta option is array
[MAILPOET-5891]
2024-02-12 11:15:36 +01:00
db2e61e987 Use "MAX(subscriber_id)" when fething "updated_at" to leverage DB indexes
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
60f1234b71 Check newsletter stats "sentAt" agains correct date (from subsriber task)
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
9db41a5210 Use scheduled task subsriber date for backfilling "sentAt" values
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
7814dda708 Backfill newsletter stats with processed subscribers even with failed status
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
0d71d96cfa Backfill missing sentAt from https://github.com/mailpoet/mailpoet/pull/5416
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
a5d44ba9b6 Backfill missing newsletter statistics from https://github.com/mailpoet/mailpoet/pull/5416
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
78732f8a5d Update also sending queue counts when marking stuck newsletters as sent
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
2804125827 Update also "sent_at" when marking stuck newsletters as sent
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
74f95b972f Split migration code into private methods
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
e3214e441b Add migration to fix sending tasks stuck in "invalid" state
[MAILPOET-5887]
2024-02-12 08:52:30 +02:00
bbe471e653 Use standard formatting for env.sample
MAILPOET-4237
2024-02-08 11:13:35 -06:00
ecd7614337 Add defaults for unset env variables
These defaults maintain backwards compatibility if developers don't
change anything

MAILPOET-4237
2024-02-08 11:13:35 -06:00
a78a31f110 Fix indentation
MAILPOET-4237
2024-02-08 11:13:35 -06:00
fcc4be330c Add set -e to hook scripts to exit on fail
MAILPOET-4237
2024-02-08 11:13:35 -06:00
52397951d8 Rename scripts and make messages consistent
MAILPOET-4237
2024-02-08 11:13:35 -06:00
97f811390d Make install js/php commands optional
MAILPOET-4237
2024-02-08 11:13:35 -06:00
7b64c47733 Don't run any git hooks unless env variable is set
MAILPOET-4237
2024-02-08 11:13:35 -06:00
bc4014d4a3 Make lint-staged commands configurable
MAILPOET-4237
2024-02-08 11:13:35 -06:00
ec6d26162b Add hooks to install updates automatically
MAILPOET-4237
2024-02-08 11:13:35 -06:00
5d8d7adc08 Add command to install just PHP dependencies
MAILPOET-4237
2024-02-08 11:13:35 -06:00
15b351b3f1 Bump follow-redirects from 1.15.2 to 1.15.4
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 12:15:20 +01:00
d4d4db7cc5 Release 4.43.0 2024-02-06 14:47:57 +01:00
c2c9429706 Fix TransactionalEmailHooksTest failing on MySQL 8
[MAILPOET-5886]
2024-02-05 15:24:26 +01:00
de9c03a3bc Add migration for fixing status for newsletters stuck as sending
[MAILPOET-5886]
2024-02-05 15:24:26 +01:00
7b86de1346 Set sentAt date when saving newsletter stats
MySQL 8 can't handle null values for not null columns even when we set a default
See detailed explanation
https://kedar.nitty-witty.com/blog/mysql-8-timestamp-cannot-be-null-and-explicit_defaults_for_timestamp
[MAILPOET-5886]
2024-02-05 15:24:26 +01:00