CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2018-08-18T21:44:11Zhttps://lab.civicrm.org/dev/core/-/issues/273"Recipient phone number is invalid or recipient does not want to receive SMS"...2018-08-18T21:44:11Zjyothi"Recipient phone number is invalid or recipient does not want to receive SMS" error and Contacts with DoNotSms preference failing to filter out during Mass Sms in 5.x"Recipient phone number is invalid or recipient does not want to receive SMS" error occurs during individual SMS. https://civicrm.stackexchange.com/questions/25478/clickatell-sms-recipient-phone-number-is-invalid-or-recipient-does-not-wa..."Recipient phone number is invalid or recipient does not want to receive SMS" error occurs during individual SMS. https://civicrm.stackexchange.com/questions/25478/clickatell-sms-recipient-phone-number-is-invalid-or-recipient-does-not-want-to.
Contacts marked as 'donotsms' is not filtered out during mass SMS.5.5.0https://lab.civicrm.org/dev/core/-/issues/219Improve consistency displaying "Test Transactions"2018-07-24T19:41:11Zmattwiremjw@mjwconsult.co.ukImprove consistency displaying "Test Transactions"There are currently a number of inconsistencies with displaying test transactions:
1. There is either no indication, or it is not obvious that you are viewing a test contribution/recur/membership when viewing the details.
2. Test members...There are currently a number of inconsistencies with displaying test transactions:
1. There is either no indication, or it is not obvious that you are viewing a test contribution/recur/membership when viewing the details.
2. Test memberships do not appear in the contact membership tab, but test contributions/recurring contributions do.
Proposal:
1. Add some "help" text that appears above the entity detail when viewing the entity if it is a test transaction.
2. Show test memberships in contact membership tab so it is consistent with other tabs.5.5.0https://lab.civicrm.org/dev/core/-/issues/3629Extraneous space in From address causes on-hold set on all recipients2022-06-11T14:57:32ZBobSExtraneous space in From address causes on-hold set on all recipientsIf a CiviMail email is sent with a From address having the form<br>
`"Name" <me@example.com>` (note two spaces before '<')<br>
then:
1. No emails are sent
2. **All recipients are marked On-Hold!**
Occurs on CiviCRM 4.7.26.
*Edit*: Al...If a CiviMail email is sent with a From address having the form<br>
`"Name" <me@example.com>` (note two spaces before '<')<br>
then:
1. No emails are sent
2. **All recipients are marked On-Hold!**
Occurs on CiviCRM 4.7.26.
*Edit*: Also occurs on 5.2.1
Could not reproduce on demo site as sending email is not enabled there.
The following three CMS log entries are created for each recipient:
1:<pre>Ignoring exception thrown by nullHandler: , Validation failed for: "(INVALID)" <(INVALID)></pre>
2:<pre>$backTrace = #0 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/CRM/Core/Error.php(959): CRM_Core_Error::backtrace("backTrace", TRUE) #1 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::nullHandler(Object(PEAR_Error)) #2 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(577): PEAR_Error->__construct("Validation failed for: \"(INVALID)\" <(INVALID)>", NULL, 16, (Array:2), NULL) #3 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(236): PEAR::_raiseError(NULL, "Validation failed for: \"(INVALID)\" <(INVALID)>") #4 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail/RFC822.php(209): PEAR::__callStatic("raiseError", (Array:1)) #5 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail.php(191): Mail_RFC822->parseAddressList((Array:2), "localhost", FALSE) #6 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail/mail.php(151): Mail->prepareHeaders((Array:10)) #7 ...</pre>
3:<pre>
Notice: Only variables should be passed by reference in CRM_Mailing_BAO_MailingJob->deliverGroup() (line 721 of /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/CRM/Mailing/BAO/MailingJob.php).
</pre>5.5.0https://lab.civicrm.org/dev/core/-/issues/383Edit Form of custom field does not load2018-11-09T22:11:39ZjitendraEdit Form of custom field does not loadTo replicate - navigate to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group/field?reset=1&action=browse&gid=1 and edit on a custom field which is not linked to an option group. Eg Marriage date.To replicate - navigate to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group/field?reset=1&action=browse&gid=1 and edit on a custom field which is not linked to an option group. Eg Marriage date.5.5.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/368Scheduled Reminder edit form does not populate date criteria correctly when e...2018-09-03T00:42:54ZandrewcormickdockeryScheduled Reminder edit form does not populate date criteria correctly when editing old remindersWhen editing an old scheduled reminder as shown here (note, to be sent 30 days before membership end date):
![image](/uploads/186749b711bc60889055e8a84994584e/image.png)
the edit form populates incorrectly as shown:
![image](/uploads/24...When editing an old scheduled reminder as shown here (note, to be sent 30 days before membership end date):
![image](/uploads/186749b711bc60889055e8a84994584e/image.png)
the edit form populates incorrectly as shown:
![image](/uploads/24c30ad7f8b8004032b8de5f06aded6a/image.png)
This has caused our users to inadvertently render their reminder ineffective when editing unrelated items on the reminder (for example, the email text).
The log tables show what's happened here (extract from log_civicrm_action_schedule):
![image](/uploads/ae7d5c9d851d81bd7626317c87d1e908/image.png)
Apparently at some point, the coding for membership end date changed from "membership_end_date" to "end_date" but there was no accompanying database update performed to retrospectively change legacy reminders.
I should note that the reminders are actually still sent, but this bug with the edit form has caused grief for some users.5.5.0https://lab.civicrm.org/dev/core/-/issues/353As of 5.4.0, Activity Search gives an empty result set2018-09-03T01:56:12ZPradeep Nayakpradpnayak@gmail.comAs of 5.4.0, Activity Search gives an empty result setFrom SE: https://civicrm.stackexchange.com/questions/26208/as-of-5-4-0-activity-search-gives-an-empty-result-set-confirmation-anyone
Probably this might have caused regression https://github.com/civicrm/civicrm-core/commit/fd95406da80
...From SE: https://civicrm.stackexchange.com/questions/26208/as-of-5-4-0-activity-search-gives-an-empty-result-set-confirmation-anyone
Probably this might have caused regression https://github.com/civicrm/civicrm-core/commit/fd95406da80
PR: https://github.com/civicrm/civicrm-core/pull/127135.5.0https://lab.civicrm.org/dev/core/-/issues/350SMS immediate send not working in 5.4.02018-08-28T11:48:01ZAndy ClarkSMS immediate send not working in 5.4.0In 5.4.0 (Drupal) users couldn't send immediate SMS messages (using Twilio), with a message something like "recipients phone number invalid or they do not want to receive SMS delivery" BUT they could still send SMSs via batch. Similar pr...In 5.4.0 (Drupal) users couldn't send immediate SMS messages (using Twilio), with a message something like "recipients phone number invalid or they do not want to receive SMS delivery" BUT they could still send SMSs via batch. Similar problem was raised on Stackexchange at https://civicrm.stackexchange.com/questions/25478/clickatell-sms-recipient-phone-number-is-invalid-or-recipient-does-not-want-to but seems to be discussed as a Clickatell problem - but we're using Twilio. Problem is at line 1829 of activity.php where $doNotSms = TRUE; Changing this to $doNotSms = NULL; does temporarily fix the problem but ignores user preferences (I think). From discussions at https://github.com/veda-consulting/org.civicrm.sms.clickatell/issues/20 it also affects 5.3.0 and 5.3.15.5.0https://lab.civicrm.org/dev/core/-/issues/336Cannot activate extension on Memcache+WP configuration2019-02-12T14:49:37ZtottenCannot activate extension on Memcache+WP configurationThis issue was originally reported by @haystack on Mattermost and described further in the comments for a PR for #316. It is similar to #316 in that both involve a Memcache configuration, but otherwise it appears different. (I have not p...This issue was originally reported by @haystack on Mattermost and described further in the comments for a PR for #316. It is similar to #316 in that both involve a Memcache configuration, but otherwise it appears different. (I have not personally been able to reproduce it yet, and the solution for #316 doesn't address this.) Below, I'm copying over the details from Christian's previous report.
## Excerpt 1
(*From Christian*)
One further issue I've run into is that Extensions cannot be installed while Memcached is being used:
```
$Fatal Error Details = array(3) {
["message"]=>
string(19) "Unknown extension: "
["code"]=>
NULL
["exception"]=>
object(CRM_Extension_Exception_MissingException)#6982 (10) {
["errorData":"CRM_Core_Exception":private]=>
array(1) {
["error_code"]=>
int(0)
}
... lots more debugging ...
```
As you can see, `$key` is empty in `CRM_Extension_Container_Collection::getContainer()` - I presume this is as a result of `CRM_Extension_Container_Collection::getKeysToContainer()` grabbing the containers with:
```
$k2c = $this->cache->get($this->cacheKey);
```
FWIW, turning Memcached _off_ allows me to install Extensions.
## Excerpt 2
(From Christian)
Apologies in advance if there's too much debugging info below - I've tried to debug the Install Extension process but I get lost in the intricacies of `HTML_QuickForm` so I thought dumping everything I can see might help. The problem in `CRM_Extension_Container_Collection::getContainer()` is that `$key` is not defined:
```
Array
(
[method] => CRM_Extension_Container_Collection::getContainer
[key] =>
[k2c] => Array
(
[com.iatspayments.civicrm] => civiroot
[org.civicrm.shoreditch] => default
)
[backtrace] => #0 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Extension/Container/Collection.php(111): CRM_Extension_Container_Collection->getContainer(NULL)
#1 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Extension/Mapper.php(185): CRM_Extension_Container_Collection->getPath(NULL)
#2 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/Extensions.php(85): CRM_Extension_Mapper->keyToInfo(NULL)
#3 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(585): CRM_Admin_Form_Extensions->preProcess()
#4 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(136): CRM_Core_Form->buildForm()
#5 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), 'next', 'Next')
#6 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), 'next')
#7 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), 'next')
#8 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle('next')
#9 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(398): CRM_Core_Controller->run()
#10 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(156): CRM_Core_Page_Basic->edit(1, NULL)
#11 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Extensions.php(121): CRM_Core_Page_Basic->run()
#12 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309): CRM_Admin_Page_Extensions->run(Array, NULL)
#13 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem(Array)
#14 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke(Array)
#15 /path/to/wp-content/plugins/civicrm/civicrm.php(1246): CRM_Core_Invoke::invoke(Array)
#16 [internal function]: CiviCRM_For_WordPress->invoke('')
#17 /path/to/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array)
#18 /path/to/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#19 /path/to/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#20 /path/to/wp-admin/admin.php(224): do_action('toplevel_page_C...')
#21 {main}
)
```
Debugging further up the line in `CRM_Admin_Form_Extensions::preProcess()` shows the context, though it still doesn't show me exactly why `$key` is undefined:
```
Array
(
[method] => CRM_Admin_Form_Extensions::preProcess
[key] =>
[id] =>
[GET] => Array
(
[page] => CiviCRM
[q] => civicrm/admin/extensions
[noheader] => 1
)
[POST] => Array
(
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[REQUEST] => Array
(
[page] => CiviCRM
[q] => civicrm/admin/extensions
[noheader] => 1
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[backtrace] => #0 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(585): CRM_Admin_Form_Extensions->preProcess()
#1 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(136): CRM_Core_Form->buildForm()
#2 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), 'next', 'Next')
#3 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), 'next')
#4 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), 'next')
#5 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle('next')
#6 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(398): CRM_Core_Controller->run()
#7 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(156): CRM_Core_Page_Basic->edit(1, NULL)
#8 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Extensions.php(121): CRM_Core_Page_Basic->run()
#9 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309): CRM_Admin_Page_Extensions->run(Array, NULL)
#10 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem(Array)
#11 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke(Array)
#12 /path/to/wp-content/plugins/civicrm/civicrm.php(1246): CRM_Core_Invoke::invoke(Array)
#13 [internal function]: CiviCRM_For_WordPress->invoke('')
#14 /path/to/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array)
#15 /path/to/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#16 /path/to/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#17 /path/to/wp-admin/admin.php(224): do_action('toplevel_page_C...')
#18 {main}
)
```
Here's what `CRM_Admin_Form_Extensions` looks like at the above moment:
```
[this] => CRM_Admin_Form_Extensions Object
(
[_id:protected] =>
[_values:protected] => Array
(
)
[_BAOName:protected] => CRM_Core_BAO_Extension
[_state:protected] =>
[_name:protected] => Extensions
[_title:protected] =>
[_defaults] => Array
(
)
[_options] =>
[_action] => 1
[_paymentProcessors:protected] =>
[_paymentProcessorIDs] =>
[_paymentProcessorID:protected] =>
[_is_pay_later_enabled:protected] =>
[_renderer:protected] =>
[_dateFields:protected] => Array
(
)
[unsavedChangesWarn:protected] =>
[ajaxResponse] => Array
(
)
[urlPath] => Array
(
[0] => civicrm
[1] => admin
[2] => extensions
)
[context:protected] =>
[controller] => CRM_Core_Controller_Simple Object
(
[_title:protected] => CRM_Admin_Form_Extensions
[_key] => 926b1c386f5b9c64184e995104741f62_6496
[_scope:protected] => CRM_Admin_Form_Extensions_926b1c386f5b9c64184e995104741f62_6496
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
[_embedded:protected] => 1
[_skipRedirection:protected] =>
[_print] => 0
[_generateQFKey] => 1
[_QFResponseType] => html
[_parent:protected] =>
[_destination] =>
[_entryURL] =>
[_pages] => Array
(
[Extensions] => CRM_Admin_Form_Extensions Object
*RECURSION*
)
[_actions] => Array
(
[Extensions] => HTML_QuickForm_Action_Direct Object
(
)
[display] => CRM_Core_QuickForm_Action_Display Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[next] => CRM_Core_QuickForm_Action_Next Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[back] => CRM_Core_QuickForm_Action_Back Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[process] => CRM_Core_QuickForm_Action_Process Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[cancel] => CRM_Core_QuickForm_Action_Cancel Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[refresh] => CRM_Core_QuickForm_Action_Refresh Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[reload] => CRM_Core_QuickForm_Action_Reload Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[done] => CRM_Core_QuickForm_Action_Done Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[jump] => CRM_Core_QuickForm_Action_Jump Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[submit] => CRM_Core_QuickForm_Action_Submit Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[upload] => CRM_Core_QuickForm_Action_Upload Object
(
[_uploadNames:protected] => Array
(
[0] => attachFile_1
[1] => attachFile_2
[2] => attachFile_3
[3] => uploadFile
)
[_uploadDir:protected] => /path/to/wp-content/plugins/files/civicrm/upload/
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
)
[_name] => CRM_Admin_Form_Extensions_926b1c386f5b9c64184e995104741f62_6496
[_modal] => 1
[_actionName] => Array
(
[0] => Extensions
[1] => next
)
)
[_chainSelectFields:CRM_Core_Form:private] => Array
(
)
[_actions] => Array
(
)
[_formBuilt] => 1
[_elements] => Array
(
)
[_elementIndex] => Array
(
)
[_duplicateIndex] => Array
(
)
[_required] => Array
(
)
[_jsPrefix] => Invalid information entered.
[_jsPostfix] => Please correct these fields.
[_datasource] =>
[_defaultValues] => Array
(
)
[_constantValues] => Array
(
)
[_submitValues] => Array
(
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[_submitFiles] => Array
(
)
[_maxFileSize] => 41943040
[_freezeAll] =>
[_rules] => Array
(
)
[_formRules] => Array
(
)
[_errors] => Array
(
)
[_requiredNote] => <span style="font-size:80%; color:#ff0000;">*</span><span style="font-size:80%;"> denotes required field</span>
[_flagSubmitted] => 1
[_attributes] => Array
(
[action] => https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/extensions
[method] => post
[name] => Extensions
[id] => Extensions
[class] => CRM_Admin_Form_Extensions
)
[_tabOffset] => 0
[_tab] =>
[_lineEnd] =>
[_comment] =>
[_key] =>
)
```
So, somewhere at some point, the `_key` property is not being set.
@totten Can you suggest how I might be able to pinpoint what's going on?
## Excerpt 3
(*From Christian*)
@totten A little more info: when Memcached is *not* being used, the URL sequence is as follows:
* The "Install" page is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add&id=org.civicrm.shoreditch&key=org.civicrm.shoreditch
* The resulting location is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&reset=1&action=browse
When Memcached *is* being used:
* The "Install" page is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add&id=org.civicrm.shoreditch&key=org.civicrm.shoreditch
* The resulting location is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions
As I said, I'll happily test further given pointers as to where to keep digging.
------
## Excerpt 4
(*From totten via Mattermost*)
@haystack on a brief skim, it seems like the target extension-key should be passed through page arguments, but the pageflow there is a little tricky (so brief skim may be miselading). Maybe a quirk in session-mgmt could be the issue? (Ex: memcache prematurely purges session-state). Would be interesting to see:
1. With memcache active -- do the extensions install via CLI? (e.g. `wp civicrm-api extension.install key=org.civicrm.shoreditch` or `cv en shoreditch`)
2. With memcache active -- does the gui installer work when [if sessions are stored in sql - but otherwise the system uses memcache](https://gist.github.com/totten/1e90a48da78f518931f34c709df83c13) ?
If #2 works, I'd take that as a signal that memcache isn't reliably storing session state.
If #2 doesn't make a difference, then #1 might be interesting.5.5.0https://lab.civicrm.org/dev/core/-/issues/333testTargetAddressFields() in 5.5 fails half the time2018-08-16T05:58:55ZtottentestTargetAddressFields() in 5.5 fails half the timeThe test `CRM_Report_Form_ActivityTest::testTargetAddressFields()` was added in 5.5. 5.5 is the current RC, and test is failing frequently -- about half the time. ([Recent build history](https://test.civicrm.org/job/CiviCRM-Core-Matrix/C...The test `CRM_Report_Form_ActivityTest::testTargetAddressFields()` was added in 5.5. 5.5 is the current RC, and test is failing frequently -- about half the time. ([Recent build history](https://test.civicrm.org/job/CiviCRM-Core-Matrix/CIVIVER=5.5,label=ubuntu1204/))
I think the problem traces to [this line](https://github.com/civicrm/civicrm-core/pull/11660/files#diff-9b126bfd3563d59749fc7aac722e04ceR155). Evidently, the ordering must be non-deterministic -- i.e. both `India;United States` and `United States;India` come up in practice.
I don't know if that variation is acceptable or not. If it is acceptable, then the simplest change would be to make the assertion a logical `OR` (e.g. assert that `$rows[0]['civicrm_address_country_id']` is either `India;United States` or `United States;India`). If the variation is significant... then I guess that would require something else...?
@monish.deb, can you figure out a patch for 5.5?5.5.0https://lab.civicrm.org/dev/core/-/issues/326Fatal error 'DB Error: no such field' on Contribution detail report when sect...2018-11-09T22:11:38ZPradeep Nayakpradpnayak@gmail.comFatal error 'DB Error: no such field' on Contribution detail report when section header enabledError code : Database Error Code: Unknown column 'civicrm_contribution_total_amount' in 'field list', 1054
![Peek_2018-08-14_16-19](/uploads/519bfa9483886f0ef2df276e76d1eb80/Peek_2018-08-14_16-19.gif)
Issue filed on stackexchange : ht...Error code : Database Error Code: Unknown column 'civicrm_contribution_total_amount' in 'field list', 1054
![Peek_2018-08-14_16-19](/uploads/519bfa9483886f0ef2df276e76d1eb80/Peek_2018-08-14_16-19.gif)
Issue filed on stackexchange : https://civicrm.stackexchange.com/questions/26124/db-error-missing-field-in-contribution-reports-after-upgrade-to-5-4-0-drupal/261265.5.0https://lab.civicrm.org/dev/core/-/issues/319Advanced search export: when location types' display names are different from...2018-08-27T01:41:01ZnoahAdvanced search export: when location types' display names are different from their machine names, empty columns are exportedEDITED to be more accurate following further investigation into the symptoms.
This is a regression in the last couple versions of Civi (I see it on 5.3.1 and 5.4.0, as well as 5.5-rc and master).
**Summary:** When exporting from advanc...EDITED to be more accurate following further investigation into the symptoms.
This is a regression in the last couple versions of Civi (I see it on 5.3.1 and 5.4.0, as well as 5.5-rc and master).
**Summary:** When exporting from advanced search, if you select email/phone/address fields to export _where the location type's display name is different from its machine name_, the headers for those columns will be included in the export, but the cells in those columns will be blank.
**To reproduce:**
1. Create a location type called "Field Office" with machine name "FieldOffice" or "FO"
1. Create a contact with a "Field Office" email.
1. Find that contact using advanced search and select the "export" task.
1. Select "Individual - Email - Field Office" as a field to export.
1. In the resulting CSV, there's a blank cell where the email address should be.
**Notes:** I also notice:
* the columns in the export are not in the same order as on the export column selection screen.
* exporting from Search Builder has a similar-but-different problem: if two location types are selected for export, only one of the columns will successfully be exported.
I see that quite a bit of work has gone into the Export code in recent releases and I suspect this regression happened as a result.
I'm interested in creating tests for this but I'd need someone to hold my hand through the process, as I have no recent experience doing that.5.5.0https://lab.civicrm.org/dev/core/-/issues/293Error log is filled with geocoding configuration errors when no provider is set2018-07-30T19:55:41ZtschuettlerError log is filled with geocoding configuration errors when no provider is setIf no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```If no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```5.5.0https://lab.civicrm.org/dev/core/-/issues/292Search builder stops working after 5.3.1 (due accents on custom set fields ti...2019-02-05T22:12:59ZfrancescbassasSearch builder stops working after 5.3.1 (due accents on custom set fields titles)After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm...After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group?reset=1 and edit a custom set title for example with "CancelaciĆ³n SuscripciĆ³n" and save it. Then go to https://dmaster.demo.civicrm.org/civicrm/contact/search/builder?reset=1 and select some -record type- you will notice that no type of operator related to the selected type is suggested.
On the browser console appears this error:
![search-builder-break](/uploads/705047a221ee4fce997ade35a44e645d/search-builder-break.png)5.5.0https://lab.civicrm.org/dev/core/-/issues/289CiviCase Dashboard link to edit an activity status broken2018-11-09T20:25:39ZGMCVO DatabasesCiviCase Dashboard link to edit an activity status brokenThere is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=1There is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=15.5.0https://lab.civicrm.org/dev/core/-/issues/277Recurring contribution tab shouldn't count test transactions2018-07-31T22:12:11ZPradeep Nayakpradpnayak@gmail.comRecurring contribution tab shouldn't count test transactions![Screenshot_from_2018-07-24_13-27-48](/uploads/4ec1bca56c36f0c71cf2b7694662bde6/Screenshot_from_2018-07-24_13-27-48.png)
PR at https://github.com/civicrm/civicrm-core/pull/12553![Screenshot_from_2018-07-24_13-27-48](/uploads/4ec1bca56c36f0c71cf2b7694662bde6/Screenshot_from_2018-07-24_13-27-48.png)
PR at https://github.com/civicrm/civicrm-core/pull/125535.5.0https://lab.civicrm.org/dev/core/-/issues/259OptionGroup Admin UI workflow improvements2018-12-18T12:16:03Zmattwiremjw@mjwconsult.co.ukOptionGroup Admin UI workflow improvementsVarious improvements to the "flow" of the option groups admin pages.
Before
----------------------------------------
* No option to edit option group settings (eg. change the label).
* When clicking "Done" editing options, redirect to t...Various improvements to the "flow" of the option groups admin pages.
Before
----------------------------------------
* No option to edit option group settings (eg. change the label).
* When clicking "Done" editing options, redirect to the option groups list instead of the default admin page.
After
----------------------------------------
* Add option to edit option group settings (the code was already in place, but not exposed in UI).
* Display "is_reserved" status on option group settings.
* Don't allow changing data type on reserved option groups.
* On update optiongroup don't touch is_reserved.
![localhost_8000_civicrm_admin_options_action browse reset 1 4](https://user-images.githubusercontent.com/2052161/42726000-43ca3642-8785-11e8-9ea3-d0228ceb558e.png)
![localhost_8000_civicrm_admin_options_action browse reset 1 5](https://user-images.githubusercontent.com/2052161/42726002-48fc8520-8785-11e8-9ebc-9267444e510f.png)
* When clicking "Done" editing options, redirect to the option groups list instead of the default admin page.
![localhost_8000_civicrm_admin_options_action browse reset 1 6](https://user-images.githubusercontent.com/2052161/42726010-6995ac9e-8785-11e8-8823-111f71f52d07.png)
Technical Details
----------------------------------------
UI only changes that enable editing option groups parameters.
Comments
----------------------------------------
If you are working with multiple option groups, the UI has always been a bit difficult to navigate and various functions are not possible via the UI (such as changing the label of an option group).
PR: https://github.com/civicrm/civicrm-core/pull/124735.5.0https://lab.civicrm.org/dev/core/-/issues/256Wrong A/B test recipient assignment when reaching 2^31 recipients overall2018-07-13T23:42:09ZromainWrong A/B test recipient assignment when reaching 2^31 recipients overallWhen assigning recipients from mailing A to mailing B and C when submitting an A/B mailing, a temporary table is used to hold the recipient ids. The column type used to receive the ids is a signed integer, while the recipient ids in `civ...When assigning recipients from mailing A to mailing B and C when submitting an A/B mailing, a temporary table is used to hold the recipient ids. The column type used to receive the ids is a signed integer, while the recipient ids in `civicrm_mailing_recipients` are unsigned integers.
Therefore, once the number of overall recipients reaches 2<sup>31</sup>, there is a mismatch when joining on ids in those two tables. Because of that, no recipient is assigned to mailing B or C, and mailing A is sent to the whole target recipients set.
This happens in `CRM_Mailing_BAO_Recipients::updateRandomRecipients`.
I will submit a patch.5.5.0https://lab.civicrm.org/dev/core/-/issues/255Changes to copied event location reflects in original event location2019-02-05T04:25:52ZyashodhaChanges to copied event location reflects in original event locationSteps to replicate:
1. Create an event X with location A.
2. Create copy of event X say Y and go to location tab for event Y (which will now show location A).
3. Click *Create new location* radio and then click *Use existing location*, ...Steps to replicate:
1. Create an event X with location A.
2. Create copy of event X say Y and go to location tab for event Y (which will now show location A).
3. Click *Create new location* radio and then click *Use existing location*, choose option B.
4. Check event X also has location B.5.5.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/243Backdrop authentication function missing in kcfinder package.2018-07-08T00:13:43ZherbdoolBackdrop authentication function missing in kcfinder package.Reported here https://civicrm.stackexchange.com/questions/25619/backdrop-authentication-function-missing.
It might be possible to update it to use the Drupal authentication function since Backdrop is similar enough. But this needs testing.Reported here https://civicrm.stackexchange.com/questions/25619/backdrop-authentication-function-missing.
It might be possible to update it to use the Drupal authentication function since Backdrop is similar enough. But this needs testing.5.5.0https://lab.civicrm.org/dev/core/-/issues/242Fix display of premiums on contribution pages2018-07-24T05:11:10Zmattwiremjw@mjwconsult.co.ukFix display of premiums on contribution pagesPR Ref: https://github.com/civicrm/civicrm-core/pull/12437
If a premium product is created with no financial type and then added to a contribution page it is not displayed because the contribution page is only selecting those with a fin...PR Ref: https://github.com/civicrm/civicrm-core/pull/12437
If a premium product is created with no financial type and then added to a contribution page it is not displayed because the contribution page is only selecting those with a financial type, but financial type is optional unless you have configured a cost for the product.
Furthermore, if you update the premium product to have a financial type that is not mirrored to the civicrm_premium_product table which contains the configuration for the premium products available on a contribution page.5.5.0