New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from PR#10782 rebuilt #11319
Conversation
Thanks for the PR @annamunk - guessing this is something that we are going to have to add more documentation on for developers working with the builder (and folks reviewing the PRs) as something must have gone wrong somewhere along the line! |
@annamunk if you want to get this bug fix merged into 4.4.1 then please rebase on branch 4.4. Otherwise this bug fix will be available in Mautic 5.0.0 |
Hi @annamunk would you be able to rebase this PR (or make a new one if it is easier) on the 4.4 branch? That way we can get it into one of the upcoming bug fix releases. On the 5.x branch it will have to wait until September at the earliest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worked great - the Dynamic Content block is added and I can use it, however I am getting a critical error when I try to send an email using dynamic content - I think that this is happening when it is trying to use the filter. This may not be related to this PR (will create a separate issue) but just flagging that as a result of this, I was not able to actually send the emails to test the dynamic content worked.
[2022-07-15 13:07:41] mautic.CRITICAL: Uncaught PHP Exception ErrorException: "PHP Notice - Trying to access array offset on value of type null" at /var/www/html/app/bundles/EmailBundle/EventListener/MatchFilterForLeadTrait.php line 57 {"exception":"[object] (ErrorException(code: 0): PHP Notice - Trying to access array offset on value of type null at /var/www/html/app/bundles/EmailBundle/EventListener/MatchFilterForLeadTrait.php:57)
[stacktrace]
#0 /var/www/html/app/bundles/EmailBundle/EventListener/MatchFilterForLeadTrait.php(57): Mautic\\CoreBundle\\ErrorHandler\\ErrorHandler->handleError(8, 'PHP Notice - Tr...', '/var/www/html/a...', 57, Array)
#1 /var/www/html/app/bundles/EmailBundle/EventListener/TokenSubscriber.php(106): Mautic\\EmailBundle\\EventListener\\TokenSubscriber->matchFilterForLead(Array, Array)
#2 /var/www/html/vendor/symfony/event-dispatcher/Debug/WrappedListener.php(126): Mautic\\EmailBundle\\EventListener\\TokenSubscriber->onTokenReplacement(Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent), 'mautic.email_to...', Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))
#3 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(264): Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener->__invoke(Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent), 'mautic.email_to...', Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))
#4 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\\Component\\EventDispatcher\\EventDispatcher->doDispatch(Array, 'mautic.email_to...', Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent))
#5 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'mautic.email_to...', Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent))
#6 /var/www/html/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php(168): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent), 'mautic.email_to...')
#7 /var/www/html/app/bundles/EmailBundle/EventListener/TokenSubscriber.php(78): Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher->dispatch(Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent), Object(Mautic\\CoreBundle\\Event\\TokenReplacementEvent))
#8 /var/www/html/vendor/symfony/event-dispatcher/Debug/WrappedListener.php(126): Mautic\\EmailBundle\\EventListener\\TokenSubscriber->decodeTokens(Object(Mautic\\EmailBundle\\Event\\EmailSendEvent), 'mautic.email_on...', Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))
#9 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(264): Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener->__invoke(Object(Mautic\\EmailBundle\\Event\\EmailSendEvent), 'mautic.email_on...', Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))
#10 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\\Component\\EventDispatcher\\EventDispatcher->doDispatch(Array, 'mautic.email_on...', Object(Mautic\\EmailBundle\\Event\\EmailSendEvent))
#11 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'mautic.email_on...', Object(Mautic\\EmailBundle\\Event\\EmailSendEvent))
#12 /var/www/html/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php(168): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(Mautic\\EmailBundle\\Event\\EmailSendEvent), 'mautic.email_on...')
#13 /var/www/html/app/bundles/EmailBundle/Helper/MailHelper.php(1630): Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher->dispatch(Object(Mautic\\EmailBundle\\Event\\EmailSendEvent), Object(Mautic\\EmailBundle\\Event\\EmailSendEvent))
#14 /var/www/html/app/bundles/EmailBundle/Model/SendEmailToContact.php(419): Mautic\\EmailBundle\\Helper\\MailHelper->dispatchSendEvent()
#15 /var/www/html/app/bundles/EmailBundle/Model/SendEmailToContact.php(222): Mautic\\EmailBundle\\Model\\SendEmailToContact->sendStandardEmail()
#16 /var/www/html/app/bundles/EmailBundle/Model/EmailModel.php(1502): Mautic\\EmailBundle\\Model\\SendEmailToContact->send()
#17 /var/www/html/app/bundles/EmailBundle/Model/EmailModel.php(1133): Mautic\\EmailBundle\\Model\\EmailModel->sendEmail(Object(Mautic\\EmailBundle\\Entity\\Email), Array, Array)
#18 /var/www/html/app/bundles/EmailBundle/Controller/AjaxController.php(59): Mautic\\EmailBundle\\Model\\EmailModel->sendEmailToLists(Object(Mautic\\EmailBundle\\Entity\\Email), Object(Doctrine\\ORM\\PersistentCollection), 90)
#19 /var/www/html/app/bundles/CoreBundle/Controller/AjaxController.php(131): Mautic\\EmailBundle\\Controller\\AjaxController->sendBatchAction(Object(Symfony\\Component\\HttpFoundation\\Request), 'email')
#20 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(158): Mautic\\CoreBundle\\Controller\\AjaxController->executeAjaxAction('sendBatch', Object(Symfony\\Component\\HttpFoundation\\Request), 'email')
#21 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 2)
#22 /var/www/html/vendor/symfony/framework-bundle/Controller/ControllerTrait.php(96): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 2)
#23 /var/www/html/app/bundles/CoreBundle/Controller/AjaxController.php(109): Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller->forward('MauticEmailBund...', Array)
#24 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(158): Mautic\\CoreBundle\\Controller\\AjaxController->delegateAjaxAction()
#25 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)
#26 /var/www/html/vendor/symfony/http-kernel/Kernel.php(201): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#27 /var/www/html/app/AppKernel.php(104): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#28 /var/www/html/app/middlewares/CORSMiddleware.php(82): AppKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#29 /var/www/html/app/middlewares/CatchExceptionMiddleware.php(34): Mautic\\Middleware\\CORSMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#30 /var/www/html/app/middlewares/Dev/IpRestrictMiddleware.php(52): Mautic\\Middleware\\CatchExceptionMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#31 /var/www/html/app/middlewares/VersionCheckMiddleware.php(58): Mautic\\Middleware\\Dev\\IpRestrictMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#32 /var/www/html/app/middlewares/TrustMiddleware.php(42): Mautic\\Middleware\\VersionCheckMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#33 /var/www/html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Mautic\\Middleware\\TrustMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)
#34 /var/www/html/vendor/stack/run/src/Stack/run.php(13): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))
#35 /var/www/html/index_dev.php(25): Stack\
un(Object(Stack\\StackedHttpKernel))
#36 {main}
"} {"hostname":"mautic-web","pid":3754}
The above bug is already reported (by me! 🤦 ) #11202 |
438638a
to
b98a04e
Compare
@RCheesley thank you! I did the rebase on the 4.4 branch and I also encountered error #11202 while testing Dynamic Content. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! 👍
* Fix for all foreign tables segment filter with empty/notEmpty expression (#11253) * Fix for tags empty/notEmpty segment filter * Add unit tests * Adding some tags to 2 contacts to check that !empty works and testing also empty, !empty with companies * CS fixes Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> * change lead to company trans key (#11300) Co-authored-by: John Linhart <admin@escope.cz> * Pending query optimization (#11260) * ensure the app folder is seen as the 4.3.x instead of a specific version (#11213) * align lock file with change from #11203 (#11218) * docs: add uzegonemad as a contributor for code (#11244) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add pety-dc as a contributor for code (#11246) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Added message_lead_channel_channel_id index * Email pending query optimized using independent sub-queries * message_lead_channel_channel_id index reverted as the optimized query no longer uses it * EmailRepositoryTest fixed * EmailRepositoryTest increased code coverage * Added EmailRepositoryFunctionalTest to further increase code coverage * Fixing param types * Fixing pending count when some contact was deleted * Namespace fix * EmailRepositoryTest queries updated * Adding new functional test for pending count if there is an email stat with lead_id = null * email ID can be variable * CS, STAN fixes * Removing method that did not belong to this PR and is not used * Exclude contacts that are within excluded lists * MAUT-6629: Updated email of type list to consider the category prefrence. * Table prefix is set after the datasets are loaded. So we have to replace in the test * Removing test that belongs to another PR * CS, STAN fixes * Using arrow functions * CS fix * Removing test from a future PR * Fixing tests * Removing part of a feature from another PR * Test fixes * CS fix * Running "composer update --lock" after wrong git rebase conflict resolution Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> * Check existing property (fixes #11299) (#11321) * Removed charLengthLimit. * Adding a functional test for a regression bug Co-authored-by: John Linhart <admin@escope.cz> * Fix user language preference over system language (#11119) * Fix user and system locale not applying on its updates * Fix failing test * Fix failing test * Fix code smell * Segment lookup_id field : use the data-action attribute if present (#11327) Co-authored-by: John Linhart <admin@escope.cz> * Fix report export to Excel with aggregated bool columns (#11298) * Fix report xls export with aggregated columns * PHPSTAN fix * Return types in ReportBundle test fixtures Co-authored-by: John Linhart <jan@linhart.email> * Use param type by declaration in ExcelExporter Co-authored-by: John Linhart <jan@linhart.email> Co-authored-by: John Linhart <admin@escope.cz> * Changes from PR#10782 rebuilded (#11319) * Fix No Data shown for Most hit email redirects dashboard widget (#11086) Co-authored-by: John Linhart <admin@escope.cz> * Add translations for new blocks (#11006) Co-authored-by: John Linhart <admin@escope.cz> * Fix special characters in form condition value (#11093) * Fix special characters in form condition value * Fix compare sanitize special chars vs plain from post for conditonal fields * Add unit tests Co-authored-by: John Linhart <admin@escope.cz> * Cancelling new campaign should not give 500 error. (#11348) Fixes #11181 Co-authored-by: John Linhart <admin@escope.cz> * doctrine-fix was removed but master branch now has PHP 8 support (#11353) * Check the type of the value before passing it into the strpos. (#11350) * Fix issue 11267 - Sending emails via API should respect useOwnerAsMailer (#11347) * if the mailer is owner use owner email as reply-to address (#11322) Co-authored-by: John Linhart <admin@escope.cz> * Tests for sending emails through Mautic's API Add test cases for the following couple of API endpoints: POST /emails/ID/send Send a segment email to linked segment(s). POST /emails/ID/contact/CONTACT_ID/send Send a predefined email to existing contact. Tests are made with mockup HTTP queries using the `request()` method of a symfony's `KernelBrowser` object whose implementation is delegated to Mautic's `AppKernel`. As for emails that would otherwise be sent to recipients, these are caught in a mockup SMTP transport object which doesn't actually send any emails, but rather it stores a copy of the last email attempted which is made accessible to the testing facilities for verification. * Test the owner signature Include a placeholer for the signature in the email message to test that the owner's signature is used when the `useOwnerAsMailer` option is enabled. * Fix issue #11267 - Sending emails via API should respect useOwnerAsMailer Sending an email using the API endpoint `POST /emails/ID/contact/CONTACT_ID/send` does not respect the email option `useOwnerAsMailer`. The expected behaviour is for an email that would be sent by Mautic it should appear to be sent by the `owner` of the contact who is the recipient, i.e. for every sent email with the `useOwnerAsMailer` option enabled, the sender's name and sender's email should belong to the `owner'. This is a small bug where the owner is not provided in the contact information passed to the mail sender. Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: John Linhart <admin@escope.cz> * Use proper env variable processor for rememberme_lifetime. (#11363) * Add core lib readme and workflow to auto-close PRs (#11354) * Add GitHub workflow to close PRs on core-lib repo * create readme for core-lib folder * Update app/README.md Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: John Linhart <admin@escope.cz> * 4.4.1 release bump (#11367) * Bumping to version 4.4.1 * regerenating production assets with bin/console m:a:g Co-authored-by: Zdeno Kuzmany <zdeno@kuzmany.biz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> Co-authored-by: Norman Pracht - Webmecanik <npr@webmecanik.com> Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: Tejas Navghane <ts.navghane@gmail.com> Co-authored-by: Benjamin Lévêque <benjamin@leveque.me> Co-authored-by: Patryk Gruszka <patryk.gruszka@comarch.pl> Co-authored-by: Anna Munk <anna.munk@comarch.pl> Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: Artem Lopata <biozshock@gmail.com> Co-authored-by: abcpro1 <108011288+abcpro1@users.noreply.github.com>
* Fix for all foreign tables segment filter with empty/notEmpty expression (#11253) * Fix for tags empty/notEmpty segment filter * Add unit tests * Adding some tags to 2 contacts to check that !empty works and testing also empty, !empty with companies * CS fixes Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> * change lead to company trans key (#11300) Co-authored-by: John Linhart <admin@escope.cz> * Pending query optimization (#11260) * ensure the app folder is seen as the 4.3.x instead of a specific version (#11213) * align lock file with change from #11203 (#11218) * docs: add uzegonemad as a contributor for code (#11244) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add pety-dc as a contributor for code (#11246) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Added message_lead_channel_channel_id index * Email pending query optimized using independent sub-queries * message_lead_channel_channel_id index reverted as the optimized query no longer uses it * EmailRepositoryTest fixed * EmailRepositoryTest increased code coverage * Added EmailRepositoryFunctionalTest to further increase code coverage * Fixing param types * Fixing pending count when some contact was deleted * Namespace fix * EmailRepositoryTest queries updated * Adding new functional test for pending count if there is an email stat with lead_id = null * email ID can be variable * CS, STAN fixes * Removing method that did not belong to this PR and is not used * Exclude contacts that are within excluded lists * MAUT-6629: Updated email of type list to consider the category prefrence. * Table prefix is set after the datasets are loaded. So we have to replace in the test * Removing test that belongs to another PR * CS, STAN fixes * Using arrow functions * CS fix * Removing test from a future PR * Fixing tests * Removing part of a feature from another PR * Test fixes * CS fix * Running "composer update --lock" after wrong git rebase conflict resolution Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> * Check existing property (fixes #11299) (#11321) * Removed charLengthLimit. * Adding a functional test for a regression bug Co-authored-by: John Linhart <admin@escope.cz> * Fix user language preference over system language (#11119) * Fix user and system locale not applying on its updates * Fix failing test * Fix failing test * Fix code smell * Segment lookup_id field : use the data-action attribute if present (#11327) Co-authored-by: John Linhart <admin@escope.cz> * Fix report export to Excel with aggregated bool columns (#11298) * Fix report xls export with aggregated columns * PHPSTAN fix * Return types in ReportBundle test fixtures Co-authored-by: John Linhart <jan@linhart.email> * Use param type by declaration in ExcelExporter Co-authored-by: John Linhart <jan@linhart.email> Co-authored-by: John Linhart <admin@escope.cz> * Changes from PR#10782 rebuilded (#11319) * Fix No Data shown for Most hit email redirects dashboard widget (#11086) Co-authored-by: John Linhart <admin@escope.cz> * Add translations for new blocks (#11006) Co-authored-by: John Linhart <admin@escope.cz> * Fix special characters in form condition value (#11093) * Fix special characters in form condition value * Fix compare sanitize special chars vs plain from post for conditonal fields * Add unit tests Co-authored-by: John Linhart <admin@escope.cz> * Cancelling new campaign should not give 500 error. (#11348) Fixes #11181 Co-authored-by: John Linhart <admin@escope.cz> * doctrine-fix was removed but master branch now has PHP 8 support (#11353) * Check the type of the value before passing it into the strpos. (#11350) * Fix issue 11267 - Sending emails via API should respect useOwnerAsMailer (#11347) * if the mailer is owner use owner email as reply-to address (#11322) Co-authored-by: John Linhart <admin@escope.cz> * Tests for sending emails through Mautic's API Add test cases for the following couple of API endpoints: POST /emails/ID/send Send a segment email to linked segment(s). POST /emails/ID/contact/CONTACT_ID/send Send a predefined email to existing contact. Tests are made with mockup HTTP queries using the `request()` method of a symfony's `KernelBrowser` object whose implementation is delegated to Mautic's `AppKernel`. As for emails that would otherwise be sent to recipients, these are caught in a mockup SMTP transport object which doesn't actually send any emails, but rather it stores a copy of the last email attempted which is made accessible to the testing facilities for verification. * Test the owner signature Include a placeholer for the signature in the email message to test that the owner's signature is used when the `useOwnerAsMailer` option is enabled. * Fix issue #11267 - Sending emails via API should respect useOwnerAsMailer Sending an email using the API endpoint `POST /emails/ID/contact/CONTACT_ID/send` does not respect the email option `useOwnerAsMailer`. The expected behaviour is for an email that would be sent by Mautic it should appear to be sent by the `owner` of the contact who is the recipient, i.e. for every sent email with the `useOwnerAsMailer` option enabled, the sender's name and sender's email should belong to the `owner'. This is a small bug where the owner is not provided in the contact information passed to the mail sender. Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: John Linhart <admin@escope.cz> * Use proper env variable processor for rememberme_lifetime. (#11363) * Add core lib readme and workflow to auto-close PRs (#11354) * Add GitHub workflow to close PRs on core-lib repo * create readme for core-lib folder * Update app/README.md Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: John Linhart <admin@escope.cz> * 4.4.1 release bump (#11367) * Bumping to version 4.4.1 * regerenating production assets with bin/console m:a:g * Do not embed images before the email is really sent. (#11362) * Flip flipped locales. (#11364) * Hide tooltips on keydown and wait for a user to stop typing to create new tooltips. (#11383) * Skip embedding a tracking pixel. (#11390) * always create a new editor to make sure the correct one is used (#11376) * Implementing the RemoveUnusedPrivateMethodParameterRector Rector rule (#11232) * Implementing the RemoveUnusedPrivateMethodParameterRector Rector rule * CS fixes * Include <map><area/></map> into links tracking. (#11391) * Fixing "Deprecated in PHP 8.0: Required parameter $limit follows optional parameter $page." (#11394) * MAUT-5804 / Functional tests for segments * MAUT-5804 / Strict types * MAUT-5804 / Clean up after test * Improving type hints * Fixed return type hint * Namespace fix * Fixing key type * Updating accessing container as M4 has changed it * Fix property must not be accessed before initialization error * Fix gitpod for form submissions (#11409) * Update .gitpod.yml * Update .gitpod.yml * Update .gitpod.yml * Update deprecated command * chore: Set permissions for GitHub actions (#11295) Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> * Copy to CC or BCC should send an email even if TO field is empty. (#11405) * Copy to CC or BCC should send an email even if TO field is empty. * Do not move CC and BCC to TO when sending emails. * Show form validation errors if an integration is published or if the … (#10539) * Show form validation errors if an integration is published or if the authorize button was clicked which is expected to happen before publishing. * Show form validation errors if an integration is published or if the authorize button was clicked which is expected to happen before publishing. Co-authored-by: Alan Hartless (he/him) <alan@devkardia.com> * Avoid api cache clear (#11420) * Build route cache with API even if the API is disabled Otherwise users must clear cache after they enable it and it has no measureable performance advantage in Symfony 4.4 * Removing default config values for API otherwise we cannot test for the opposite values These values are also set in AbstractMauticTestCase and can be overwritten * Adding a new test for when the API is disabled * Revert "doctrine-fix was removed but master branch now has PHP 8 support" (#11373) see #10651 (comment) This reverts commit 2951ac4. * Fix MJML issues with Brienz template (#11356) * Add changed files * adding missed files * Remove commercial references * 4.4.2 bump (#11433) * Bumping to version 4.4.2 * bin/console m:a:g Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Co-authored-by: Zdeno Kuzmany <zdeno@kuzmany.biz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> Co-authored-by: Norman Pracht - Webmecanik <npr@webmecanik.com> Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: Tejas Navghane <ts.navghane@gmail.com> Co-authored-by: Benjamin Lévêque <benjamin@leveque.me> Co-authored-by: Patryk Gruszka <patryk.gruszka@comarch.pl> Co-authored-by: Anna Munk <anna.munk@comarch.pl> Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: Artem Lopata <biozshock@gmail.com> Co-authored-by: abcpro1 <108011288+abcpro1@users.noreply.github.com> Co-authored-by: Adrian Schimpf <bill@aivie.ch> Co-authored-by: Lukas Sykora <lukassykora@seznam.cz> Co-authored-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Co-authored-by: Alan Hartless (he/him) <alan@devkardia.com>
* Fix for all foreign tables segment filter with empty/notEmpty expression (mautic#11253) * Fix for tags empty/notEmpty segment filter * Add unit tests * Adding some tags to 2 contacts to check that !empty works and testing also empty, !empty with companies * CS fixes Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> * change lead to company trans key (mautic#11300) Co-authored-by: John Linhart <admin@escope.cz> * Pending query optimization (mautic#11260) * ensure the app folder is seen as the 4.3.x instead of a specific version (mautic#11213) * align lock file with change from mautic#11203 (mautic#11218) * docs: add uzegonemad as a contributor for code (mautic#11244) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add pety-dc as a contributor for code (mautic#11246) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Added message_lead_channel_channel_id index * Email pending query optimized using independent sub-queries * message_lead_channel_channel_id index reverted as the optimized query no longer uses it * EmailRepositoryTest fixed * EmailRepositoryTest increased code coverage * Added EmailRepositoryFunctionalTest to further increase code coverage * Fixing param types * Fixing pending count when some contact was deleted * Namespace fix * EmailRepositoryTest queries updated * Adding new functional test for pending count if there is an email stat with lead_id = null * email ID can be variable * CS, STAN fixes * Removing method that did not belong to this PR and is not used * Exclude contacts that are within excluded lists * MAUT-6629: Updated email of type list to consider the category prefrence. * Table prefix is set after the datasets are loaded. So we have to replace in the test * Removing test that belongs to another PR * CS, STAN fixes * Using arrow functions * CS fix * Removing test from a future PR * Fixing tests * Removing part of a feature from another PR * Test fixes * CS fix * Running "composer update --lock" after wrong git rebase conflict resolution Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> * Check existing property (fixes mautic#11299) (mautic#11321) * Removed charLengthLimit. * Adding a functional test for a regression bug Co-authored-by: John Linhart <admin@escope.cz> * Fix user language preference over system language (mautic#11119) * Fix user and system locale not applying on its updates * Fix failing test * Fix failing test * Fix code smell * Segment lookup_id field : use the data-action attribute if present (mautic#11327) Co-authored-by: John Linhart <admin@escope.cz> * Fix report export to Excel with aggregated bool columns (mautic#11298) * Fix report xls export with aggregated columns * PHPSTAN fix * Return types in ReportBundle test fixtures Co-authored-by: John Linhart <jan@linhart.email> * Use param type by declaration in ExcelExporter Co-authored-by: John Linhart <jan@linhart.email> Co-authored-by: John Linhart <admin@escope.cz> * Changes from PR#10782 rebuilded (mautic#11319) * Fix No Data shown for Most hit email redirects dashboard widget (mautic#11086) Co-authored-by: John Linhart <admin@escope.cz> * Add translations for new blocks (mautic#11006) Co-authored-by: John Linhart <admin@escope.cz> * Fix special characters in form condition value (mautic#11093) * Fix special characters in form condition value * Fix compare sanitize special chars vs plain from post for conditonal fields * Add unit tests Co-authored-by: John Linhart <admin@escope.cz> * Cancelling new campaign should not give 500 error. (mautic#11348) Fixes mautic#11181 Co-authored-by: John Linhart <admin@escope.cz> * doctrine-fix was removed but master branch now has PHP 8 support (mautic#11353) * Check the type of the value before passing it into the strpos. (mautic#11350) * Fix issue 11267 - Sending emails via API should respect useOwnerAsMailer (mautic#11347) * if the mailer is owner use owner email as reply-to address (mautic#11322) Co-authored-by: John Linhart <admin@escope.cz> * Tests for sending emails through Mautic's API Add test cases for the following couple of API endpoints: POST /emails/ID/send Send a segment email to linked segment(s). POST /emails/ID/contact/CONTACT_ID/send Send a predefined email to existing contact. Tests are made with mockup HTTP queries using the `request()` method of a symfony's `KernelBrowser` object whose implementation is delegated to Mautic's `AppKernel`. As for emails that would otherwise be sent to recipients, these are caught in a mockup SMTP transport object which doesn't actually send any emails, but rather it stores a copy of the last email attempted which is made accessible to the testing facilities for verification. * Test the owner signature Include a placeholer for the signature in the email message to test that the owner's signature is used when the `useOwnerAsMailer` option is enabled. * Fix issue mautic#11267 - Sending emails via API should respect useOwnerAsMailer Sending an email using the API endpoint `POST /emails/ID/contact/CONTACT_ID/send` does not respect the email option `useOwnerAsMailer`. The expected behaviour is for an email that would be sent by Mautic it should appear to be sent by the `owner` of the contact who is the recipient, i.e. for every sent email with the `useOwnerAsMailer` option enabled, the sender's name and sender's email should belong to the `owner'. This is a small bug where the owner is not provided in the contact information passed to the mail sender. Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: John Linhart <admin@escope.cz> * Use proper env variable processor for rememberme_lifetime. (mautic#11363) * Add core lib readme and workflow to auto-close PRs (mautic#11354) * Add GitHub workflow to close PRs on core-lib repo * create readme for core-lib folder * Update app/README.md Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: John Linhart <admin@escope.cz> * 4.4.1 release bump (mautic#11367) * Bumping to version 4.4.1 * regerenating production assets with bin/console m:a:g Co-authored-by: Zdeno Kuzmany <zdeno@kuzmany.biz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> Co-authored-by: Norman Pracht - Webmecanik <npr@webmecanik.com> Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: Tejas Navghane <ts.navghane@gmail.com> Co-authored-by: Benjamin Lévêque <benjamin@leveque.me> Co-authored-by: Patryk Gruszka <patryk.gruszka@comarch.pl> Co-authored-by: Anna Munk <anna.munk@comarch.pl> Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: Artem Lopata <biozshock@gmail.com> Co-authored-by: abcpro1 <108011288+abcpro1@users.noreply.github.com>
* Fix for all foreign tables segment filter with empty/notEmpty expression (mautic#11253) * Fix for tags empty/notEmpty segment filter * Add unit tests * Adding some tags to 2 contacts to check that !empty works and testing also empty, !empty with companies * CS fixes Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> * change lead to company trans key (mautic#11300) Co-authored-by: John Linhart <admin@escope.cz> * Pending query optimization (mautic#11260) * ensure the app folder is seen as the 4.3.x instead of a specific version (mautic#11213) * align lock file with change from mautic#11203 (mautic#11218) * docs: add uzegonemad as a contributor for code (mautic#11244) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add pety-dc as a contributor for code (mautic#11246) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Added message_lead_channel_channel_id index * Email pending query optimized using independent sub-queries * message_lead_channel_channel_id index reverted as the optimized query no longer uses it * EmailRepositoryTest fixed * EmailRepositoryTest increased code coverage * Added EmailRepositoryFunctionalTest to further increase code coverage * Fixing param types * Fixing pending count when some contact was deleted * Namespace fix * EmailRepositoryTest queries updated * Adding new functional test for pending count if there is an email stat with lead_id = null * email ID can be variable * CS, STAN fixes * Removing method that did not belong to this PR and is not used * Exclude contacts that are within excluded lists * MAUT-6629: Updated email of type list to consider the category prefrence. * Table prefix is set after the datasets are loaded. So we have to replace in the test * Removing test that belongs to another PR * CS, STAN fixes * Using arrow functions * CS fix * Removing test from a future PR * Fixing tests * Removing part of a feature from another PR * Test fixes * CS fix * Running "composer update --lock" after wrong git rebase conflict resolution Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> * Check existing property (fixes mautic#11299) (mautic#11321) * Removed charLengthLimit. * Adding a functional test for a regression bug Co-authored-by: John Linhart <admin@escope.cz> * Fix user language preference over system language (mautic#11119) * Fix user and system locale not applying on its updates * Fix failing test * Fix failing test * Fix code smell * Segment lookup_id field : use the data-action attribute if present (mautic#11327) Co-authored-by: John Linhart <admin@escope.cz> * Fix report export to Excel with aggregated bool columns (mautic#11298) * Fix report xls export with aggregated columns * PHPSTAN fix * Return types in ReportBundle test fixtures Co-authored-by: John Linhart <jan@linhart.email> * Use param type by declaration in ExcelExporter Co-authored-by: John Linhart <jan@linhart.email> Co-authored-by: John Linhart <admin@escope.cz> * Changes from PR#10782 rebuilded (mautic#11319) * Fix No Data shown for Most hit email redirects dashboard widget (mautic#11086) Co-authored-by: John Linhart <admin@escope.cz> * Add translations for new blocks (mautic#11006) Co-authored-by: John Linhart <admin@escope.cz> * Fix special characters in form condition value (mautic#11093) * Fix special characters in form condition value * Fix compare sanitize special chars vs plain from post for conditonal fields * Add unit tests Co-authored-by: John Linhart <admin@escope.cz> * Cancelling new campaign should not give 500 error. (mautic#11348) Fixes mautic#11181 Co-authored-by: John Linhart <admin@escope.cz> * doctrine-fix was removed but master branch now has PHP 8 support (mautic#11353) * Check the type of the value before passing it into the strpos. (mautic#11350) * Fix issue 11267 - Sending emails via API should respect useOwnerAsMailer (mautic#11347) * if the mailer is owner use owner email as reply-to address (mautic#11322) Co-authored-by: John Linhart <admin@escope.cz> * Tests for sending emails through Mautic's API Add test cases for the following couple of API endpoints: POST /emails/ID/send Send a segment email to linked segment(s). POST /emails/ID/contact/CONTACT_ID/send Send a predefined email to existing contact. Tests are made with mockup HTTP queries using the `request()` method of a symfony's `KernelBrowser` object whose implementation is delegated to Mautic's `AppKernel`. As for emails that would otherwise be sent to recipients, these are caught in a mockup SMTP transport object which doesn't actually send any emails, but rather it stores a copy of the last email attempted which is made accessible to the testing facilities for verification. * Test the owner signature Include a placeholer for the signature in the email message to test that the owner's signature is used when the `useOwnerAsMailer` option is enabled. * Fix issue mautic#11267 - Sending emails via API should respect useOwnerAsMailer Sending an email using the API endpoint `POST /emails/ID/contact/CONTACT_ID/send` does not respect the email option `useOwnerAsMailer`. The expected behaviour is for an email that would be sent by Mautic it should appear to be sent by the `owner` of the contact who is the recipient, i.e. for every sent email with the `useOwnerAsMailer` option enabled, the sender's name and sender's email should belong to the `owner'. This is a small bug where the owner is not provided in the contact information passed to the mail sender. Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: John Linhart <admin@escope.cz> * Use proper env variable processor for rememberme_lifetime. (mautic#11363) * Add core lib readme and workflow to auto-close PRs (mautic#11354) * Add GitHub workflow to close PRs on core-lib repo * create readme for core-lib folder * Update app/README.md Co-authored-by: John Linhart <admin@escope.cz> Co-authored-by: John Linhart <admin@escope.cz> * 4.4.1 release bump (mautic#11367) * Bumping to version 4.4.1 * regerenating production assets with bin/console m:a:g * Do not embed images before the email is really sent. (mautic#11362) * Flip flipped locales. (mautic#11364) * Hide tooltips on keydown and wait for a user to stop typing to create new tooltips. (mautic#11383) * Skip embedding a tracking pixel. (mautic#11390) * always create a new editor to make sure the correct one is used (mautic#11376) * Implementing the RemoveUnusedPrivateMethodParameterRector Rector rule (mautic#11232) * Implementing the RemoveUnusedPrivateMethodParameterRector Rector rule * CS fixes * Include <map><area/></map> into links tracking. (mautic#11391) * Fixing "Deprecated in PHP 8.0: Required parameter $limit follows optional parameter $page." (mautic#11394) * MAUT-5804 / Functional tests for segments * MAUT-5804 / Strict types * MAUT-5804 / Clean up after test * Improving type hints * Fixed return type hint * Namespace fix * Fixing key type * Updating accessing container as M4 has changed it * Fix property must not be accessed before initialization error * Fix gitpod for form submissions (mautic#11409) * Update .gitpod.yml * Update .gitpod.yml * Update .gitpod.yml * Update deprecated command * chore: Set permissions for GitHub actions (mautic#11295) Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> * Copy to CC or BCC should send an email even if TO field is empty. (mautic#11405) * Copy to CC or BCC should send an email even if TO field is empty. * Do not move CC and BCC to TO when sending emails. * Show form validation errors if an integration is published or if the … (mautic#10539) * Show form validation errors if an integration is published or if the authorize button was clicked which is expected to happen before publishing. * Show form validation errors if an integration is published or if the authorize button was clicked which is expected to happen before publishing. Co-authored-by: Alan Hartless (he/him) <alan@devkardia.com> * Avoid api cache clear (mautic#11420) * Build route cache with API even if the API is disabled Otherwise users must clear cache after they enable it and it has no measureable performance advantage in Symfony 4.4 * Removing default config values for API otherwise we cannot test for the opposite values These values are also set in AbstractMauticTestCase and can be overwritten * Adding a new test for when the API is disabled * Revert "doctrine-fix was removed but master branch now has PHP 8 support" (mautic#11373) see mautic#10651 (comment) This reverts commit 2951ac4. * Fix MJML issues with Brienz template (mautic#11356) * Add changed files * adding missed files * Remove commercial references * 4.4.2 bump (mautic#11433) * Bumping to version 4.4.2 * bin/console m:a:g Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Co-authored-by: Zdeno Kuzmany <zdeno@kuzmany.biz> Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com> Co-authored-by: Norman Pracht - Webmecanik <npr@webmecanik.com> Co-authored-by: mollux <mattias.michaux@dropsolid.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: fedys <miroslav.fedeles@gmail.com> Co-authored-by: Rahul Shinde <shinde.r.a@gmail.com> Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: Tejas Navghane <ts.navghane@gmail.com> Co-authored-by: Benjamin Lévêque <benjamin@leveque.me> Co-authored-by: Patryk Gruszka <patryk.gruszka@comarch.pl> Co-authored-by: Anna Munk <anna.munk@comarch.pl> Co-authored-by: Volha Pivavarchyk <volha@aivie.ch> Co-authored-by: Artem Lopata <biozshock@gmail.com> Co-authored-by: abcpro1 <108011288+abcpro1@users.noreply.github.com> Co-authored-by: Adrian Schimpf <bill@aivie.ch> Co-authored-by: Lukas Sykora <lukassykora@seznam.cz> Co-authored-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com> Co-authored-by: Alan Hartless (he/him) <alan@devkardia.com>
This pull request has been mentioned on Mautic Forums. There might be relevant details there: |
Description:
Looks like changes introduced by #10782 and mautic/grapesjs-preset-mautic#26 were overwritten with next GrapesJsBuilderBundle scripts build.
In the grapesjs-preset-mautic I added changes to dist files and removed copies, which are no longer udpated and used by other scripts - mautic/grapesjs-preset-mautic#30. Instead, the originals in the relevant subdirectories are used, e.g.
dist/dynamicContent.domcomponents.js - removed
dist/dynamicContent/dynamicContent.domcomponents.js - in use and updated by
npm run build
Steps to test this PR:
plugins\GrapesJsBuilderBundle\Assets\library\js\dist\builder.js
DC: ${dynamicContents.length} components found
(after building and minifying it may look likeDC: ${t.length} components found
). If nothing is found, the scripts with Dynamic Content for the MJML email are missing.