Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-08-17T20:41:38Zhttps://lab.civicrm.org/dev/core/-/issues/4174FormBuilder: Server-side validation doesn't work2023-08-17T20:41:38ZJonGoldFormBuilder: Server-side validation doesn't workI've observed two different patterns on the master branch, but never the correct behavior.
##### Scenario 1
Basic FormBuilder form with a required date field. Date field doesn't properly client-side validate (see #4173) so it's submitt...I've observed two different patterns on the master branch, but never the correct behavior.
##### Scenario 1
Basic FormBuilder form with a required date field. Date field doesn't properly client-side validate (see #4173) so it's submitted. Server-side validation returns a 500 error. An unhelpful alert appears.
![ezgif-4-056315fd6a](/uploads/4df88302dca79440b03442d0b232029d/ezgif-4-056315fd6a.gif)
##### Scenario 2
Upon submitting, server-side validation is completely ignored and the form is submitted. I believe this happens when you have a non-required File field on the page.
![ezgif-2-2830537d8b](/uploads/1a5828a70ea9cb3f8d8b822bf4cf110a/ezgif-2-2830537d8b.gif)
Here is FormBuilder markup for both scenarios:
[scenario1-markup](/uploads/fbf2de2fe118e7a07f1cbdf2bc746628/scenario1-markup)
[scenario2-markup](/uploads/5256369eb51727d02c1ffe670f3f1b46/scenario2-markup)https://lab.civicrm.org/dev/core/-/issues/4173FormBuilder: Client-side validation doesn't work on most field types2023-05-18T12:28:55ZJonGoldFormBuilder: Client-side validation doesn't work on most field typesOn the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required f...On the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required field" notification, similar to a text field.
Actual behavior:
Form submits. You get an unhelpful JS alert (I'll file on that separately).
Radio buttons, checkboxes fail. Text inputs and files don't. https://github.com/civicrm/civicrm-core/pull/25535/files purports to fix this for Select2 inputs.https://lab.civicrm.org/dev/core/-/issues/4172FormBuilder: silent failure if required fields not on form2023-03-13T07:41:58Zaydunsaidan.saunders@squiffle.ukFormBuilder: silent failure if required fields not on formOverview
----------------------------------------
FormBuilder does not show which fields are required to create an entity.
Reproduction steps
----------------------------------------
1. Create a new FormBuilder form
1. Add an activity
1...Overview
----------------------------------------
FormBuilder does not show which fields are required to create an entity.
Reproduction steps
----------------------------------------
1. Create a new FormBuilder form
1. Add an activity
1. Select the type as Meeting
1. Give the form a name, url and Save.
1. Go to the url just created
1. Enter firstname = test, lastname = test, activity subject = test, Submit
Current behaviour
----------------------------------------
The contact is created but the activity is not. Note there is no error message.
Expected behaviour
----------------------------------------
Run-time: Show an error if the activity cannot be created.
Form-save: warn if required fields have not been added to the form, so creation will fail.
Form-edit: indicate which fields are required by the API. Compare FB with API Explorer eg
FB:
![image](/uploads/a4a2cef38dfb59b21a38cb8149974f1f/image.png)
API Explorer:
![image](/uploads/b4b540f37f520c6da5a834f941a03cad/image.png)
Required fields are shown with red asterisk
Environment information
----------------------------------------
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
Comments
----------------------------------------
Note this is about fields required by the API, not fields marked as required on the form.https://lab.civicrm.org/dev/core/-/issues/4171FormBuilder: Create options to style radio buttons/checkboxes2023-03-13T07:41:35ZJonGoldFormBuilder: Create options to style radio buttons/checkboxesCurrently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for...Currently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for options.https://lab.civicrm.org/dev/core/-/issues/4170FormBuilder: Allow placing fields outside their entity fieldset2023-03-13T07:41:15ZJonGoldFormBuilder: Allow placing fields outside their entity fieldsetFrom today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field...From today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field's markup.
This would allow a UX-friendly way of freely ordering fields on a form without regard to the entity.https://lab.civicrm.org/dev/core/-/issues/4169Let "Number" and "Money"-type custom fields be nullable2023-03-13T07:39:11ZnoahLet "Number" and "Money"-type custom fields be nullableOverview
----------------------------------------
There are many times when NULL would be a meaningful/useful value in a custom field of type "Number" (float) or "Money" (decimal). However, it is not currently possible, via the form laye...Overview
----------------------------------------
There are many times when NULL would be a meaningful/useful value in a custom field of type "Number" (float) or "Money" (decimal). However, it is not currently possible, via the form layer, to set these fields to NULL. Blank values are currently turned into zero.
Example use-case
----------------------------------------
Let's say we need to track the elevation (meters above or below sea level) of the addresses in our database.
1. Create a custom field "Geographic Elevation" of type "Number", extending the Address entity. Leave the "Default value" blank.
1. Go to a contact and edit one of their addresses, or create a new one.
1. On the create/edit form, leave the "Geographic Elevation" field blank -- because let's say we don't know the elevation at this address.
1. Submit the form and view the saved value.
Current behaviour
----------------------------------------
"Geographic Elevation" is set to zero. That means sea level. But that's not correct -- we actually don't know the elevation.
Proposed behaviour
----------------------------------------
When the field submitted with a blank value (empty string), the database field should be set to NULL, and displayed as blank.
Comments
----------------------------------------
NULL is also a meaningful value for Money fields. Say we have a field on individuals called "Net Worth". Zero (the person is destitute) and NULL (we don't know how much money they have) are quite different.
It _is_ possible to set the field to NULL through the API, but only by passing the string 'null' (due to a PEAR DB limitation).
<details><summary>Show API example</summary>
````php
// NULL will be saved as 0
Civi\Api4\Address::update()
->addValue('Geography.Elevation', NULL)
->addWhere('id', '=', 27)
->execute();
$address = Civi\Api4\Address::get()
->addSelect('Geography.Elevation')
->addWhere('id', '=', 27)
->execute()->single();
// [
// 'id' => 27,
// 'Geography.Elevation' => 0,
// ]
// but 'null' will be saved as NULL
Civi\Api4\Address::update()
->addValue('Geography.Elevation', 'null')
->addWhere('id', '=', 27)
->execute();
$address = Civi\Api4\Address::get()
->addSelect('Geography.Elevation')
->addWhere('id', '=', 27)
->execute()->single();
// [
// 'id' => 27,
// 'Geography.Elevation' => null,
// ]
````
</details>https://lab.civicrm.org/dev/core/-/issues/4168Searchkit - Tags on saved Searches get lost on save2023-03-13T21:07:13ZdavidSearchkit - Tags on saved Searches get lost on saveOverview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search...Overview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search
4. goto searchkit saved searches. The created tag is there.
5. change something e.g. description of the search and save again
6. goto searchkit saved searches, the tag is missing
Expected behaviour
tags get not lost on save
Environment information
----------------------------------------
* __Browser:__ _Firefox 110
* __CiviCRM:__ all?, including 5.61.alpha1
* __CMS:__ https://dmaster.demo.civicrm.org/
Comments
----------------------------------------
old tags get also lost if a new tag is added in the searchhttps://lab.civicrm.org/dev/core/-/issues/4167Transferred to Link in View Event Registration for {participant} Goes to a Pr...2023-03-09T09:20:26ZLKuttnerTransferred to Link in View Event Registration for {participant} Goes to a Previous EventSteps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (...Steps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (Transferred to Megan Nedzinski)_
- The link takes you to the registration for the first event that the person was ever registered for.
- The link does not take you to the latest registration that was just transferred to that contact.
- This only happens in the View Event Registration for {participant} page.
- In the Edit Event Registration for {participant} page, clicking the equivalent link does take you to the correct event.
This is using CiviCRM 5.55.1 on Drupal 7. I just noticed this and don't know how long this behavior has been in effect.https://lab.civicrm.org/dev/core/-/issues/4166Import contribution fails if using soft-credit and a row has an empty field2023-03-16T21:31:38ZbgmImport contribution fails if using soft-credit and a row has an empty fieldTo reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to...To reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to select the Soft-Credit ID:
![image](/uploads/467e87e54fd398c5b9756c4acb368341/image.png)
Then run the import, it will be stuck like this:
![image](/uploads/33a5f7b713efdf7629a2e85ade6c3e73/image.png)
Fatal error:
```
Argument 2 passed to CRM_Import_Parser::getContactID() must be of the type int or null, string given, called in
CRM/Contribute/Import/Parser/Contribution.php on line 443 in CRM_Import_Parser->getContactID()
(line 2321 of CRM/Import/Parser.php).
```
I worked around it by adding an "if not empty" clause around that code:
```
$softCreditParams = [];
foreach ($params['SoftCreditContact'] ?? [] as $index => $softCreditContact) {
if (!empty($softCreditContact['Contact']['id'])) {
$softCreditParams[$index]['soft_credit_type_id'] = $softCreditContact['soft_credit_type_id'];
$softCreditParams[$index]['contact_id'] = $this->getContactID($softCreditContact['Contact'], $softCreditContact['Contact']['id'] ?? NULL, 'SoftCreditContact', $this->getDedupeRulesForEntity('SoftCreditContact'));
if (empty($softCreditParams[$index]['contact_id']) && in_array($this->getActionForEntity('SoftCreditContact'), ['update', 'select'])) {
throw new CRM_Core_Exception(ts('Soft Credit Contact not found'));
}
}
}
```
but this looks a bit fishy to me.5.59.3https://lab.civicrm.org/dev/core/-/issues/4165Basic Auth does not work when AuthX is activated2023-03-09T10:10:55ZMariaVBasic Auth does not work when AuthX is activatedI have found this issue and it seems that this problem occurred again: https://lab.civicrm.org/dev/core/-/issues/3416
It describes the current behavior: All CiviCRM pages error out with "401 Invalid Credential".
When AuthX disabled it w...I have found this issue and it seems that this problem occurred again: https://lab.civicrm.org/dev/core/-/issues/3416
It describes the current behavior: All CiviCRM pages error out with "401 Invalid Credential".
When AuthX disabled it works fine.
CiviCRM Version: 5.58.1 on Wordpress 6.1.1https://lab.civicrm.org/dev/core/-/issues/4164CiviMail send mails only to certain location type2023-03-13T11:54:35ZjmargrafCiviMail send mails only to certain location typeI have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is use...I have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is used by department A for the communication with the customer via mass mailing.
But department B wants to communicate with the customer via another email address via mass mailing.
Currently there seems to be no possibility to select which email address location type should be preferred for an specific mass mailing (of department A - while department B creates another mass mailing and wants to select their preferred location type for another mass mailing).
Possibilities in CiviCRM:
I can create different location types for the different purposes.
I can add email addresses with the corresponding location type.
I can select one email address as the primary email address.
I can select one email address for mass mailing.
Problem:
But I can not select different email addresses for different mass mailings
Possible Workaround:
I could keep the two contacts as duplicates in the system. But the customer still still want to have an overall overview over their communication with this contact - so simply having duplicates is not an attractive option.
Feature Request:
What I would need is the feature of selecting the preferred location type to be used for a specific mailing.
If the contact has no email address of this communication type the fallback option could be the primary / bulk-e-mail-address
What effort would it take to create such a feature? I guess it would make most sense to implement it into the civicrm core - do you aggree?https://lab.civicrm.org/dev/core/-/issues/4163FormBuildeR: Can't set participant status type2023-03-07T18:51:22ZJonGoldFormBuildeR: Can't set participant status typeSee screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1...See screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1801.png)
I've seen other "Loading failed" errors handled like in https://github.com/civicrm/civicrm-core/pull/25598 but I suspect we might actually want to create the API here?https://lab.civicrm.org/dev/joomla/-/issues/48CiviCRM profiles don't produce working webpages2023-05-15T18:56:34ZSOAPCiviCRM profiles don't produce working webpagesAfter upgrading my site to Joomla 4 all CiviCRM pages that are based on a CiviCRM profile refuse to display their content. Under Joomla 3 a page would render into a URL like website.org/name/user-directory. Under Joomla 4 the same page r...After upgrading my site to Joomla 4 all CiviCRM pages that are based on a CiviCRM profile refuse to display their content. Under Joomla 3 a page would render into a URL like website.org/name/user-directory. Under Joomla 4 the same page renders into the URL website.org/organisation/user-directory?view=Profiles&layout=search&task=civicrm/profile&gid=22&reset=1
Because the website (with its 100s of pages) uses mod_rewrite to remove the 'index.php' it also removes the index.php from the Joomla 4 CiviCRM URL. Adding the index.php manually to the URL in the browser does produce the information of the profile. It seems to me that under Joomla 3 that CiviCRM was working under an alias while under CiviCRM a long version of the URL is pushed to the browser that is messed up by the mod_rewrite. Anyway, in the current form I can't upgrade.
I include a screenshot of the type of menu where this issue occurs.
![Screenshot_2023-03-04_at_18.16.37](/uploads/461075cda2c4581d4abe42efc62cd622/Screenshot_2023-03-04_at_18.16.37.jpg)https://lab.civicrm.org/dev/core/-/issues/4162Up/down arrow on pager on a contact's Events tab doesn't do the right thing.2023-03-07T07:27:22ZDaveDUp/down arrow on pager on a contact's Events tab doesn't do the right thing.1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the defau...1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the default pager size at search settings it seems hardcoded to 50.
1. Visit the contact's events tab.
1. Click the up arrow on the pager page control.
1. It takes you to a new register participant form instead of the next page.
The next/last links work ok.
What's interesting is that the url in the network tab seems correct, and if you visit it standalone it does seem to run the event search form correctly. So I suspect something about the context is getting lost in the session. The relevant code might be in CRM_Event_Page_Tab.https://lab.civicrm.org/dev/joomla/-/issues/47Joomla upgrade process doesn't respect having different CiviCRM and Joomla da...2023-04-12T12:37:26Zchrisgaraffachris@aghstrategies.comJoomla upgrade process doesn't respect having different CiviCRM and Joomla databasesIf CiviCRM is using a different database than Joomla (CIVICRM_UF_DSN and CIVICRM_DSN are not the same), the Joomla upgrade process writes the new civicrm.settings.php files with both set to
This causes some chaos when the upgrade is "d...If CiviCRM is using a different database than Joomla (CIVICRM_UF_DSN and CIVICRM_DSN are not the same), the Joomla upgrade process writes the new civicrm.settings.php files with both set to
This causes some chaos when the upgrade is "done" as both settings files need to be updated quickly, and Civi unnecessarily creates all its tables again in the Joomla database.
A possible fix would be to have [civicrm_config](https://github.com/civicrm/civicrm-joomla/blob/28596149e1afe37d44d90e82809adfee7feb45c8/admin/configure.php#L230) get passed CIVCIRM_UF_DSN from [civicrm_source](https://github.com/civicrm/civicrm-joomla/blob/28596149e1afe37d44d90e82809adfee7feb45c8/admin/configure.php#L180) and parse it, using those values for `dbUser`, `dbPass`, `dbHost`, `dbName` instead of the `$jConfig` values. The function already gets passed site, credential & sign keys.
I haven't worked on a PR but will probably have time in the next week or two if there's interest.https://lab.civicrm.org/dev/core/-/issues/4161Regression: Visiting contribution page while logged in and CiviMember is disa...2023-03-07T05:54:51ZJonGoldRegression: Visiting contribution page while logged in and CiviMember is disabled causes a fatal error.Overview
----------------------------------------
This one is my fault. PR is https://github.com/civicrm/civicrm-core/pull/25729.
Reproduction steps
----------------------------------------
1. Disable CiviMember.
1. Visit a contributio...Overview
----------------------------------------
This one is my fault. PR is https://github.com/civicrm/civicrm-core/pull/25729.
Reproduction steps
----------------------------------------
1. Disable CiviMember.
1. Visit a contribution page whilel logged in.
Current behaviour
----------------------------------------
```
Civi\API\Exception\NotImplementedException: Membership API is not available because CiviMember component is disabled in /home/jon/local/mysite/web/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/AbstractAction.php on line 454
```
Expected behaviour
----------------------------------------
No fatal error.
Comments
----------------------------------------
I replaced code that used the BAO to look up membership info with a call to a shared function that uses API4. However, API4 will throw an error if you access a disabled entity.5.59.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4160Convert html special chars to their ascii equivalent in ical file generation2023-03-07T07:26:05ZyashodhaConvert html special chars to their ascii equivalent in ical file generationWhen an event is set to public, the event registration receipt includes a link to download a .ics (ical) file of the event.
This ICS file is generated on the fly, and adds the description of the event to the description field in the .ics...When an event is set to public, the event registration receipt includes a link to download a .ics (ical) file of the event.
This ICS file is generated on the fly, and adds the description of the event to the description field in the .ics. All html tags are stripped from the text, however special chars that have been converted to their html code are not converted back to ASCII in the .ics.
We need to update the generation of the .ics file to include the conversion of html char code back to ASCII equivalent.
e.g.
- è ; > è
- " ; > "
- Â ; > Â
-   ; > [space]
(put the space before ; so that one can see the char code)
etc...yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4159CiviBuild with Redis crashes when `Redis` has list of extensions cached & `ci...2023-03-07T07:25:36ZeileenCiviBuild with Redis crashes when `Redis` has list of extensions cached & `civibuild create` calledJust noting down the suggested fix
suppose that cv core:install generates civicrm.settings.php and includes a constant:
define('CIVICRM_DEPLOY_ID', 'SoMe_RaNdOM_1234')
the CIVICRM_DEPLOY_ID would be reset each time you reinstall. it co...Just noting down the suggested fix
suppose that cv core:install generates civicrm.settings.php and includes a constant:
define('CIVICRM_DEPLOY_ID', 'SoMe_RaNdOM_1234')
the CIVICRM_DEPLOY_ID would be reset each time you reinstall. it could be included as part of the prefix/key for memcache/redis and php-cache-files
s.t. if you do a civibuild reinstall, any cache derived from CIVICRM_DEPLOY_ID is guaranteed to be resethttps://lab.civicrm.org/dev/core/-/issues/4158New PaypalPro Recurring Payments (PPRP) creating duplicate contributions and ...2023-03-11T01:16:48ZStoobNew PaypalPro Recurring Payments (PPRP) creating duplicate contributions and inaccurate statusPaypal Recurring Payments Pro (aka PPRP) seems to be having an issue introduced somewhere between 5.49 and 5.57. 5.58 hasn't fixed it.
The issue has two incorrect behaviors:
1. creates duplicate Contributions (both status Completed) ...Paypal Recurring Payments Pro (aka PPRP) seems to be having an issue introduced somewhere between 5.49 and 5.57. 5.58 hasn't fixed it.
The issue has two incorrect behaviors:
1. creates duplicate Contributions (both status Completed) and sends two email receipts when the Recurring Plan (In Progress) is created successfully. One Contribution contains the Invoice ID and the other contains the Transaction ID. On the Paypal side there is only one payment and only one recurring plan.
2. if the credit card fails, the recurring plan and a _single_ Contribution are created in Civi with incorrect status. The Contribution has an Invoice ID but no Transaction ID. The recurring plan exists at Paypal but isn't active at Paypal. No transaction exists at Paypal.
@JonGold because we have talked about other Paypal Pro issues recently I'm looping you in
@eileen because of https://github.com/civicrm/civicrm-core/commit/ba2fb5afa3aa403467ae4934731684cc51bc830d I'm asking you please if your commit may be related
We have done the following testing
- identified that Paypal Standard doesn't have the same problem
- removed custom php code, tpl, and extensions that might have been interfering
Because of the sensitive nature of the donor data I haven't posted any screenshots, but we have several examples to show privately to those interested in helping fix. Bounty and/or consulting $ are available for discussion.5.59.2https://lab.civicrm.org/dev/core/-/issues/4157Mailpoet plugin conflict with Html2Text breaks reports and emails2023-03-23T16:27:08ZniamhMailpoet plugin conflict with Html2Text breaks reports and emailsOverview
----------------------------------------
After upgrading to 5.54.1 back in November (and several subsequent upgrades), a conflict with MailPoet plugin is causing the error below to occur when receipt emails are being sent result...Overview
----------------------------------------
After upgrading to 5.54.1 back in November (and several subsequent upgrades), a conflict with MailPoet plugin is causing the error below to occur when receipt emails are being sent resulting in failure to send. It is also affecting the running of any report if any filter is enabled on report.
__Error thrown__
__Call to undefined method Html2Text\Html2Text::getText()__
See stack exchange:
https://civicrm.stackexchange.com/questions/42921/reports-failing-after-upgrade-whenany-filter-enabled
and
https://civicrm.stackexchange.com/questions/43502/civicrm-mailpoet-plugin-conflict-with-html2text
Reproduction steps
----------------------------------------
Disable MailPoet plugin and all works perfectly. With plugin enabled, error as above in the situations noted. Manual email receipts also failing when MailPoet enabled.
Current behaviour
----------------------------------------
We can fix this temporarily by replacing the MailPoet version of html2text with the CiviCRM version, but this is overwritten every time MailPoet is upgraded.
Expected behaviour
----------------------------------------
There was no compatibility issue for the last 7 years between MailPoet and CiviCRM re this issue.
Environment information
----------------------------------------
* __CiviCRM:__ From 5.54.1 onwards (currently 5.55.0) but we hadn't upgraded in some time so unclear when bug was introduced.
* __PHP:__ 7.4 & also 8.1
* __CMS:__ Wordpress 6.1.1
* __MailPoet:__ 4.6.2 and earlier
Comments
----------------------------------------
Happy to open ticket with MailPoet if necessary.