Commit Graph

16750 Commits

Author SHA1 Message Date
Rodrigo Primo
64d655857b Explicitly declare compatibility with Woo High Performance Order Tables
This was done following the instructions published by the WooCommerce
team: pcShBQ-oY-p2

[MAILPOET-4726]
2022-11-07 10:42:38 +01:00
Rodrigo Primo
b2b5f3c22a Add Woo tags "WC requires at least" and "WC tested up to"
As discussed in this P2 post (pcNwfB-1lW-p2), we will start using the
Woo tags "WC requires at least" and "WC tested up to". The "WC tested up
to" tag is required by WooCommerce for extensions to explicitly declare
compatibility with Woo High Performance Order Tables (pcShBQ-oY-p2). The
"WC requires at least" is not currently used by WooCommerce, but it
helps us make more explicit which versions of Woo MailPoet currently
supports.

[MAILPOET-4726]
2022-11-07 10:42:38 +01:00
Jan Jakes
588f3a9feb Use "reply to" from settings only when they are different than "from" settings
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
8c676b773d Fix hook type
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
c76a0adb5e Move validation rules for active workflows below structural rules
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
848fc51070 Run full workflow validation for all non-draft statuses
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
af1e09f46f Remove "inactive" status for now, use "draft" instead
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
f1abfe557a Use undefined for no value in GA campaign field
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
aa52ca804e Expose send email create step filter
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
273551fa36 Add type for a step creation callback
[MAILPOET-4757]x
2022-11-07 11:17:36 +02:00
Jan Jakes
17898b243a Use default reply to values when no previous values are set
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
81ed12d454 Use previous reply to values when toggled off and on
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
2f78c99381 Fix reply-to panel empty value handling
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
480c7d25e0 Delete step args when they are set to "undefined"
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
c1a6c5a215 Force sidebar remount to avoid different steps mixing their data
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
8fadc87036 Enable delay in minutes
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
5176566882 Remove debug info from step panel
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
b52b9990da Improve workflow name rendering in listing
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
8796599d89 Automatically open sidebar panels when their fields contain errors
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
9808245d30 Set errors object also for non-step errors to propagate correct state
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
12f2d1730f Do not enforce workflow content for non-active workflows
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Rostislav Wolny
dac8c1e2f3 Improve assertEqualDateTimes helper interface
Make sure that both dates parameters have to be passed into the method.
[MAILPOET-4723]
2022-11-07 10:10:17 +01:00
Rostislav Wolny
a3e1f8d8c6 Fix flaky AbandonedCartTest
Fix the flaky DateTime comparisons test by allowing 1 second delta
[MAILPOET-4723]
2022-11-07 10:10:17 +01:00
Rostislav Wolny
2c28449b58 Add helper method for comparing DateTimeInterface objects
This commit adds a method to the integration tester that allows
comparing two DateTimeInterface objects and specify tolerated delta.
It also allows passing null and assert the DateTimeInterface internally.
This is because often our entities have return type DateTimeInterface|null
So with the internal checks we don't have to make those instance of checks
each time we pass date from entity into the method.
Note: I was not able to use $this->assertInstanceOf because PHPStan was not accepting that
and still complained.
[MAILPOET-4723]
2022-11-07 10:10:17 +01:00
Jan Jakes
43197bf859 Use 24-hour format in migration timestamps
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
bd34c4e7ec Ignore index.php in migrations directory
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
511b8ad7ff Retry timed out and failed migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
a60562254c Temporarily fix reinstall test wiping out automation tables
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
96368cbd3f Move one-time migrations from populator to the new initial migration
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
e384e7dea3 Merge inactive subscribers frequency test into the new initial migration test
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
86fbcd3a57 Annotate types for PHPStan rather than using baseline files
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
9730fb9272 Move the old dbDelta-based migrator to a migration
This will ensure it runs once and from there, it will continue using the new migrations.

[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
a3f2ee8bbb Implement CLI output logging when running migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
a177b3b8da Add the possibility to use a logger in migrator
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
f369fdfa4a Add ./do migrations:new command to generate migration files
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
80a6e78d48 Allow underscored naming in lib/Migrations
This is to allow readable naming of migration files and classes, such as "Migration_20221023_040819".
2022-11-07 10:05:42 +01:00
Jan Jakes
f65821256c Run migrations on activation
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
dd10389c55 Implement WP CLI command to show migrations info
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
3dd6ef3da7 Implement WP CLI command to run migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
036d0a29ae Implement full migration running logic
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
d199e0b77e Add migrator service with ability to resolve status of all migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
17ab79aa6f Add store method to list all migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
b10cd32449 Add runner to execute a migration and save its status
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
f9001c1826 Add store methods to start, complete, and fail a migration
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
31050394b9 Add a store with a method to create migrations table when it doesn't exist
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
e9970f3cc8 Implement loading existing migration classes from the filesystem
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
516c460ace Add repository with the ability to create new migration classes
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
03d80290e6 Add a migration template that will be used to generate new migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
d65b567858 Add abstract migration class with access to connection, entity manager, and the DI container
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
0d10f4b1dd Enable mocking non-object properties in test service overrides
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00