CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-09-04T14:08:09Zhttps://lab.civicrm.org/dev/core/-/issues/3416AuthX: Breaks sites when Basic Auth is enabled2023-09-04T14:08:09ZJonGoldAuthX: Breaks sites when Basic Auth is enabledOverview
----------------------------------------
AuthX completely breaks any site with Basic Auth enabled, displaying "401 Invalid Credential".
Reproduction steps
----------------------------------------
* Enable AuthX and basic auth...Overview
----------------------------------------
AuthX completely breaks any site with Basic Auth enabled, displaying "401 Invalid Credential".
Reproduction steps
----------------------------------------
* Enable AuthX and basic authentication on your site. [Apache documentation](https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html) suggests this is as simple as adding `AuthBasicFake demo demopass` to your config. Drupal 8+ also has a "Basic Authentication" module in core.
* Alternatively, just enable AuthX and access via curl, e.g. `curl https://a:b@dmaster.demo.civicrm.org/civicrm`
Current behaviour
----------------------------------------
All CiviCRM pages error out with "401 Invalid Credential".
Expected behaviour
----------------------------------------
Normal page loading behavior.
Comments
----------------------------------------
This happens because authx.php calls an anonymous function on the `civi.invoke.auth` listener with these lines:
```php
if (!empty($_SERVER['HTTP_AUTHORIZATION'])) {
return (new \Civi\Authx\Authenticator())->auth($e, ['flow' => 'header', 'cred' => $_SERVER['HTTP_AUTHORIZATION'], 'siteKey' => $siteKey]);
}
```
`$_SERVER['HTTP_AUTHORIZATION']` is populated when Basic Auth is in use, and will never find the principal. No amount of removing AuthX guards or ignoring user accounts will fix this.
Either AuthX shouldn't support the `Authorization:` HTTP header or it should be possible to disable it.5.50.0https://lab.civicrm.org/dev/core/-/issues/3778Event participant registered by contact ID2023-09-04T08:05:09Zmattwiremjw@mjwconsult.co.ukEvent participant registered by contact IDSee discussion at https://github.com/civicrm/civicrm-core/pull/23936
The existing field "registered_by_id" has a number of problems:
It does not get set if you add a registration via the backend forms.
It always gets set to the primary...See discussion at https://github.com/civicrm/civicrm-core/pull/23936
The existing field "registered_by_id" has a number of problems:
It does not get set if you add a registration via the backend forms.
It always gets set to the primary participant even when the user selects "Not X, or want to register a different person" (ie. URL has the parameter cid=0).
The "registered_by_id" field requires a participant ID and not a contact ID. This means that you cannot record that you registered one or more participants unless you are also a participant of that event.
Why not change registered_by_id to a contact ID? That's likely to have all sorts of unexpected impacts as the existing field is used in various wonderful ways (eg. registration emails behave a bit differently if there is a registered_by_id).
Does this fix everything?
No, not yet. That will require more work on the UI / mailing side of things to use the new field. But it's accessible as part of the Participant entity which means it can be used via the API and with searchkit.
This PR includes a little bit of UI work on the backend event participant form to allow you to set the new "registered by contact" field and this form will prefer that field.
What about setting the primary participant ID when they weren't the one registering?
Yes, this PR fixes that. It checks if the contact ID on the form is the same as the primary participant contact ID. If it's not it won't set the registered_by_id field.
Core patches:
- ~~https://github.com/civicrm/civicrm-core/pull/24167 - Add created_id field to civicrm_participant~~ merged
- ~~https://github.com/civicrm/civicrm-core/pull/24304 - Add code hook to set civicrm_participant.created_id~~ merged
- https://github.com/civicrm/civicrm-core/pull/24749 - Add 'Registered by Contact ID' to civireport
- _Need to extract patches from https://github.com/civicrm/civicrm-core/pull/23936 for Quickform UI etc._
- https://github.com/civicrm/civicrm-core/pull/24750 - Work in progress for participant forms.https://lab.civicrm.org/dev/core/-/issues/3392"Confirm Event Invitation" message template has a bad variable2023-09-04T07:59:16ZJonGold"Confirm Event Invitation" message template has a bad variableIn the above-mentioned template, there are two URLs generated that are ostensibly the same:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participantID`&{contact.checksum}" h=0 a=1 fe=1}{/captur...In the above-mentioned template, there are two URLs generated that are ostensibly the same:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participantID`&{contact.checksum}" h=0 a=1 fe=1}{/capture}
```
and:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participant.id`&{contact.checksum}" h=0 a=1 fe=1}{/capture}
```
`$participant.id` is a valid token in this context. `$participantID` isn't. Easy fix.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/2711Disabling contact sub-type doesn't remove shortcut links2023-09-04T05:03:24ZMonish DebDisabling contact sub-type doesn't remove shortcut links
Reproduction steps
----------------------------------------
1. Click on **Administer -> Customize Data and Screens -> Contact Types**.
1. Disable any contact sub-type 'Staff'
1. On page refresh, the submenu Contact -> New Individual ->...
Reproduction steps
----------------------------------------
1. Click on **Administer -> Customize Data and Screens -> Contact Types**.
1. Disable any contact sub-type 'Staff'
1. On page refresh, the submenu Contact -> New Individual -> New Staff is not removed
Expected behaviour
----------------------------------------
The 'New Staff' sub-menu should be removed after disabling 'Staff' contact sub-type
Environment information
----------------------------------------
* __Browser:__ Chrome 78.0.3904/Safari 13_
* __CiviCRM:__ _Master/5.41.alpha1_
* __PHP:__ _7.4__
* __CMS:__ _Drupal 7.30..._
* __Database:__ _MySQL 5.7.7..._
* __Web Server:__ _Apache 2.4..._5.41.0https://lab.civicrm.org/dev/core/-/issues/2664Search filter Membership Status Is Overriden = "No" returns no results2023-09-04T05:03:23ZnicholashSearch filter Membership Status Is Overriden = "No" returns no resultsOverview
----------------------------------------
The "Membership Status Is Overriden" search filter does not work when set to "No"
Reproduction steps
----------------------------------------
1. Create a contact with a membership that's...Overview
----------------------------------------
The "Membership Status Is Overriden" search filter does not work when set to "No"
Reproduction steps
----------------------------------------
1. Create a contact with a membership that's status is not overwritten
1. Go to Find Memberships
1. Search for "Membership Status Is Overriden" = "No"
Current behaviour
----------------------------------------
_The created membership is not in the search results_
Expected behaviour
----------------------------------------
_The created membership should be in the search results._
Environment information
----------------------------------------
I encountered it on CiviCRM 5.36.1 but was also able to reproduce it on dmaster.demo.civicrm.org which was on CiviCRM 5.40.alpha1.https://lab.civicrm.org/dev/core/-/issues/4548SearchKit: Totals just keep loading forever2023-09-03T18:50:15ZlarsssandergreenSearchKit: Totals just keep loading foreverTo reproduce: Create any SearchKit search, then add a SearchDisplay and select Show Totals in Footer. When you view the display, the totals will just keep loading forever (even if there aren't any totals to load).
This is a regression i...To reproduce: Create any SearchKit search, then add a SearchDisplay and select Show Totals in Footer. When you view the display, the totals will just keep loading forever (even if there aren't any totals to load).
This is a regression in 5.65 due to [#26794](https://github.com/civicrm/civicrm-core/pull/26794), this [commit](https://github.com/civicrm/civicrm-core/commit/ef1cbd865976e4e34905d0a178b8d03373c90766). I don't see anything obvious in there on a quick look through, so I'll leave this one to you, @colemanw.https://lab.civicrm.org/dev/core/-/issues/2698add animation or redirect to extension installation screen during installation?2023-09-03T05:03:32Zananelsonadd animation or redirect to extension installation screen during installation?This is very much a would-be-nice-to-have
When you click "Download and Install" or "Uninstall" on the confirmation page for an extension installation or uninstallation, the only visual feedback that something is happening is the "loadin...This is very much a would-be-nice-to-have
When you click "Download and Install" or "Uninstall" on the confirmation page for an extension installation or uninstallation, the only visual feedback that something is happening is the "loading" animation provided by the browser. If you go do something else while the installation takes place (since it can often take a while) it can be easy to forget whether you've pushed the button already or not, and easy to miss the "loading" animation if you are distracted. Might it be possible to either (a) add some sort of javascript spinny widget while the process is running or (b) redirect to a different page while the process is running - to make it more obvious that there is a process running so you don't accidentally try to run it againhttps://lab.civicrm.org/dev/core/-/issues/2696check admin menu from admin menu module is present before hiding CiviCRM menu...2023-09-03T05:03:31Zeileencheck admin menu from admin menu module is present before hiding CiviCRM menu toggle buttonI've opened this to track https://github.com/civicrm/civicrm-core/pull/19379
"Drupal 7 provide Toolbar module to show the admin menus, but does not provide drop down option of sub menus on mouse over. There is another module which is co...I've opened this to track https://github.com/civicrm/civicrm-core/pull/19379
"Drupal 7 provide Toolbar module to show the admin menus, but does not provide drop down option of sub menus on mouse over. There is another module which is commonly used is 'Admin Menu' which provide sub menu selection on mouse hover.
In CiviCRM, We have feature to toggle CiviCRM Menu if Drupal Admin menus are present. To check Drupal menu exist or not we refer toolbar module id #toolbar, In case site admin not using toolbar module and instead using 'Admin Menu' module.
The Admin menu generate different id #admin-menu, But civicrm only checking for #toolbar."https://lab.civicrm.org/dev/core/-/issues/4483(regression) SearchKit doesn't handle delegated access permissions correctly2023-09-02T22:17:28ZJonGold(regression) SearchKit doesn't handle delegated access permissions correctlyA git bisect traced this to https://github.com/civicrm/civicrm-core/pull/25969. It works in 5.60.
When a user does not have the 'all CiviCRM permissions and ACLs', making a contact field in-line editable that isn't on the primary entit...A git bisect traced this to https://github.com/civicrm/civicrm-core/pull/25969. It works in 5.60.
When a user does not have the 'all CiviCRM permissions and ACLs', making a contact field in-line editable that isn't on the primary entity causes a crash (and no search results returned).
**Steps to Replicate**
* Create a new user without 'all CiviCRM permissions and ACLs' permission, but otherwise an administrator. This may not be necessary on non-Drupal systems - but user 1 having all permissions blocks replication.
* Create the SearchKit query in the screenshot below (I've exported it for easier use).
* Create a table display, make the "Gender" field in-line editable.
* Press "Preview"
**Expected Result**
You see search results.
**Actual Result**
500 error - `getFieldValue failed`.
The issue is in `CRM_Contact_BAO_Contact::_checkAccess()`. This attempts to access `$record['id']` but after PR #25969, the record is passing `id_01.id`.
![Selection_1999](/uploads/5e6a7126c09291fc5c1cf4eb6e87c300/Selection_1999.png)
```json
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "delegated_permission_test",
"label": "delegated permission test",
"form_values": null,
"mapping_id": null,
"search_custom_id": null,
"api_entity": "Participant",
"api_params": {
"version": 4,
"select": [
"id",
"Participant_Contact_contact_id_01.display_name",
"Participant_Contact_contact_id_01.gender_id:label"
],
"orderBy": [],
"where": [],
"groupBy": [],
"join": [
[
"Contact AS Participant_Contact_contact_id_01",
"LEFT",
[
"contact_id",
"=",
"Participant_Contact_contact_id_01.id"
]
]
],
"having": []
},
"expires_date": null,
"description": null
}
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "delegated_permission_test_Table_1",
"label": "delegated permission test Table 1",
"saved_search_id.name": "delegated_permission_test",
"type": "table",
"settings": {
"description": null,
"sort": [],
"limit": 50,
"pager": [],
"placeholder": 5,
"columns": [
{
"type": "field",
"key": "id",
"dataType": "Integer",
"label": "Participant ID",
"sortable": true
},
{
"type": "field",
"key": "Participant_Contact_contact_id_01.display_name",
"dataType": "String",
"label": "Participant Contact: Display Name",
"sortable": true,
"title": "Participant Contact: Display Name"
},
{
"type": "field",
"key": "Participant_Contact_contact_id_01.gender_id:label",
"dataType": "Integer",
"label": "Participant Contact: Gender",
"sortable": true,
"editable": true
}
],
"actions": true,
"classes": [
"table",
"table-striped"
]
},
"acl_bypass": false
}
]
}
]
]
```colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4461search kit: activity search with activity contacts no longer working2023-09-02T22:17:27ZDaveDsearch kit: activity search with activity contacts no longer workingJust set up a simple search on activities with activity contacts. No results and console has `TypeError: apiResults is undefined`
Happens on dmaster.demo too.
If you remove the "if contact role = ..." then it does work.
FYI @colemanwJust set up a simple search on activities with activity contacts. No results and console has `TypeError: apiResults is undefined`
Happens on dmaster.demo too.
If you remove the "if contact role = ..." then it does work.
FYI @colemanw5.65.0colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4537Event registration breaks when CiviContribute isn't enabled2023-09-02T05:12:02ZJonGoldEvent registration breaks when CiviContribute isn't enabledThis seems closely related to #4492. I wonder where else this might arise?
```
Error: Class "Civi\Api4\LineItem" not found in CRM_Event_WorkflowMessage_EventOnlineReceipt->setParticipantID() (line 97 of /var/www/reg.wiscience.wisc.edu/...This seems closely related to #4492. I wonder where else this might arise?
```
Error: Class "Civi\Api4\LineItem" not found in CRM_Event_WorkflowMessage_EventOnlineReceipt->setParticipantID() (line 97 of /var/www/reg.wiscience.wisc.edu/web/sites/all/modules/civicrm/CRM/Event/WorkflowMessage/ParticipantTrait.php).
```5.66.0https://lab.civicrm.org/dev/core/-/issues/4531Afform - Email link doesn't render on individual emails for contacts with pre...2023-09-02T05:12:01ZtottenAfform - Email link doesn't render on individual emails for contacts with preferred localeOverview
----------------------------------------
Afform allows you define email tokens that make quick-links to a form (eg `{afform.afformProfileUrl}`). The token doesn't render in certain contexts.
This issue was identified by @larss...Overview
----------------------------------------
Afform allows you define email tokens that make quick-links to a form (eg `{afform.afformProfileUrl}`). The token doesn't render in certain contexts.
This issue was identified by @larssg in MM (https://chat.civicrm.org/civicrm/pl/rwsgdztjpfbx5dgcpqkzw6x6se). It appears to be a regression circa 5.54. It does not affect CiviMail.
Reproduction steps
----------------------------------------
1. Setup a D7 site. (D8+ and BD should have the same bug.)
1. Find or create an afform. Ensure that it has a URL and email token.
1. Find or create a contact. Ensure that **Preferred Language** is configured.
1. View the contact (`civicrm/contact/view`). Use **Actions: Send Email** to send a message with the token (e.g. `{afform.afformProfileUrl}`)
1. Check the email
Current behavior
----------------------------------------
In the resulting email, the token appears blank.
Expected behavior
----------------------------------------
The token shows a URL/hyperlink.
Comments
----------------------------------------
Under the hood, here are some key ingredients:
* afform registers for token events via [afform_civicrm_config()](https://github.com/civicrm/civicrm-core/blob/master/ext/afform/core/afform.php#L63-L67), which includes a static-guard against re-registration.
* 5.54 included various updates with an aim toward supporting localized email. Consequently, while sending the email, it calls `CRM_Utils_System_*::setUFLocale()`.
* On D7/D8+/BD, `setUFLocale()` calls this:
```php
// Config must be re-initialized to reset the base URL
// otherwise links will have the wrong language prefix/domain.
$config = CRM_Core_Config::singleton();
$config->free();
```
* Consequently, the next time anything calls `CRM_Core_Config::singleton()`, it will reboot the container. This effectively removes any listeners. For afform, the listeners are lost.https://lab.civicrm.org/dev/core/-/issues/4530Search forms - email validation smashes usability2023-09-02T05:12:01ZeileenSearch forms - email validation smashes usabilityWe hit this recently in QF search forms but now I'm seeing it in search forms based on search kit - the email validation means I can't search for an email
@colemanw
![image](/uploads/b4faf0bde8b64ef7eef3d281a907aac5/image.png)We hit this recently in QF search forms but now I'm seeing it in search forms based on search kit - the email validation means I can't search for an email
@colemanw
![image](/uploads/b4faf0bde8b64ef7eef3d281a907aac5/image.png)https://lab.civicrm.org/dev/core/-/issues/4523Regression: Unable to set price set on contribution page under membership page2023-09-02T05:12:00ZPradeep Nayakpradpnayak@gmail.comRegression: Unable to set price set on contribution page under membership pageReplicate:
1. Create price set for membership.
2. Add contribution page.
3. Do not enable contribution amount section
4. Enable Membership, set to the price set created at step 1.
Expected results:
Set the price set on contribution pa...Replicate:
1. Create price set for membership.
2. Add contribution page.
3. Do not enable contribution amount section
4. Enable Membership, set to the price set created at step 1.
Expected results:
Set the price set on contribution page
Actual results:
Validation error- You cannot enable both Membership Signup and a Contribution Price Set on the same online contribution page.
Regression from:
https://github.com/civicrm/civicrm-core/pull/27083
https://github.com/civicrm/civicrm-core/pull/27079
https://github.com/civicrm/civicrm-core/pull/27080https://lab.civicrm.org/dev/core/-/issues/4472Index not created for ACL priority on upgrade to 5.642023-09-02T05:11:59ZJonGoldIndex not created for ACL priority on upgrade to 5.64Once upon a time we had a "missing indexes" check that was removed because it wasn't always easy to auto-solve the issues.
I still run that check in an extension, and on every site I've upgraded to 5.64, I get a notification that `index...Once upon a time we had a "missing indexes" check that was removed because it wasn't always easy to auto-solve the issues.
I still run that check in an extension, and on every site I've upgraded to 5.64, I get a notification that `index_priority` hasn't been added to `civicrm_acl.priority`.5.64.1https://lab.civicrm.org/dev/core/-/issues/4492(regression) Add/Edit Scheduled Reminders page does not load if CiviContribut...2023-09-02T05:11:57ZJonGold(regression) Add/Edit Scheduled Reminders page does not load if CiviContribute is disabledWorks on 5.63, not on 5.64. Hard to bisect because `getDefaultEntity()` becomes a required method somewhere along the line.
Easy to replicate:
* Disable CiviContribute.
* Try to create a scheduled reminder.
You'll get this error:
```...Works on 5.63, not on 5.64. Hard to bisect because `getDefaultEntity()` becomes a required method somewhere along the line.
Easy to replicate:
* Disable CiviContribute.
* Try to create a scheduled reminder.
You'll get this error:
```
Error: Class "Civi\Api4\ContributionRecur" not found in CRM_Contribute_Tokens->getRelatedTokens() (line 59 of /home/jon/local/civicrm-buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Contribute/Tokens.php).
```
Seems related to #4123 (pinging @seamuslee) but that was merged in 5.63 and it seems fine in 5.63.
I'd throw a conditional into `CRM_Contribute_Tokens->getRelatedTokens()` to fix this but given all the work on moving to extensions, I suspect this is a deeper issue that needs looking at.https://lab.civicrm.org/dev/core/-/issues/4494Undefined $line and $value when sending offline email receipt2023-09-02T05:11:57ZDaveDUndefined $line and $value when sending offline email receiptLooks like some code was moved around and these vars don't make sense out of loop context: https://github.com/civicrm/civicrm-core/blob/effdba1ef120ca88b270606a0e28db5304e3e621/CRM/Event/Form/Participant.php#L1353Looks like some code was moved around and these vars don't make sense out of loop context: https://github.com/civicrm/civicrm-core/blob/effdba1ef120ca88b270606a0e28db5304e3e621/CRM/Event/Form/Participant.php#L13535.64.1https://lab.civicrm.org/dev/core/-/issues/4473Add/edit financial type screen broken2023-09-02T05:11:56ZDaveDAdd/edit financial type screen broken`User warning: Smarty error: unable to read resource: "" in Smarty->trigger_error() (line 1100 of .../packages/Smarty/Smarty.class.php).``User warning: Smarty error: unable to read resource: "" in Smarty->trigger_error() (line 1100 of .../packages/Smarty/Smarty.class.php).`5.65.0https://lab.civicrm.org/dev/core/-/issues/4480Mail accounts help bubbles not working on edit form2023-09-02T05:11:56ZDaveDMail accounts help bubbles not working on edit form1. Go to edit an existing mail account.
1. If you have popups turned off it's more obvious there's a problem - red error box.
1. If it says bounce processing change the dropdown to activity.
1. For the fields that appear with help bubble...1. Go to edit an existing mail account.
1. If you have popups turned off it's more obvious there's a problem - red error box.
1. If it says bounce processing change the dropdown to activity.
1. For the fields that appear with help bubbles, click the bubbles. No help text.
1. Note it's ok on the add new form.
Works in 5.63.
I don't see the problem on other forms though so something different about this form.5.65.0https://lab.civicrm.org/dev/core/-/issues/4498Non-administrators can't select mailing groups on 5.642023-09-02T05:11:56ZJonGoldNon-administrators can't select mailing groups on 5.64Non-administrators get a "loading failed" when attempting to use the new mailing widgets in 5.64. Network tab shows a 403 error, backtrace is below.
As a secondary issue - I assume that the `{error_id}` in the first line is a token tha...Non-administrators get a "loading failed" when attempting to use the new mailing widgets in 5.64. Network tab shows a 403 error, backtrace is below.
As a secondary issue - I assume that the `{error_id}` in the first line is a token that's not resolving.
You can replicate this by removing "Administer CiviCRM" from a demo site's `civicrm_webtest_user` role, since they have most other permissions. Create a new user, assign it that role.
```
Aug 14 13:52:03 [debug] AJAX Error ({error_id}): failed with exception
Array
(
[error_id] => 4tEY-xebR-Pf4L
[exception] => Civi\API\Exception\UnauthorizedException: "Authorization failed"
#0 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(149): Civi\API\Kernel->authorize()
#1 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#2 /var/www/mysite.org/web/sites/all/modules/civicrm/api/api.php(85): Civi\Api4\Generic\AbstractAction->execute()
#3 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/Run.php(107): civicrm_api4()
#4 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php(107): Civi\Api4\Action\SearchDisplay\Run->processResult()
#5 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Provider/ActionObjectProvider.php(72): Civi\Api4\Action\SearchDisplay\AbstractRunAction->_run()
#6 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(158): Civi\Api4\Provider\ActionObjectProvider->invoke()
#7 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#8 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php(83): Civi\Api4\Generic\AbstractAction->execute()
#9 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AutocompleteAction.php(183): Civi\Api4\Action\SearchDisplay\AbstractRunAction->execute()
#10 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Provider/ActionObjectProvider.php(72): Civi\Api4\Generic\AutocompleteAction->_run()
#11 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(158): Civi\Api4\Provider\ActionObjectProvider->invoke()
#12 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#13 /var/www/mysite.org/web/sites/all/modules/civicrm/api/api.php(85): Civi\Api4\Generic\AbstractAction->execute()
#14 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Api4/Page/AJAX.php(116): civicrm_api4()
#15 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Api4/Page/AJAX.php(55): CRM_Api4_Page_AJAX->execute()
#16 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(319): CRM_Api4_Page_AJAX->run()
#17 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem()
#18 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke()
#19 /var/www/mysite.org/web/sites/all/modules/civicrm/drupal/civicrm.module(471): CRM_Core_Invoke::invoke()
#20 /var/www/mysite.org/web/includes/menu.inc(527): civicrm_invoke()
#21 /var/www/mysite.org/web/index.php(21): menu_execute_active_handler()
#22 {main}
```5.64.1