Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-02-08T09:56:27Zhttps://lab.civicrm.org/dev/core/-/issues/4962Resource URLs page doesn't load with Smarty32024-02-08T09:56:27ZJonGoldResource URLs page doesn't load with Smarty3Replicable on dmaster (and 5.69) by going to **Administer » System Settings » Resource URLs**.
Screen comes up mostly blank. This shows up in the PHP log.
```
PHP Warning: Undefined property: CRM_Admin_Form_Setting_Url::$_id in /home...Replicable on dmaster (and 5.69) by going to **Administer » System Settings » Resource URLs**.
Screen comes up mostly blank. This shows up in the PHP log.
```
PHP Warning: Undefined property: CRM_Admin_Form_Setting_Url::$_id in /home/jon/local/mysite/web/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php on line 2087"
PHP message: PHP Fatal error: Type of SmartyCompilerException::$line must be int (as in class Exception) in /home/jon/local/mysite/web/wp-content/plugins/civicrm/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smartycompilerexception.php on line 8"
```5.69.5https://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/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/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/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/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/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.0https://lab.civicrm.org/dev/core/-/issues/4939Logged in user who has an existing membership is not seeing this mentioned on...2024-02-01T01:29:08ZpetednzLogged in user who has an existing membership is not seeing this mentioned on a Membership pagePREVIOUS
If logged in/checksum user who has a membership visits a membership page offering that Membership Type they were greeted with "Your XX Membership expires on YY"
CURRENT
Replicated on dmaster - no such message is showingPREVIOUS
If logged in/checksum user who has a membership visits a membership page offering that Membership Type they were greeted with "Your XX Membership expires on YY"
CURRENT
Replicated on dmaster - no such message is showing5.69.4https://lab.civicrm.org/dev/core/-/issues/4938Saving a civireport causes the report to crash with `TypeError: Cannot access...2024-01-27T04:53:42ZDaveDSaving a civireport causes the report to crash with `TypeError: Cannot access offset of type string on string in HTML_QuickForm_advmultiselect->toHtml`1. Edit some settings on a civireport.
2. Save the civireport.
3. TypeError: Cannot access offset of type string on string in HTML_QuickForm_advmultiselect->toHtml() (line 807 of ...\sites\all\modules\civicrm\packages\HTML\QuickForm\advm...1. Edit some settings on a civireport.
2. Save the civireport.
3. TypeError: Cannot access offset of type string on string in HTML_QuickForm_advmultiselect->toHtml() (line 807 of ...\sites\all\modules\civicrm\packages\HTML\QuickForm\advmultiselect.php).
There is no stacktrace so I'm not sure yet what it doesn't like.5.70.0https://lab.civicrm.org/dev/core/-/issues/4937(regression) FormBuilder forms with yes/no and autocomplete fail in Firefox2024-01-31T08:51:22ZJonGold(regression) FormBuilder forms with yes/no and autocomplete fail in FirefoxOverview
----------------------------------------
In Civi 5.69 (and master) forms that meet certain criteria fail to submit in Firefox. I believe there are scenarios other than the one I describe below, but this represents a relatively ...Overview
----------------------------------------
In Civi 5.69 (and master) forms that meet certain criteria fail to submit in Firefox. I believe there are scenarios other than the one I describe below, but this represents a relatively simple replicable case.
I did a `git bisect` and tracked it down to https://github.com/civicrm/civicrm-core/pull/28452 (no Gitlab bot that's not a pull request for this issue).
Reproduction steps
----------------------------------------
I've attached a FormBuilder form that's a relatively simple replication case. This requires a field of type "Yes/No" called `yesno` in a custom group with name `contact_fields2`.
Select "yes" or "no" on the custom field, press "Submit".
Current behaviour
----------------------------------------
If you submit this form in Firefox, you see the error "Sorry an error occurred and your information was not saved.", but then the page reloads, though the URL changes:
e.g.:
```
# original
http://dmaster.localhost/civicrm/org-member-renewal
# post-submit
http://dmaster.localhost/civicrm/org-member-renewal?contact-fields-2-yesno-1=0
```
In Chrome, the page submits successfully.
There's also a ton of JS console errors.
On my civicrm-buildkit site, they looked like this:
```
Error: [$rootScope:infdig] http://errors.angularjs.org/1.8.2/$rootScope/infdig?p0=10&p1=%5B%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%7D%5D%5D
Angular 41
jQuery 2
<anonymous> Angular
jQuery 7
<anonymous> Common.js:1659
jQuery 8
angular.js:15697:15
```
On my 5.69.2 non-buildkit site, it looked like this:
```
Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: [[{"msg":"fn: fn","newVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":{}},"oldVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":"..."}}],[{"msg":"fn: fn","newVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":"..."},"oldVal":"..."}],[{"msg":"fn: fn","newVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":"..."},"oldVal":"..."}],[{"msg":"fn: fn","newVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":"..."},"oldVal":"..."}],[{"msg":"fn: fn","newVal":{"formName":"afform:afformOrganizationMembershipRenewal","fieldName":"Organization2:id","values":"..."},"oldVal":"..."}]]
https://errors.angularjs.org/1.8.2/$rootScope/infdig?p0=10&p1=%5B%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%7B%7D%7D%2C%22oldVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%22...%22%7D%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%22...%22%7D%2C%22oldVal%22%3A%22...%22%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%22...%22%7D%2C%22oldVal%22%3A%22...%22%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%22...%22%7D%2C%22oldVal%22%3A%22...%22%7D%5D%2C%5B%7B%22msg%22%3A%22fn%3A%20fn%22%2C%22newVal%22%3A%7B%22formName%22%3A%22afform%3AafformOrganizationMembershipRenewal%22%2C%22fieldName%22%3A%22Organization2%3Aid%22%2C%22values%22%3A%22...%22%7D%2C%22oldVal%22%3A%22...%22%7D%5D%5D
Angular 8
$onChanges http://reamp.local/wp-content/plugins/civicrm/civicrm/ang/crmUi.js?r=GUtKAen_US:789
Angular 34
jQuery 2
<anonymous> Angular
jQuery 7
<anonymous> http://reamp.local/wp-content/plugins/civicrm/civicrm/js/Common.js?r=GUtKAen_US:1659
jQuery 8
angular.js:138:12
```
Expected behaviour
----------------------------------------
Form should always submit successfully.
Environment information
----------------------------------------
* __Browser:__ Firefox 120.0.1
* __CiviCRM:__ master
* __PHP:__ 8.1
* __CMS:__ Drupal 7
* __Database:__ Replicated w/ MariaDB 10.6 and 10.11
* __Web Server:__ Apache 2.45.69.4https://lab.civicrm.org/dev/core/-/issues/4936Standalone: drop downs not displaying fields correctly2024-01-27T21:54:10ZAndy ClarkStandalone: drop downs not displaying fields correctlyThere is a lack of room in drop downs to display field names, so that in some cases it's hard to know what the field name is. For example, selecting the phone type for a contact shows only the first letter of the phone type - only 'M' f...There is a lack of room in drop downs to display field names, so that in some cases it's hard to know what the field name is. For example, selecting the phone type for a contact shows only the first letter of the phone type - only 'M' for mobile. Or 'Website Type' which is undecipherable. Tested on both Firefox and Chrome browsers. This is using the 5.69.2 Standalone release.https://lab.civicrm.org/dev/core/-/issues/4935Standalone: Cannot add a contact to a group after group creation2024-01-24T18:01:16ZAndy ClarkStandalone: Cannot add a contact to a group after group creationHere's the problem: 1. Create the group 2) 'Add to group' screen appears - enter contact name & search 3) select contacts found and click 'Add contact to whatever-you-called-the-group' 4) then 'Add to group' appears but when you click i...Here's the problem: 1. Create the group 2) 'Add to group' screen appears - enter contact name & search 3) select contacts found and click 'Add contact to whatever-you-called-the-group' 4) then 'Add to group' appears but when you click it error message 'Select Group is a required field.' appears but there is no group to select. In fact I couldn't find a way to add a contact to a group at all as the actions for a contact are restricted to just a few actions. This is caused by permissions so not actually a problem so close.
Using the 5.69.2 version of Standalonehttps://lab.civicrm.org/dev/core/-/issues/4932Outbound SMS and Send Email action missing when viewing contact summary2024-01-24T16:39:34ZDaveDOutbound SMS and Send Email action missing when viewing contact summaryI think it's from https://github.com/civicrm/civicrm-core/pull/27973/files. Note how it used to check for special types [BEFORE](https://github.com/civicrm/civicrm-core/pull/27973/files#diff-dfbc52a8403be6cfef3ecfd332d7b7fcc2e3ca579b325d...I think it's from https://github.com/civicrm/civicrm-core/pull/27973/files. Note how it used to check for special types [BEFORE](https://github.com/civicrm/civicrm-core/pull/27973/files#diff-dfbc52a8403be6cfef3ecfd332d7b7fcc2e3ca579b325d4a419c39a3226fdbd7L90) checking filter=1. But now it includes the filter [up front](https://github.com/civicrm/civicrm-core/pull/27973/files#diff-6edb9e1abb30f7ec07c2ea0cecde36eefe0bebf9535022ecd8e8625f02517192R85) so it doesn't get a chance to check for SMS.5.70.0