Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-08-23T05:03:20Zhttps://lab.civicrm.org/dev/core/-/issues/1746Updating option value, doesn't update custom data for single select custom fi...2023-08-23T05:03:20ZMonish DebUpdating option value, doesn't update custom data for single select custom fields
Reproduction steps
----------------------------------------
1. Go to CiviCRM >> Administer >> Customize Data and Screens >> Go to any single select custom field (html type - Select/Radio). **.
1. Click on 'Edit Multiple Choice Options' ...
Reproduction steps
----------------------------------------
1. Go to CiviCRM >> Administer >> Customize Data and Screens >> Go to any single select custom field (html type - Select/Radio). **.
1. Click on 'Edit Multiple Choice Options' and change the value.
1. Go to view page of the CiviCRM component and check if the custom field value is changed or not
Current behavior
----------------------------------------
I have used 'How long have you been a donor?' custom field for Contribtuion to present this demo. At the end you will find that value doesn't get updated on the contribution.
![before](/uploads/83e58ff3636c6737f1ac1b9b0fc08edd/before.gif)
Expected behaviour
----------------------------------------
It should update the custom data too. This is not an issue for mult-select custom fields.
Environment information
----------------------------------------
* __CiviCRM:__ _Master5.25.0Monish DebMonish Debhttps://lab.civicrm.org/dev/wordpress/-/issues/49CiviCRM front end pages broken on WP Latest (master)2021-07-30T16:20:09ZkcristianoCiviCRM front end pages broken on WP Latest (master)WordPress just committed bug fixes `redirect_canonical()` in their master branch. The history is as follows:
Original redirect_canonical issues and patches :
[ticket 11694](https://core.trac.wordpress.org/ticket/11694)
[svn 34492](...WordPress just committed bug fixes `redirect_canonical()` in their master branch. The history is as follows:
Original redirect_canonical issues and patches :
[ticket 11694](https://core.trac.wordpress.org/ticket/11694)
[svn 34492](https://core.trac.wordpress.org/changeset/34492)
2020 redirect_canonical issues :
[ticket 45337](https://core.trac.wordpress.org/ticket/45337)
[ticket 40773](https://core.trac.wordpress.org/ticket/40773)
[ticket 28081](https://core.trac.wordpress.org/ticket/28081)
2020 redirect_canonical svn patches:
[svn 47727](https://core.trac.wordpress.org/changeset/47727)
[svn 47760](https://core.trac.wordpress.org/changeset/47760)
[svn 47761](https://core.trac.wordpress.org/changeset/47761)
[svn 47759](https://core.trac.wordpress.org/changeset/47759)
2020 redirect_canonical Git patches:
[47727](https://github.com/WordPress/wordpress-develop/commit/af596bcc5b37b259982b3e7af4a8c5ab41b8e27e)
[47760](https://github.com/WordPress/wordpress-develop/commit/de14ea86bfe7b34cf99276ae356da43cec088c5c)
[47761](https://github.com/WordPress/wordpress-develop/commit/0206900cfff1b44af94f33f95510b18a77f5dd60)
[47759](https://github.com/WordPress/wordpress-develop/commit/54c8470bd625c843a00f1ecca328c22d279b9632)
[changelog for canonical.php](https://github.com/WordPress/WordPress/commits/master/wp-includes/canonical.php)
These WP changes are correct, the root of the issue is that CiviCRM used `page=CiviCRM` was used on the front end. It should only have been used on the back end. We've gotten away with this for 8 years, it's now time to fix.
The issue is that `canonical_redirect()` now properly strips `page=CiviCRM` from front end pages.
https://wplatest.tadpole.cc is an example site running master of both WP and CiviCRM. CiviCRM pages built with shortcode pages load, but if you take action - try and contribute, submit a profile, click on a link to register on an event info page - 404.
Pages that are linbked to directly - cleanurls or ugly urls, 404.
We need to remove `page=CiviCRM` from the front end pages.
We need to do this before WP updates and we need to backport to ESR as this will break all WP CiviCRM sites.
There is no way understate that if we do dont fix ALL WP Sites will break on update. And if WP does this as aminor release that gets pushed out via auto-update :boom: :bomb:5.26.0https://lab.civicrm.org/dev/core/-/issues/1744(Code style) To const, or not const - that is the event2022-06-06T20:24:33Ztotten(Code style) To const, or not const - that is the eventOverview
----------------------------------------
When dealing with internal events (e.g. `civi.api.authorize` or `civi.dao.preDelete`), there are two idioms in the codebase -- one based on string-literals, and one based on constants. T...Overview
----------------------------------------
When dealing with internal events (e.g. `civi.api.authorize` or `civi.dao.preDelete`), there are two idioms in the codebase -- one based on string-literals, and one based on constants. This issue suggests standardizing on the string literals.
Example use-case
----------------------------------------
```php
// Using string literals
Civi::dispatcher()->addListener('civi.token.list', $callback);
Civi::dispatcher()->dispatch('civi.token.list', $event);
// Using constants
Civi::dispatcher()->addListener(Civi\Token\Events::TOKEN_REGISTER, $callback);
Civi::dispatcher()->dispatch(Civi\Token\Events::TOKEN_REGISTER, $event);
```
Current behaviour
----------------------------------------
Both formulations appear several times in `civicrm-core`.
Proposed behaviour
----------------------------------------
Convert the constants to string-literals. Mark the constants as deprecated.
Comments
----------------------------------------
TLDR: Less is more. The string-literals are simpler and more consistent. The constants are a formality which don't add anything.
My main problem with having the two idioms is that it makes it harder to grep/analyze. Suppose you have the question, "How is event `X` used?" Answering this question requires that you search on both the literal name and the constant name. Additionally, it makes it harder to learn -- e.g. you may find that documentation and examples are inconsistent in the formulation, prompting the newcomer to ask: "Why are these different?"
Of course, the "two idioms" could be resolved either way -- standardize on string-literals or on constants. IMHO, the two approaches are about equal wrt grepping/analysis - trading some marginal differences. Some IDEs support PHP-sensitive "Find Usages" (which works better with constants); but if you don't have that, then searching the codebase for the constant is more quirky (e.g. `::EVENT_NAME` is not distinctive; e.g. class-names can be aliased). The string-literals are not quite as slick as IDE "Find Usages", but they are more distinctive, and they're searchable in any tool.
So that parts a draw... why are string-literals better?
* At a systemic level, the constants require superfluous class-loading. Consider something like `Civi\Core\Container:;createEventDispatcher()` which runs on every page-request and which currently registers (ballpark) ~30 listeners. *Most of those listeners won't be used in a typical page-request, but you'd have to the load the classes just to resolve the constants during initialization.* As you grow more committed to loose-coupling/modularization (e.g. dispatching and subscribing to events in more situations), the superfluous loads grow worse.
* The constant is an extra layer/add-on. We've already been lax about using them `civicrm-core`. You can hardly expect third-party extensions to follow the convention it. (On the flip-side, if the constants don't exist, then everyone will just use string-literals by default.)
* The constants are usually longer+messier to type than the underlying string (`Civi\Token\Events::TOKEN_REGISTER` vs `civi.token.register`).
* The string-literals are usable in lots of places where the constants wouldn't be, e.g.
* In `services.xml` or `services.yml` files
* In dev tools like `cv debug:event-dispatcher`
* When setting breakpoints and inspecting runtime data
* In soft/optional integrations. (Ex: Suppose CiviVolunteer bundles enhancements for CiviRules, but it doesn't actually *require* CiviRules. Thus, the CiviVolunteer would have references to some CiviRules events, but the CiviRules classes and constants may not actually be valid in a particular deployment.)
Are there reasons to prefer constants over string-literals? Theoretically... with constants, you can change the value! That has some utility for, eg, `CHECK_USERNAME_TTL` - where the constant's value is a bit arbitrary and its impact/usage is isolated. IMHO, this does not apply to event-names. Event-names are *part of the contract* between different pieces of code. You should only change the name to signify a semantic break in the contract - and if you're doing that, then you need to reconsider/update the listeners anyway. The only changes facilitated by the constant are silly typographical changes. (But even that's a wash - perhaps it's easier to twiddle the content of the string, but you've added a new symbol which may also need twiddling - and it's just as hard to twiddle that one.)5.26.0https://lab.civicrm.org/dev/core/-/issues/1743Apostrophes in richtext fields don't get exported properly in CiviReport2020-05-10T20:08:17ZDaveDApostrophes in richtext fields don't get exported properly in CiviReportI couldn't find an existing issue but I did find some internal notes from 6 years ago and a quickie-patch I made on a site back then. I've confirmed it's still an issue on dmaster.demo:
1. Create e.g. an activity and put a word with an ...I couldn't find an existing issue but I did find some internal notes from 6 years ago and a quickie-patch I made on a site back then. I've confirmed it's still an issue on dmaster.demo:
1. Create e.g. an activity and put a word with an apostrophe in the details field. Make sure your grammar is correct and it's not a misplaced apostrophe or I will bug you about it.
2. Run the activity details civireport and on the columns tab include activity details, and in the filters pick something that will include the activity you created.
3. From the actions dropdown choose export to csv.
4. The csv will contain `'` instead of an apostrophe.
The quickie-fix I had made was to change this line: https://github.com/civicrm/civicrm-core/blob/5.24.6/CRM/Report/Utils/Report.php#L257 from
`$value = str_replace('"', '""', html_entity_decode(strip_tags($value)));`
to
`$value = str_replace('"', '""', html_entity_decode(strip_tags($value), ENT_QUOTES | ENT_HTML401));`
While that might still fix it even 6 years later, it also seems like this shouldn't be a hand-rolled thing in 2020. So TBD.5.27.0https://lab.civicrm.org/dev/core/-/issues/1742UF Settings page doesn't show CiviCRM database details for Drupal 8 Views2020-05-05T23:47:08ZhomotechsualUF Settings page doesn't show CiviCRM database details for Drupal 8 ViewsOn D7 we show the database tables settings for CiviCRM to add to the Drupal settings.php file. On D8 we don't show that information - but we should because it's still relevant/required.
https://github.com/civicrm/civicrm-core/blob/b2e10...On D7 we show the database tables settings for CiviCRM to add to the Drupal settings.php file. On D8 we don't show that information - but we should because it's still relevant/required.
https://github.com/civicrm/civicrm-core/blob/b2e10b3fc33ad2cb217b72d893b63f56d73c833b/CRM/Admin/Form/Setting/UF.php#L59
https://docs.civicrm.org/sysadmin/en/latest/integration/drupal/views/#other-things-views-and-civicrm-can-do
https://chat.civicrm.org/civicrm/pl/ogh1cpb9giy5jjteapo994x81r5.26.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/1740Cumulative contributions not being calculated with the correct criteria2020-05-05T23:28:45ZyashodhaCumulative contributions not being calculated with the correct criteriaThis is a regression in CiviCRM. I have confirmed the same in dmaster.
Steps to replicate:
====================
* Go to Contributions > Online Contribution Pages > Contributions > Cumulative
* Check the criteria for Date Receipt, it do...This is a regression in CiviCRM. I have confirmed the same in dmaster.
Steps to replicate:
====================
* Go to Contributions > Online Contribution Pages > Contributions > Cumulative
* Check the criteria for Date Receipt, it doesn't account for **end of** today's date but the start of today and all the contributions done today will NOT be listed.
*Issue with master*
Criteria
Date Received - less than or equal to "May 1st, 2020 **12:00 AM** " ...AND.
![dmaster](/uploads/5441660b74e3a05abe19ae245324a88a/dmaster.png)
*Before*
Contribution Date - less than or equal to "May 1st, 2020 **11:59 PM** " .
![demo](/uploads/434f94696dbc3049c9425085abe1c3c0/demo.png)
The parameter receive_date_high=20200501 has to translate to <= date 11:59 PM and will throw off all the other parameter forced searches as well.
In cumulative search link, do we even need to pass parameters for the date?5.25.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/1739Longitude not checked out of box2020-05-15T06:35:01ZandyburnsLongitude not checked out of boxOut of the box under Address Settings, Latitude is checked but not Longitude. Either both should be checked or neither at all. The former I would suggest.
![Capture](/uploads/f65765b2e4ab9ff01b70b0081da84958/Capture.PNG)
Ref: https://c...Out of the box under Address Settings, Latitude is checked but not Longitude. Either both should be checked or neither at all. The former I would suggest.
![Capture](/uploads/f65765b2e4ab9ff01b70b0081da84958/Capture.PNG)
Ref: https://civicrm.stackexchange.com/questions/27149/contact-import-longitude-missing-in-mapping5.27.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/1738Incorrect loading of default tab on Contribution Page2020-04-30T22:58:29ZjitendraIncorrect loading of default tab on Contribution PageTo replicate - click https://dmaster.demo.civicrm.org/civicrm/admin/contribute?reset=1 -> select Configure > Membership Settings should navigate to the Membership tab directly but instead is navigated to the first tab of the page(Setting...To replicate - click https://dmaster.demo.civicrm.org/civicrm/admin/contribute?reset=1 -> select Configure > Membership Settings should navigate to the Membership tab directly but instead is navigated to the first tab of the page(Settings).
Caused by changes made in https://github.com/civicrm/civicrm-core/pull/17066.5.26.0https://lab.civicrm.org/dev/drupal/-/issues/119Exception handling - 'Allowed memory size' exhasted issues2020-10-05T22:47:08ZRob_SException handling - 'Allowed memory size' exhasted issuesI'm having issues with Exception handling. I've hit a few places, where rather than getting provided with a useful error message, I am getting WSOD and then in the Apache error logs I am seeing "PHP Fatal error: Allowed memory size of x...I'm having issues with Exception handling. I've hit a few places, where rather than getting provided with a useful error message, I am getting WSOD and then in the Apache error logs I am seeing "PHP Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in Unknown on line 0".
"Unknown on line 0" isn't very helpful. One instance where I am getting this is if I want to view a contribution page, that has "Allow individuals to contribute and / or signup for membership on behalf of an organisation?" selected, but the user does not have the 'CiviCRM: profile create' permission.
It's taken me a while to narrow down the problem following a debug_backtrace() in templates/CRM/Contribute/Form/Contribution/Main.tpl.
I've tracked it as far as CRM_Core_Exception. The constructor method here is working ok, but there is another method, getErrorData() which is somehow getting called, but I cannot figure out where from. It seems to me that there must be some kind of infinite loop thing going on with one Exception class calling another. CRM_Core_Exception extends PEAR_Exception which extends Exception.
I have at least three other instances of WSOD on the site, with the same uninformative 'Allowed memory size ..' errors in the Apache log, but I haven't got as far as tracking them down to see if it is the same thing yet.
Is anyone else having problems like this? Would appreciate any thoughts.5.31.0https://lab.civicrm.org/dev/core/-/issues/1731Unable to import relationship2020-05-26T21:15:20ZjitendraUnable to import relationshipThis is when eg an empty phone type column is before another phone type column with filled value.
To replicate -
I see this error with a simple csv having the below columns in a row -
![image](/uploads/6d624b70e5e91968e9de1a6bbfada10...This is when eg an empty phone type column is before another phone type column with filled value.
To replicate -
I see this error with a simple csv having the below columns in a row -
![image](/uploads/6d624b70e5e91968e9de1a6bbfada100/image.png)
Where "Spouse of-Home-Phone-Phone" is the related info and should be assigned to the spouse relationship -> phone with type = "Phone".
and "Spouse of-Home-Phone-Mobile" is the value of type "mobile".
Make sure the empty column of phone type is before the one which is filled.
- Visit the import screen => and try importing with the following mapping -
![image](/uploads/1a1c67b69f668c67d6a480a23110996e/image.png)
- Hit continue and notice the error on the next screen.
![image](/uploads/0dd0b977e929b3500029ef8916072b6b/image.png)5.27.0https://lab.civicrm.org/dev/core/-/issues/1729CiviReport "Source Name" filter is broken / has no impact on report results2020-04-30T22:59:59ZmarshCiviReport "Source Name" filter is broken / has no impact on report resultsOverview
----------------------------------------
Setting the "Source Name" filter on a report has no effect on the results
Reproduction steps
----------------------------------------
1. open [Activity Details report](https://dmaster.de...Overview
----------------------------------------
Setting the "Source Name" filter on a report has no effect on the results
Reproduction steps
----------------------------------------
1. open [Activity Details report](https://dmaster.demo.civicrm.org/civicrm/report/instance/3?reset=1&output=criteria).
1. go to **filters** (tab)
1. **Source Name** : Contains : [any text]
1. Preview results
Current behaviour
----------------------------------------
- notice 80 results
- **results do not change** when changing the 'source name' filter
- no errors
Expected behaviour
----------------------------------------
- report results get filtered, so different filter values give different results
Environment information
----------------------------------------
testing and workflow was on https://dmaster.demo.civicrm.org/
Comments
----------------------------------------
This looks like a regression, and could be from:
- https://github.com/civicrm/civicrm-core/pull/16672
- https://lab.civicrm.org/dev/core/issues/1627
(thanks to Pradeep Nayak for investigations)5.24.6https://lab.civicrm.org/dev/core/-/issues/1728Custom fields disappear on page refresh2021-05-17T21:40:15ZEdselopezCustom fields disappear on page refreshOverview
----------------------------------------
Custom fields go missing after form validation or on edit.
Reproduction steps
----------------------------------------
1. Create a custom group for a component, say Contributions and ext...Overview
----------------------------------------
Custom fields go missing after form validation or on edit.
Reproduction steps
----------------------------------------
1. Create a custom group for a component, say Contributions and extend it to a particular financial type.
2. Add custom fields and set them to be required.
3. Create a contribution and select the financial type which the custom field extends. The fields appear appropriately.
4. Proceed to try to save the contribution triggering the formRule. The fields show an error, but they are no longer visible.
Comments: I could replicate this for contribution > financial type based custom fields, but it might be happening on all custom fields which extend a type for the component.5.27.0seamusleeseamusleehttps://lab.civicrm.org/dev/user-interface/-/issues/19Misplaced text in the Additional Details section on New Contribution2020-04-21T20:07:09ZDaveDMisplaced text in the Additional Details section on New ContributionAt the moment my guess is a field was removed but a malformed description row is still there. Will take a closer look.
![screenshot](/uploads/09a91f658435ea1047f4a877b9271d9e/screenshot.gif)At the moment my guess is a field was removed but a malformed description row is still there. Will take a closer look.
![screenshot](/uploads/09a91f658435ea1047f4a877b9271d9e/screenshot.gif)5.26.0https://lab.civicrm.org/dev/core/-/issues/1724Changes to CiviContribute Component Settings not saved2020-05-15T23:43:31ZkcristianoChanges to CiviContribute Component Settings not savedAs reported in [Mattermost](https://chat.civicrm.org/civicrm/pl/iy3p1aqambfadymorr5ean7e3w)
```
Anyone have any idea why the CiviContribute Component Settings page would not be updating values on save? Everything up to the “Enabled Defe...As reported in [Mattermost](https://chat.civicrm.org/civicrm/pl/iy3p1aqambfadymorr5ean7e3w)
```
Anyone have any idea why the CiviContribute Component Settings page would not be updating values on save? Everything up to the “Enabled Deferred Revenue” field saves fine, but nothing below it (although Civi reports “Your changes have been saved”. Civi v5.24.3 running on WordPress).
```
Reproduced on 5.25 RC and master in WP and Drupal 7.5.24.6https://lab.civicrm.org/dev/core/-/issues/1723Reciprocal relationship search with custom fields leads to an error on Advanc...2020-04-23T02:52:05ZjitendraReciprocal relationship search with custom fields leads to an error on Advanced searchTo replicate -
- Create a custom field extending relationships. Searchable = yes.
- Open Advanced search
- Select any reciprocal relationship eg spouse of, sibling, partner, etc
- Enter value for the custom field.
- Hit Search.
![image...To replicate -
- Create a custom field extending relationships. Searchable = yes.
- Open Advanced search
- Select any reciprocal relationship eg spouse of, sibling, partner, etc
- Enter value for the custom field.
- Hit Search.
![image](/uploads/57290e079190ceb39e47eebe5a3331e6/image.png)
possibly due to https://github.com/civicrm/civicrm-core/pull/15793. As it was merged ~5 months ago(included in 5.21), I think it should be labeled as regression?5.24.5https://lab.civicrm.org/dev/core/-/issues/1721case activity: follow-up activity assignee does not receive email2020-05-15T00:38:15Zlcdwebcase activity: follow-up activity assignee does not receive emailOverview
----------------------------------------
When creating a case activity follow-up activity with an assignee, the assignee is not sent an email.
Reproduction steps
----------------------------------------
1. Create a case
2. Crea...Overview
----------------------------------------
When creating a case activity follow-up activity with an assignee, the assignee is not sent an email.
Reproduction steps
----------------------------------------
1. Create a case
2. Create an activity within the case
3. Expand the "Schedule Follow-up" panel and complete the fields. Select a contact as the assignee.
Current behaviour
----------------------------------------
Follow-up assignee does not receive an email.
Expected behaviour
----------------------------------------
Assignee should receive an email
Comments
----------------------------------------
This appears to simply be a functionality gap.5.27.0lcdweblcdwebhttps://lab.civicrm.org/dev/core/-/issues/1719Invalid and patchy XML encoding causes Case crash if status is not valid XML2020-04-19T00:22:23ZRichInvalid and patchy XML encoding causes Case crash if status is not valid XMLOverview
----------------------------------------
CiviCase will fail to fully create a CaseType if a Case Status' name is invalid in an XML context.
Reproduction steps
----------------------------------------
1. Create case status 'Si...Overview
----------------------------------------
CiviCase will fail to fully create a CaseType if a Case Status' name is invalid in an XML context.
Reproduction steps
----------------------------------------
1. Create case status 'Signed & Sealed'
1. Create case type
1. Got an error about XML encoding
Current behaviour
----------------------------------------
The form errors and won't save. Yet it has half created a Case - it's there but has no description. This is massively confusing because it looks like it might have worked, but creates havock if you actually try to use that case type.
Expected behaviour
----------------------------------------
It should create the case type without error.
Comments
----------------------------------------
This happens because of some incomplete and rather *lets-do-it-ourselves* XML encoding. There's even a comment in the code saying "Ugh!" about this!
The Statuses element was being written without being encoded, therefore `&` becomes an invalid entity.
I have a PR for this that replaces the homemade XML encoding function with PHP's built in XML Writer objects.5.26.0RichRichhttps://lab.civicrm.org/dev/core/-/issues/1718membership batch entry: fix join date population2020-04-22T00:44:07Zlcdwebmembership batch entry: fix join date populationWhen using the membership batch entry tool, if you select a contact with an existing membership it prepopulates with existing data. The join date is not prefilled because of an incorrect field name reference.When using the membership batch entry tool, if you select a contact with an existing membership it prepopulates with existing data. The join date is not prefilled because of an incorrect field name reference.5.26.0lcdweblcdwebhttps://lab.civicrm.org/dev/core/-/issues/1717SMTP temp failure causes "Call to undefined method CRM_Utils_Mail_FilteredPea...2020-04-25T19:32:57Zaydunsaidan.saunders@squiffle.ukSMTP temp failure causes "Call to undefined method CRM_Utils_Mail_FilteredPearMailer::disconnect()"Overview
----------------------------------------
SMTP temp fails can result in "Call to undefined method CRM_Utils_Mail_FilteredPearMailer::disconnect()"
This involves SMTP temp fails so is not easy to reproduce reliably.
The error se...Overview
----------------------------------------
SMTP temp fails can result in "Call to undefined method CRM_Utils_Mail_FilteredPearMailer::disconnect()"
This involves SMTP temp fails so is not easy to reproduce reliably.
The error seen in the log is:
`SMTP Socket Error or failed to set sender error. Message: Failed to set sender: b-6928-162335-5d12be6b881f1e84@example.com [SMTP: Invalid response code received from SMTP server while sending email. This is often caused by a misconfiguration in Outbound Email settings. Please verify the settings at Administer CiviCRM >> Global Settings >> Outbound Email (SMTP). (code: 421, response: 4.7.0 Try again later, closing connection. (MAIL) f22sm5685077lja.39 - gsmtp)], Code: 10004`
The mailing was initiated with `cv api Job.execute` producing:
`Call to undefined method CRM_Utils_Mail_FilteredPearMailer::disconnect()`
The problem seems to be here: https://github.com/civicrm/org.civicrm.flexmailer/blob/master/src/Listener/DefaultSender.php#L77
Possible fixes:
1) Change flexmailer not to call `$mailer->disconnect()`
2) Implement `CRM_Utils_Mail_FilteredPearMailer::disconnect()`
Also, the error message is misleading: a 421 or 4.7.0 is not an invalid response and was not caused but settings misconfiguration.
This seems to be a fairly minor problem in that it only occurs for temp fails and those are retried later.
Environment information
----------------------------------------
* __CiviCRM:__ 5.24.4
* __Flexmailer:__ 1.1.1
* __PHP:__ 7.2
* Mail configuration: SMTP to gmail.com5.24.5https://lab.civicrm.org/dev/core/-/issues/1716Create new customPre hook2020-06-12T16:52:05ZlcdwebCreate new customPre hookI'd like to create a new "customPre" hook that is fired prior to a custom field being stored in the DB. Currently we have a "custom" hook which is fired after a custom field is stored, but no way to impact the process prior to storing. S...I'd like to create a new "customPre" hook that is fired prior to a custom field being stored in the DB. Currently we have a "custom" hook which is fired after a custom field is stored, but no way to impact the process prior to storing. See also: https://civicrm.stackexchange.com/questions/35354/is-there-a-hook-to-impact-custom-data-before-its-saved/35364#35364
* why this is needed: there's currently no way to alter custom data before it is stored, or to do thing like check the existing value for the field prior to the update (in order to, for example, trigger a secondary action). Custom data currently does not hit the pre/post hooks.
* why not try to implement the existing "pre" hook in this context? we could potentially do that, but the custom data model is a little different from a standard object. For example, the custom group ID is useful to have available but is not part of the actual insert/update query for custom data. It seems more useful to follow the existing pattern with the "custom" hook. While we could pass that additional metadata as part of the pre hook's params, it would deviate from how that hook is implemented elsewhere.
The hook would be implemented in CRM_Core_BAO_CustomValueTable::create(), and would follow the pattern of how the "custom" hook is implemented there.
Looking for feedback and concept approval.5.28.0lcdweblcdweb