CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2024-02-02T22:16:09Zhttps://lab.civicrm.org/dev/core/-/issues/4961SearchKit/API4: 'getFieldValue failed' error for group contacts2024-02-02T22:16:09Zaydunsaidan.saunders@squiffle.ukSearchKit/API4: 'getFieldValue failed' error for group contactsOverview
----------------------------------------
SearchKit/API4 fails with 'getFieldValue failed'
Reproduction steps
----------------------------------------
1. Create a new SearchKit search
1. Set 'Search for' to 'Groups'
1. Search a...Overview
----------------------------------------
SearchKit/API4 fails with 'getFieldValue failed'
Reproduction steps
----------------------------------------
1. Create a new SearchKit search
1. Set 'Search for' to 'Groups'
1. Search and confirm groups are shown
2. Add 'With (optional)' 'Group Contacts'
3. Search and observe no results
4. Open browser tools, search again, note '500':
Request is:
{"run":["SearchDisplay","run",{"return":"page:1","savedSearch":{"api_entity":"Group","displays":[],"groups":[],"tag_id":[],"api_params":{"version":4,"select":["id","title","description","is_active","Group_GroupContact_Contact_01.sort_name"],"orderBy":{},"where":[],"groupBy":[],"join":[["Contact+AS+Group_GroupContact_Contact_01","LEFT","GroupContact",["id","=","Group_GroupContact_Contact_01.group_id"]]],"having":[]},"label":"Group+Search+by+demo@example.com"},"sort":[],"limit":50,"seed":1706887602244,"filters":{},"afform":null,"debug":true}]}
Response is:
{
"run": {
"error_code": 0,
"error_message": "getFieldValue failed",
"status": 500
}
}
Environment information
----------------------------------------
* __CiviCRM:__ _Master_
Comments
----------------------------------------
This is currently failing on dmaster but works correctly on 5.65.0
Might be wider issue, but noted on groups.https://lab.civicrm.org/dev/core/-/issues/4960Regression: 5.70 active relationships not loading when Civi Case not enabled2024-02-03T02:54:13ZElliott EgglestonRegression: 5.70 active relationships not loading when Civi Case not enabledDisable CiviCase and navigate to a summary screen contact with relationships. In the tab list the Relationships tab is missing the count that shows up when CiviCase is enabled. If you click onto the tab you see the disabled relationships...Disable CiviCase and navigate to a summary screen contact with relationships. In the tab list the Relationships tab is missing the count that shows up when CiviCase is enabled. If you click onto the tab you see the disabled relationships but no enabled relationships load.
In the browser console you can see the following:
Post to https://dmaster.localhost:32353/civicrm/ajax/api4
with payload '{"run":["SearchDisplay","run",{"return":"page:1","savedSearch":"Contact_Summary_Relationships","display":"Contact_Summary_Relationships_Active","sort":{},"limit":50,"seed":1706885943746,"filters":{"near_contact_id":161,"is_current":true},"afform":"afsearchTabRel"}]}'
Comes back with 500 error
Object { error_code: 0, error_message: "API (Case, getLinks) does not exist (or the extension it belongs to is not enabled).", status: 500 }5.70.0https://lab.civicrm.org/dev/core/-/issues/4959After upgrading from 5.63. to 5.69, two scheduled jobs fail with: Failure, Er...2024-02-20T23:15:44ZjamieAfter upgrading from 5.63. to 5.69, two scheduled jobs fail with: Failure, Error message: Unknown api versionThe two failing jobs are:
- job.update_greeting
- mailing.update_mailing_resetdate
Both of these jobs have parameters entered in the job itself (which may be a clue). And, with both, I "fixed" them by adding:
version=3
To the list of...The two failing jobs are:
- job.update_greeting
- mailing.update_mailing_resetdate
Both of these jobs have parameters entered in the job itself (which may be a clue). And, with both, I "fixed" them by adding:
version=3
To the list of parameters already set.
I flailed around in `CRM/Core/JobManager.php` and found [an unset $temp variable](https://github.com/civicrm/civicrm-core/blob/6b7d77047024f4989d8fb2c9219d5ddf7e7161d0/CRM/Core/JobManager.php#L184) but was otherwise unable to figure out how to fix this problem.
Also, maybe not a bug and I should be adding this parameter? Or should the upgrader warn about adding this parameter? Or did I miss it? Thanks in advance for any clues.colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4958Deprecated function CRM_Contact_BAO_ContactType::retrieve2024-03-15T20:43:33ZPradeep Nayakpradpnayak@gmail.comDeprecated function CRM_Contact_BAO_ContactType::retrieveOn edit of contact subtype get a deprecation error
/civicrm/admin/options/subtype/edit?action=update&id=2&reset=1
Deprecated function CRM_Contact_BAO_ContactType::retrieve, use API. CRM_Core_Error::deprecatedFunctionWarning CRM_Contact_...On edit of contact subtype get a deprecation error
/civicrm/admin/options/subtype/edit?action=update&id=2&reset=1
Deprecated function CRM_Contact_BAO_ContactType::retrieve, use API. CRM_Core_Error::deprecatedFunctionWarning CRM_Contact_BAO_ContactType::retrieve CRM_Admin_Form::retrieveValues CRM_Admin_Form::preProcess Array ( [civi.tag] => deprecated )
```2024-02-02 11:34:18+0000 [warning] Deprecated function CRM_Contact_BAO_ContactType::retrieve, use API.
CRM_Core_Error::deprecatedFunctionWarning
CRM_Contact_BAO_ContactType::retrieve
CRM_Admin_Form::retrieveValues
CRM_Admin_Form::preProcess
Array
(
[civi.tag] => deprecated
)
```https://lab.civicrm.org/dev/core/-/issues/4957attempt to access invalid property :_tagGroup Caller: CRM_Contact_Form_Edit_T...2024-02-08T09:56:27ZRobert J. Langattempt to access invalid property :_tagGroup Caller: CRM_Contact_Form_Edit_TagsAndGroups::buildQuickForm Array ( [civi.tag] => deprecated )Overview
----------------------------------------
After upgrading from a CiviCRM 5.67.1 site to 5.69.4-ESR, I saw many messages in the watchdog log like these resulting from loading a Membership Contribution page that contains checkboxe...Overview
----------------------------------------
After upgrading from a CiviCRM 5.67.1 site to 5.69.4-ESR, I saw many messages in the watchdog log like these resulting from loading a Membership Contribution page that contains checkboxes for mailing list groups in the profile:
* attempt to access invalid property :_tagGroup Caller: CRM_Contact_Form_Edit_TagsAndGroups::buildQuickForm Array ( [civi.tag] => deprecated )
* Notice: Indirect modification of overloaded property CRM_Contribute_Form_Contribution_Main::$_tagGroup has no effect in CRM_Contact_Form_Edit_TagsAndGroups::buildQuickForm() (line 112 of /mysite/modules/contrib/civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php).
Furthermore, and more importantly, the checkboxes are no longer rendered at all on the form.
Since the error message says that `:_tagGroup` is an invalid property, a search through the CiviCRM code turns up several references to it `$form->_tagGroup` in file `civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php` (including the line 112 cited in the message above).
Is there a straightforward fix for this? We signed up for ESR to reduce the need to regularly update, but can't update to the current ESR version when it breaks membership signups.https://lab.civicrm.org/dev/core/-/issues/49565.69.1 critical error: Undefined array key "crmSearchTasks" in "ext/search_ki...2024-02-07T10:25:28ZDmitry Smirnov5.69.1 critical error: Undefined array key "crmSearchTasks" in "ext/search_kit/search_kit.php" on line 61```
PHP Warning: Undefined array key "crmSearchTasks" in ext/search_kit/search_kit.php on line 61
PHP Warning: Trying to access array offset on value of type null in ext/search_kit/search_kit.php on line 61
PHP Fatal error: Uncaught T...```
PHP Warning: Undefined array key "crmSearchTasks" in ext/search_kit/search_kit.php on line 61
PHP Warning: Trying to access array offset on value of type null in ext/search_kit/search_kit.php on line 61
PHP Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in ext/search_kit/search_kit.php:61
```https://lab.civicrm.org/dev/core/-/issues/4955Upgrade to Smarty52024-02-01T10:45:19ZeileenUpgrade to Smarty5Now that we have upgraded many sites to Smarty3 Smarty5 is on the cusp of being release....
See related issue https://lab.civicrm.org/dev/core/-/issues/4954 on getting to Smarty4
The upgrade from Smarty 3 or 4 to Smarty 5 has some mino...Now that we have upgraded many sites to Smarty3 Smarty5 is on the cusp of being release....
See related issue https://lab.civicrm.org/dev/core/-/issues/4954 on getting to Smarty4
The upgrade from Smarty 3 or 4 to Smarty 5 has some minor challenges.
https://smarty-php.github.io/smarty/5.x/upgrading/
1) assign_by_ref needs to be replaced with assign wherever it appears (yay I've been wanting to get rid of those)
2) some php-language modifiers will stop working without intervention (not sure how affected we are but if some are common it is easy to 'make them work')
3) before we can see / address the above there is a problem with our Smarty compatibility class. Our Smarty class has functions like `getTemplateVars()` to allow sites still on Smarty2 to call the v3 functions. That particular function has a different signature in Smarty5 so overriding it causes fatals
Proposal
1) Check Smarty5 into packages like Smarty4 - see https://github.com/civicrm/civicrm-packages/pull/380
2) the path fix in Smarty4 will allow easy switch to Smarty5 for developers
3) Move `getTemplateVars()` & any other functions in the same boat from being on our Smarty compatibility class to being 'hacked onto' the Smarty 2 code in our packages folder.
4) replace assign-by-ref with assign
- That should be enough to get us to the point where we can get dev sites to load and from there we can figure out if we have to scale a mountain or a molehill to move to Smarty5 instead of 3 or 4 when we do our force changehttps://lab.civicrm.org/dev/core/-/issues/4954Upgrade to Smarty4....2024-03-15T21:05:34ZeileenUpgrade to Smarty4....Now that we have upgraded many sites to Smarty3 & seem close to ironing out the issues I had a go at Smarty4 and was able to get it working. The extra fixes were entirely in our core compatibility layer so the challenges of moving a site...Now that we have upgraded many sites to Smarty3 & seem close to ironing out the issues I had a go at Smarty4 and was able to get it working. The extra fixes were entirely in our core compatibility layer so the challenges of moving a site from Smarty2 to Smarty4 are now equivalent to moving to Smarty3.
https://smarty-php.github.io/smarty/5.x/upgrading/#removed-php-constants
One annoying thing we did was name our Smarty mixin & the define in a version specific way. In fact there is nothing v2 specific about our mixin and the methodology of defining ` CIVICRM_SMARTY3_AUTOLOAD_PATH` works for Smarty4 as well as it does for Smarty3. If it wasn't for those naming issues I would recommend we simply replace the contents of packages/smarty3 with the Smarty 4 library.
However, given where we are I recommend we
1) merge Smarty4 into packages here https://github.com/civicrm/civicrm-packages/pull/380
2) add a new define `CIVICRM_SMARTY_AUTOLOAD_PATH` - respect it but fall back to `CIVICRM_SMARTY3_AUTOLOAD_PATH` if present
3) update our demo sites / build sites etc to Smarty4
4) update all our messaging to encourage people to use Smarty4 not 3 (but if they have already switched to 3 don't further message as being off Smarty2 is enough to flush out any extension or issues that would impede our medium term plans to put Smarty4 in vendor & stop shipping Smarty3
Note that Smarty4 hard-fails on `{php}` tags in tpls whereas Smarty3 has a backwards compatibility layer that would have supported it, had we chosen to enable it, which we didn't.5.72.0https://lab.civicrm.org/dev/core/-/issues/4953On a membership renewal, the member's existing membership is not preselected.2024-02-15T23:04:06ZrobbrandtOn a membership renewal, the member's existing membership is not preselected.After testing this with #4939, the issue still exists.
Our use case is with a membership price set, using a Select field type.
To replicate at the dmaster.demo.civicrm.org site, create a Membership Price Set, with one field. The field...After testing this with #4939, the issue still exists.
Our use case is with a membership price set, using a Select field type.
To replicate at the dmaster.demo.civicrm.org site, create a Membership Price Set, with one field. The field should be a Select type, and each of the 3 membership types should be added. Then change the existing Membership contribution page to use this price set rather than the manually entered one. Open the Live version of the contribution page, and sign up for any of the membership types and complete the transaction. Then go back to the live version of the contribution page and observe that the user's existing membership is not preselected.5.69.5https://lab.civicrm.org/dev/core/-/issues/4952PHP 8.3 Support2024-01-31T22:32:21ZJoeMurrayPHP 8.3 SupportThis is an epic for PHP 8.3 support.
PHP 8.3 was released 2023-11, has active support till 2024-12-8, and security support till 2025-12-08.
Some extra motivation to support 8.3 sooner rather that later is the significant performance im...This is an epic for PHP 8.3 support.
PHP 8.3 was released 2023-11, has active support till 2024-12-8, and security support till 2025-12-08.
Some extra motivation to support 8.3 sooner rather that later is the significant performance improvements it has, up to 55% for D10 over 8.1: https://kinsta.com/blog/php-benchmarks/
Reference: [https://www.php.net/manual/en/migration83.incompatible.php](https://www.php.net/manual/en/migration83.incompatible.php)
See also [thttps://php.watch/versions/8.3](https://php.watch/versions/8.3) and [https://www.php.net/releases/8.3/en.php](https://www.php.net/releases/8.3/en.php).
Here are the breaking changes listed here for reference. Almost all seem like they would be difficult to search for and identify in the codebase. Whack-a-mole from running on edge test servers might be a helpful approach.
- [ ] Uses of traits with static properties: Uses of traits with static properties will now redeclare static properties inherited from the parent class. This will create a separate static property storage for the current class. This is analogous to adding the static property to the class directly without traits.
- [ ] Assigning a negative index to an empty array: Assigning a negative index $n to an empty array will now make sure that the next index is $n+1 instead of 0.
- [ ] Class constant visibility variance check: Class constant visibility variance is now correctly checked when inherited from interfaces.
- [ ] WeakMap entries whose key maps to itself: WeakMap entries whose key maps to itself (possibly transitively) may now be removed during cycle collection if the key is not reachable except by iterating over the WeakMap (reachability via iteration is considered weak). Previously, such entries would never be automatically removed.
- [ ] Date: The DateTime extension has introduced Date extension specific exceptions and errors under the DateError and DateException hierarchies, instead of warnings and generic exceptions. This improves error handling, at the expense of having to check for errors and exceptions.
- [ ] DOM: Calling DOMChildNode::after(), DOMChildNode::before(), DOMChildNode::replaceWith() on a node that has no parent is now a no-op instead of a hierarchy exception, which is the behaviour demanded by the DOM specification.
Using the DOMParentNode and DOMChildNode methods without a document now works instead of throwing a DOM_HIERARCHY_REQUEST_ERR DOMException. This is in line with the behaviour demanded by the DOM specification.
Calling DOMDocument::createAttributeNS() without specifying a prefix would incorrectly create a default namespace, placing the element inside the namespace instead of the attribute. This bug is now fixed.
DOMDocument::createAttributeNS() would previously incorrectly throw a DOM_NAMESPACE_ERRNAMESPACE_ERR DOMException when the prefix was already used for a different URI. It now correctly chooses a different prefix when there's a prefix name conflict.
New methods and properties were added to some DOM classes. If a userland class inherits from these classes and declare a method or property with the same name, the declarations must be compatible. Otherwise, a typical compile error about incompatible declarations will be thrown. See the list of new features and new functions for a list of the newly implemented methods and properties.
- [x] FFI: C functions that have a return type of void now return null instead of returning the following object object(FFI\CData:void) { }
- [ ] Opcache: The opcache.consistency_checks INI directive was removed. This feature was broken with the tracing JIT, as well as with inheritance cache, and has been disabled without a way to enable it since PHP 8.1.18 and PHP 8.2.5. Both the tracing JIT and inheritance cache may modify shm after the script has been persisted by invalidating its checksum. The attempted fix skipped over the modifiable pointers but was rejected due to complexity. For this reason, it was decided to remove the feature instead.
- [ ] Phar: The type of Phar class constants are now declared.
- [ ] Standard: The range() function has had various changes:
A TypeError is now thrown when passing objects, resources, or arrays as the boundary inputs.
A more descriptive ValueError is thrown when passing 0 for $step.
A ValueError is now thrown when using a negative $step for increasing ranges.
If $step is a float that can be interpreted as an int, it is now done so.
A ValueError is now thrown if any argument is infinity or NAN.
An E_WARNING is now emitted if $start or $end is the empty string. The value continues to be cast to the value 0.
An E_WARNING is now emitted if $start or $end has more than one byte, only if it is a non-numeric string.
An E_WARNING is now emitted if $start or $end is cast to an integer because the other boundary input is a number. (e.g. range(5, 'z');).
An E_WARNING is now emitted if $step is a float when trying to generate a range of characters, except if both boundary inputs are numeric strings (e.g. range('5', '9', 0.5); does not produce a warning).
range() now produce a list of characters if one of the boundary inputs is a string digit instead of casting the other input to int (e.g. range('9', 'A');).
```
<?php
range('9', 'A'); // ["9", ":", ";", "<", "=", ">", "?", "@", "A"], as of PHP 8.3.0
range('9', 'A'); // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], prior to PHP 8.3.0
?>
```
The file() flags error check now catches all invalid flags. Notably FILE_APPEND was previously silently accepted.
- [ ] SNMP: The type of SNMP class constants are now declared.https://lab.civicrm.org/dev/core/-/issues/4951Event registration under Windows fails2024-02-08T10:22:24ZspalmstromEvent registration under Windows fails## Overview
_This is similar to_ https://lab.civicrm.org/dev/core/-/issues/4928, but a different problem. See also Stack Exchange [smarty - Is it the end of the road for CiviCRM under Windows? - CiviCRM Stack Exchange](https://civicrm.s...## Overview
_This is similar to_ https://lab.civicrm.org/dev/core/-/issues/4928, but a different problem. See also Stack Exchange [smarty - Is it the end of the road for CiviCRM under Windows? - CiviCRM Stack Exchange](https://civicrm.stackexchange.com/questions/46268/is-it-the-end-of-the-road-for-civicrm-under-windows?noredirect=1#comment55844_46268) and [registration - Fatal error - unable to register for events with Smarty3 enabled - CiviCRM Stack Exchange](https://civicrm.stackexchange.com/questions/46311/fatal-error-unable-to-register-for-events-with-smarty3-enabled). I wonder if it is an issue with the use of Smarty3.
The final Register page crashes with:
```plaintext
The website encountered an unexpected error. Try again later.TypeError: Unsupported operand types: float + string in content_65ba5d1bd929c5_86413884() (line 408 of <drupal root>\vendor\civicrm\civicrm-packages\smarty3\vendor\smarty\smarty\libs\sysplugins\smarty_resource_recompiled.php(52) : eval()'d code).
```
followed by the stack trace.\`\`\`
## Reproduction steps
1. Register for an event.
2. Click on Review
3. Click on Register.
## Current behaviour
The web page returns:
```plaintext
The website encountered an unexpected error. Try again later.
TypeError: Unsupported operand types: float + string in content_65ba5d1bd929c5_86413884() (line 408 of <drupal root>\vendor\civicrm\civicrm-packages\smarty3\vendor\smarty\smarty\libs\sysplugins\smarty_resource_recompiled.php(52) : eval()'d code).
Smarty_Template_Resource_Base->getRenderedTemplateCode() (Line: 114)
Smarty_Template_Compiled->render() (Line: 216)
Smarty_Internal_Template->render() (Line: 232)
Smarty_Internal_TemplateBase->_execute() (Line: 116)
Smarty_Internal_TemplateBase->fetch() (Line: 24)
content_65ba5c676ca3f2_96523772() (Line: 123)
Smarty_Template_Resource_Base->getRenderedTemplateCode() (Line: 114)
Smarty_Template_Compiled->render() (Line: 216)
Smarty_Internal_Template->render() (Line: 232)
Smarty_Internal_TemplateBase->_execute() (Line: 116)
Smarty_Internal_TemplateBase->fetch() (Line: 1046)
CRM_Utils_String::parseOneOffStringThroughSmarty() (Line: 108)
Civi\Token\TokenCompatSubscriber->onRender() (Line: 220)
Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 263)
Civi\Core\CiviEventDispatcher->dispatch() (Line: 397)
Civi\Token\TokenProcessor->render() (Line: 327)
Civi\Token\TokenRow->render() (Line: 67)
CRM_Core_TokenSmarty::render() (Line: 374)
CRM_Core_BAO_MessageTemplate::renderTemplateRaw() (Line: 422)
CRM_Core_BAO_MessageTemplate::sendTemplate() (Line: 1254)
CRM_Event_BAO_Event::sendMail() (Line: 895)
CRM_Event_Form_Registration_Confirm->postProcess() (Line: 625)
CRM_Core_Form->mainProcess() (Line: 144)
CRM_Core_StateMachine->perform() (Line: 43)
CRM_Core_QuickForm_Action_Next->perform() (Line: 203)
HTML_QuickForm_Controller->handle() (Line: 103)
HTML_QuickForm_Page->handle() (Line: 355)
CRM_Core_Controller->run() (Line: 322)
CRM_Core_Invoke::runItem() (Line: 69)
CRM_Core_Invoke::_invoke() (Line: 36)
CRM_Core_Invoke::invoke() (Line: 88)
Drupal\civicrm\Civicrm->invoke() (Line: 83)
Drupal\civicrm\Controller\CivicrmController->main()
call_user_func_array() (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 121)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
Drupal\Core\DrupalKernel->handle() (Line: 19)
```
## Expected behaviour
A registration confirmation page is displayed.
## Environment information
* **Browser:** _Edge_ but probably irrelevant.
* **CiviCRM:** _5.69.3_
* **PHP:** _8.3.1_ but probably irrelevant.
* **CMS:** _Drupal 10.2.2_
* **Database:** _MySQL 8.0.36_ but probably irrelevant.
* **Web Server:** _IIS 10_
## Comments
_Anything else you would like the reviewer to note._
I have tried debugging the issue and spent quite some time on this. I raising it as an issue as my knowledge of Smarty isn't that great, but I hope a Smarty expert has better insight.
I think the issue is due to Smarty creating a template 'on the fly' rather than using a text file template. In the call stack, there is
CRM_Utils_String::parseOneOffStringThroughSmarty() (Line: 108) which passes `plaintext 'eval:{eval var=$smartySingleUseString|smarty:nodefaults}'`.
Incidentally, the line numbers on the call stack are strange, they seem out by one entity - `plaintext CRM_Utils_String::parseOneOffStringThroughSmarty() (Line: 108)` is actually line 1046 which is in the line above.
It seems that the system is calling some epheremal code which we can't see. The NetBeans call stack has transient entries like: ![image](/uploads/3a4859a5ff1b41a1152677863bfa1713/image.png)
You are able to step through the entity beginning with dbgp:// but cannot see the code. I have been unable to find content_65ba5d1bd929c5_86413884() during debugging, let alone see line 408. This makes debugging rather difficult. If one could see the template it was trying to process, it would help.5.69.5https://lab.civicrm.org/dev/core/-/issues/4950Acivity tab timing out after 5.70 upgrade on large DB2024-02-08T19:14:09ZElliott EgglestonAcivity tab timing out after 5.70 upgrade on large DBThe admin_ui version of the activity tab is generating queries for some CIDs that don't return in a reasonable amount of time. EXPLAIN shows that filesort is being used for the first subquery.
One example query, generated for a contact ...The admin_ui version of the activity tab is generating queries for some CIDs that don't return in a reasonable amount of time. EXPLAIN shows that filesort is being used for the first subquery.
One example query, generated for a contact with only 18 activities: https://phabricator.wikimedia.org/P55961
Wikimedia's tracking task, with the SQL query explain: https://phabricator.wikimedia.org/T356269
Oddly, I WAS able to load the activities tab for my own user which has 700+ activities, so it's not just related to the number of activities on a contact.
If I just roll back 04078d359e298a5a02ea274404dcdb8af83225dd it restores the previous activity tab and I can load the CID's activity tab fine with no runaway query generated.5.70.0colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4949Scheduled reminders won't save when participant field is cleared2024-02-20T23:15:44ZrichardsplaygroundScheduled reminders won't save when participant field is clearedOverview
----------------------------------------
When an event scheduled reminder is created, and then edited, CiviCRM does not fully clear the "Recipient Roles" field and then throws an error saying a value is required even if "Recipie...Overview
----------------------------------------
When an event scheduled reminder is created, and then edited, CiviCRM does not fully clear the "Recipient Roles" field and then throws an error saying a value is required even if "Recipients" and "Recipient Roles" field is now blank. This prevents saving the edited scheduled reminder.
The workaround is to delete the scheduled reminder and re-create it.
This problem also arises when upgrading from older versions of CiviCRM that did not have the Recipients and Recipient Role fields. Upon upgrading, these fields are blank, but edits to the schedule reminder cannot be saved due to the same error message appearing.
Reproduction steps
----------------------------------------
1. Create a scheduled reminder. Fill in Recipients and Recipient Role fields. Save.
2. Edit scheduled reminder. Change Recipients to blank. The "Recipient Roles" field also goes blank as it should.
3. Try to save. You will get an error that the Recipient Roles field requires a value. This is incorrect.
Reproduced on dmaster.
Screenshots to reproduce:
Initial configuration of scheduled reminder.
![1_-_initial_schedule_reminder_config](/uploads/e008ad2070d528fd6b9ff34575469e1f/1_-_initial_schedule_reminder_config.png)
Edit scheduled reminder and click X to clear participant role:
![2_-_click_x_on_participant_role](/uploads/b11ceba3365ee9e2fa6fb25bfbcc51bd/2_-_click_x_on_participant_role.png)
Recipient role field is appropriately cleared:
![3_-_recipient_role_field_still_exists](/uploads/3dbef8f1b843903712ab8977734ef78e/3_-_recipient_role_field_still_exists.png)
But trying to save generates an error:
![4_-_and_generates_an_error_even_if_blank](/uploads/eb5683d821478faa273cf9ae5c5d10d9/4_-_and_generates_an_error_even_if_blank.png)
Current behaviour
----------------------------------------
See screenshots above.
Expected behaviour
----------------------------------------
When Recipients field is blank, Recipient Roles field should be blanked (which happens) and should no longer be required (which does not happen).
Environment information
----------------------------------------
Reproduced on dmaster on 5.71.alpha1. Also occurs on 5.68.1.colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4948v5.69.3 Receipt message not included in email2024-03-01T00:05:46ZBillCatherallv5.69.3 Receipt message not included in email## Overview
v5.69.3 (WordPress) the Additional Receipt Message sent out with contribution receipts is no longer included in the email message. It was working in v5.68.0, but after upgrading it doesn't get included in emails.
## Reprodu...## Overview
v5.69.3 (WordPress) the Additional Receipt Message sent out with contribution receipts is no longer included in the email message. It was working in v5.68.0, but after upgrading it doesn't get included in emails.
## Reproduction steps
1. Manage Contribution Pages, Receipt tab, Receipt Message.
2. It's filled in with the text we include in the receipt email.
3. Actual emails sent do not include this message.
## Current behavior
No error message. Emails are sent and payment information is included in the emails. But the additional message is not included.
## Expected behavior
Before the update the message was included in the email above the payment information.
## Environment information
* **CiviCRM:** _5.69.3_
* **PHP:** _8.1.25_
* **CMS:** _WordPress 6.4.2_5.69.5https://lab.civicrm.org/dev/core/-/issues/4947Proposal: Store Contribution Page ID in the `civicrm_contribution_recur` table2024-02-01T10:23:33ZjaapjansmaProposal: Store Contribution Page ID in the `civicrm_contribution_recur` tableOverview
----------------------------------------
When a recurring contribution is created with a contribution page. Also store the contribution page ID in the `civicrm_contribution_recur` table.
This works already for 'normal' contrib...Overview
----------------------------------------
When a recurring contribution is created with a contribution page. Also store the contribution page ID in the `civicrm_contribution_recur` table.
This works already for 'normal' contribution.
Example use-case
----------------------------------------
1. CiviRules can be used when a new Contribution Recur is added and a condition can then be used which Contribution Page this came from.
Current behaviour
----------------------------------------
Currently for the 'normal' contributions the contribution page ID is stored in the `civicrm_contribution` table.
Proposed behaviour
----------------------------------------
1. Add a column to the `civicrm_contribution_recur` table called `contribution_page_id`
2. When a contribution recur is added through a Contribution Page then store the contribution page id into this column
3. Optional we can show the data from this field in the user interface when a user views a contribution recur
Workaround
----------------------------------------
There is a workaround with an extension: https://lab.civicrm.org/extensions/storecontributionpageidoncontribrecurjaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/4946DB error on gender searches2024-02-01T16:06:14ZyashodhaDB error on gender searchesWe should NOT allow non numeric values for gender option values.
gender_id in the database expects numeric values instead, we should form rule for such entities.We should NOT allow non numeric values for gender option values.
gender_id in the database expects numeric values instead, we should form rule for such entities.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4945Regressions: v5.69.2 Radio Buttons default option not applying on load2024-02-08T10:39:44ZJonny ToomeyRegressions: v5.69.2 Radio Buttons default option not applying on loadOverview
----------------------------------------
When adding a radio button type question to a form, the selected default option no longer applied to the form
Steps to replicate
----------------------------------------
Create new Cust...Overview
----------------------------------------
When adding a radio button type question to a form, the selected default option no longer applied to the form
Steps to replicate
----------------------------------------
Create new Custom field or type radio button and set an option to default. Add the newly created custom field to a profile which is assigned to a contribution form. Upon viewing the form the radio buttons will not have a default selected
Issue replicated on test system (version 5.71.alpha1)
![radio_0](/uploads/1df8c2ef5600782c74ab1eca64572ec0/radio_0.PNG)
![radio_1](/uploads/422ccdae76683fbcf73faecad9e116cd/radio_1.PNG)
Default option works fine on field preview
![radio_preview](/uploads/c2216861c2bdebd9f4e99bf7ef4ea7fe/radio_preview.PNG)5.69.5https://lab.civicrm.org/dev/core/-/issues/4944Mass SMS continue button creates a new mass SMS2024-02-02T13:10:39ZDaveDMass SMS continue button creates a new mass SMSCame up during PR review.
The screens appear as though it's editing the existing one but there's a warning about missing ssid, so I assume it's not getting passed on so it then creates a new one.
1. Mailings - New SMS.
1. Fill out the ...Came up during PR review.
The screens appear as though it's editing the existing one but there's a warning about missing ssid, so I assume it's not getting passed on so it then creates a new one.
1. Mailings - New SMS.
1. Fill out the fields. Click Next.
1. Click Continue Later.
1. This takes you to the Find Mass SMS screen and you'll see your draft.
1. Click the Continue link at the far right.
1. It looks as though you're editing the draft, but click Next and then Next again, and then click the Continue Later button.
1. Note in the Find Mass SMS screen there's now two draft mailings.https://lab.civicrm.org/dev/core/-/issues/4943Activity count on contact tab is always including case activities2024-01-29T13:29:26ZDaveDActivity count on contact tab is always including case activitiesRelated: https://lab.civicrm.org/dev/core/-/issues/4930Related: https://lab.civicrm.org/dev/core/-/issues/49305.70.0https://lab.civicrm.org/dev/core/-/issues/4942Event confirmation page is a bit messed up2024-02-06T15:14:43ZDaveDEvent confirmation page is a bit messed upIn master. Followup to #4918.
1. If you don't have a limit on max participants, the confirmation page gives you an error saying there are only 0 spaces left and you can't finish registering.
2. With a waitlist, you can't register since ...In master. Followup to #4918.
1. If you don't have a limit on max participants, the confirmation page gives you an error saying there are only 0 spaces left and you can't finish registering.
2. With a waitlist, you can't register since it just keeps taking you back to the register page.5.71.0