Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-02-01T10:38:38Zhttps://lab.civicrm.org/dev/core/-/issues/4890CiviCRM could not create trigger2024-02-01T10:38:38ZktatgenhorstCiviCRM could not create triggerOverview
----------------------------------------
_Please describe your problem or bug in detail._
Installation of version 5.69.0 on a fresh Ubuntu install with WordPress.
1. I used this link to setup Wordpress on Ubuntu:
https://ub...Overview
----------------------------------------
_Please describe your problem or bug in detail._
Installation of version 5.69.0 on a fresh Ubuntu install with WordPress.
1. I used this link to setup Wordpress on Ubuntu:
https://ubuntu.com/tutorials/install-and-configure-wordpress#1-overview
2. I followed this set of instructions to install CiviCRM:
https://docs.civicrm.org/installation/en/latest/wordpress/
3. When I go to the installation/setup wizard I add the credentials for the database I created (separate from WP database and the user has grant all and specifically grant trigger on civicrm.*). I did destroy the VM and build a second time with same steps and results.
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversation._
I have not posted there, but I see older posts regarding this on previous versions. None of those offer a valid solution for this present issue,
Reproduction steps
----------------------------------------
1. Click on **Contacts -> New Individual**.
1. Entered **First Name** and **Last Name** and clicked **Save**.
1. Got an error "**Fatal error: DB error**".
Current behaviour
The setup stops after DB connect and reports unable to create triggers.
----------------------------------------
_What happens currently. Please provide error messages, screenshots or gifs ([LICEcap](http://www.cockos.com/licecap/), [SilentCast](https://github.com/colinkeenan/silentcast)) where appropriate._
```
TIP: The best way to convey an error message is to copy it in here and use
three backtick ` symbols. You may edit the message to remove private
information (like passwords). The backticks will help to preserve any
special characters or spaces.
```
Expected behaviour
----------------------------------------
_What should happen._
I should pass through the setup screen and have a functioning CiviCRM install.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
Ubuntu 20.04
MySqlD 8.0.35
Php 8.2.4
Apache2 2.4.41
CiviCRM 5.69.0
* __Browser:__ _Firefox 59.0.1/Chrome 78.0.3904/Safari 13_
* __CiviCRM:__ _Master/5.20.0/5.19.1/5.18.2/..._ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.0/7.1/7.2/7.3/...__
* __CMS:__ _Backdrop 1.5/Drupal 7.30/Joomla 3.3/WordPress 4.5/..._
* __Database:__ _MySQL 5.7.7/MariaDB 10.4/..._
* __Web Server:__ _Apache 2.4/Nginx 1.16/..._
Comments
----------------------------------------
_Anything else you would like the reviewer to note._
Thank you,
Karl Tatgenhorsthttps://lab.civicrm.org/dev/release/-/issues/245.69.1 critical error: Undefined array key "crmSearchTasks" in "ext/search_ki...2024-02-01T22:42:39ZDmitry Smirnov5.69.1 critical error: Undefined array key "crmSearchTasks" in "ext/search_kit/search_kit.php" on line 61```
PHP Warning: Undefined array key "crmSearchTasks" in ext/search_kit/search_kit.php on line 61
PHP Warning: Trying to access array offset on value of type null in ext/search_kit/search_kit.php on line 61
PHP Fatal error: Uncaught T...```
PHP Warning: Undefined array key "crmSearchTasks" in ext/search_kit/search_kit.php on line 61
PHP Warning: Trying to access array offset on value of type null in ext/search_kit/search_kit.php on line 61
PHP Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in ext/search_kit/search_kit.php:61
```https://lab.civicrm.org/dev/core/-/issues/4885[5.68.1] Missing Relationship Cache Trigger2024-01-15T11:28:29ZDmitry Smirnov[5.68.1] Missing Relationship Cache TriggerAfter upgrade from 5.53.0 to 5.68.1, _System Status_ page shows "Missing Relationship Cache Trigger" warning.
Attempt to "Rebuild triggers" using the provided button yields no effect.
`civicrm.civicrm_relationship_cache` table have ple...After upgrade from 5.53.0 to 5.68.1, _System Status_ page shows "Missing Relationship Cache Trigger" warning.
Attempt to "Rebuild triggers" using the provided button yields no effect.
`civicrm.civicrm_relationship_cache` table have plenty of records but no triggers.
Debug log is enabled but I could not spot any errors so "rebuilding triggers" appears to fail silently...https://lab.civicrm.org/dev/core/-/issues/4843CronJob for smart group rebuild / cache purge not working2024-01-15T13:12:26ZTobias Voigttobias.voigt@civiservice.deCronJob for smart group rebuild / cache purge not workingI love the idea of being able to use smart / dynamic groups for our client's projects. In one particular case I'm heavily relying on CiviCRM relationships to mirror the organization's structures. Yet I would like to set up accompanying s...I love the idea of being able to use smart / dynamic groups for our client's projects. In one particular case I'm heavily relying on CiviCRM relationships to mirror the organization's structures. Yet I would like to set up accompanying smart groups, that reflect certain relationships (or combination of relationships) to be able to address those smart groups in mailings or use them in the context of ACLs.
The problem I experienced over and over is that **the rebuild process of the smart group cache doesn't work reliably.**
I tested the two existing cronjobs for the rebuild process **Job.group_rebuild** and **Job.group_cache_flush** - yet they don't actually do what they're supposed to do, independent of the sequence in which I trigger them.
Only when I manually purge the system's cache (after I executed those cronjobs), the rebuilt smart groups are shown in the system. It might be possible that only the "**Job.group_cache_flush**" doesn't work correctly and therefore the smart groups are rebuilt by "**Job.group_rebuild**" but the result isn't shown in the system since the cache doesn't get purged.
I was able to reproduce this behaviour on several systems.https://lab.civicrm.org/dev/core/-/issues/4521CiviCRM 5.64.1 update does not always enable core extension CiviContribute wh...2023-09-18T23:43:03Zjustinfreeman (Agileware)CiviCRM 5.64.1 update does not always enable core extension CiviContribute which then causes WSODCiviCRM 5.64.1 update does not always enable core extension CiviContribute which then causes WSOD, throwing an error:
`Error: Class 'Civi\Api4\EntityFinancialAccount' not found in CRM_Financial_BAO_FinancialType::getIncomeFinancialType(...CiviCRM 5.64.1 update does not always enable core extension CiviContribute which then causes WSOD, throwing an error:
`Error: Class 'Civi\Api4\EntityFinancialAccount' not found in CRM_Financial_BAO_FinancialType::getIncomeFinancialType() (line 171 of .../civicrm/CRM/Financial/BAO/FinancialType.php).`
OR
`Uncaught Error: Class 'Civi\Api4\PaymentProcessorType' not found`
This is because the **civi_contribute** extension has not been enabled / loaded yet, which is part of a set of core-bundled extensions that map to each CiviCRM component.
This seems to occurs more regularly when an extension update is available for a Payment Processor or other extension which calls on the missing class from CiviContribute.
Can be manually solved by running `cv en civi_contribute` on the CLI. Sometimes the website UI is inaccessible after this error and CLI is only method available to recover.
This error also seems to interrupt the enabling of other core-bundled extensions, eg. CiviReport, CiviMail, CiviEvent etc.
CiviCRM 5.64.1
Agileware ref: CIVICRM-2163https://lab.civicrm.org/dev/core/-/issues/4398Mailing never starts2023-08-03T12:41:03ZphilmckMailing never startsOverview
----------------------------------------
_Please describe your problem or bug in detail._
Group emails from one of my CiviCRM installations are not being delivered (ever), which has caused some embarrassment. Messages can be com...Overview
----------------------------------------
_Please describe your problem or bug in detail._
Group emails from one of my CiviCRM installations are not being delivered (ever), which has caused some embarrassment. Messages can be composed as usual, but are never scheduled and there's no "runner" display. Pausing and restarting the mailing results in the status changing from "Scheduled" to "Running" and clicking "Report" shows the expected number of intended recipients but the "Successful Deliveries" count is always zero. In case it's relevant, I did notice that the option to send "immediately" is not selected by default (which I think it always is on sites that work), but it can be selected manually.
Obviously, I have enabled the "Send Scheduled Mailings" job and tried triggering that both manually and from a cron job. The log shows success but with a count of zero.
I have also tried obvious things like disabling all extensions, resetting caches and paths, comparing all settings with other installations that do work, searching the forums, bug reports and so on. I've checked that outgoing mail is configured correctly and I can send test emails. There's nothing in the error logs. Nothing makes any difference, it seems to be a bug.
The problem is reproducible in the sense that it's not intermittent, but I haven't been able to reproduce it on a clean installation.
I'd be prepared to move everything to a new installation to work around this but it's a heavily used instance with lots of contacts, invoices and so on and I know of no way to export all those and reimport them later to a working instance. Everything else seems to be working as usual.
Reproduction steps
----------------------------------------
1. Create a group containing some test contacts.
2. Go to **Mailing > New Mailing** and compose a test message, with the group from the previous step selected as Recipients.
3. Click **Send test** and check that a test message is correctly delivered.
4. Click **Next** then select **Immediately** or a date and time 5 minutes in the future.
5. Click **Submit Mailing**.
6. Wait for cron to run or go to **System Settings > Scheduled Jobs** and trigger **Send Scheduled Mailings**. Check that the result is success.
7. Check that the message is now in **Mailing > Scheduled and Sent Mailings**. Click **Report**. Observe that **Intended recipients** is not zero but **Successful deliveries** is always zero.
Current behaviour
----------------------------------------
_What happens currently. Please provide error messages, screenshots or gifs ([LICEcap](http://www.cockos.com/licecap/), [SilentCast](https://github.com/colinkeenan/silentcast)) where appropriate._
Nothing happens. No messages delivered, nothing in error logs.
Expected behaviour
----------------------------------------
_What should happen._
Messages are sent once the scheduled job is triggered, perhaps with a batch limit. Eventually the whole job completes and the status changes to "Completed".
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Browser:__ _Chrome 114.0.5735.135_
* __CiviCRM:__ _Master/5.62.1_
* __PHP:__ _8.1_
* __CMS:__ _WordPress 6.2.2 running on Ubuntu 22.04_
* __Database:__ _MariaDB 10.6.12_
* __Web Server:__ _OpenLiteSpeed 1.7.17_https://lab.civicrm.org/dev/core/-/issues/4289Multi record Profile forms not saving and redirecting on "Add New Record".2023-11-08T14:04:31Zdarren.woodsMulti record Profile forms not saving and redirecting on "Add New Record".Overview
----------------------------------------
Multi record Profile forms are no longer respecting the "Redirect URL" for the Profile:-
![image](/uploads/3b349b061965a160ec7a51cfab703972/image.png)
Reproduction steps
----------------...Overview
----------------------------------------
Multi record Profile forms are no longer respecting the "Redirect URL" for the Profile:-
![image](/uploads/3b349b061965a160ec7a51cfab703972/image.png)
Reproduction steps
----------------------------------------
1. Under "Administer/Custom Data and Screens/Display Preferences" deselect "Enable Popup Forms".
2. Create a multi record custom data group and add a field.
2. Create a Profile which exposes these fields as a standalone form, setting the "Redirect URL" to be a valid URL.
3. Embed this Profile in a WordPress page using a shortcode, e.g.: [civicrm component="profile" gid="16" mode="edit" hijack="0"]
4. View the Page and click "Add new record", enter some valid data and click "Submit button.
Current behaviour
----------------------------------------
Form data is not saved and user is redirected to /civicrm/profile/edit which results in a blank WordPress page.
Expected behaviour
----------------------------------------
Form data is saved and user is redirected to the Redirect URL.
Environment information
----------------------------------------
CiviCRM 5.61.2
WordPress 6.2
Comments
----------------------------------------
_Anything else you would like the reviewer to note._https://lab.civicrm.org/dev/core/-/issues/4135Regression: Fatal errors in IPNs after loadRelatedObjects refactor2023-03-10T14:35:06ZJKingsnorthRegression: Fatal errors in IPNs after loadRelatedObjects refactor@eileen This refactor causes fatal errors with our IPN-based payment processor : https://github.com/civicrm/civicrm-core/commit/d0a93d4dfc2a771b095f26fa33eb5551d6c9dcdb
I still need to do some more investigation, but the error we see is...@eileen This refactor causes fatal errors with our IPN-based payment processor : https://github.com/civicrm/civicrm-core/commit/d0a93d4dfc2a771b095f26fa33eb5551d6c9dcdb
I still need to do some more investigation, but the error we see is:
`TypeError: Illegal offset type in CRM_Financial_BAO_PaymentProcessor::getPayment() (line 222 of .../CRM/Financial/BAO/PaymentProcessor.php).`
Which corresponds to the return in:
![image](/uploads/dd002c8675a668f90d75e6ebb20dc9a1/image.png)
Reverting that refactor fixes the issue for us. I'll do some more digging...https://lab.civicrm.org/dev/core/-/issues/4005Minor formatting gripes with Contributions UserDashboard.tpl2023-10-17T14:38:15ZAdam WoodMinor formatting gripes with Contributions UserDashboard.tplRaising this as a minor residual issue / action vaguely related to historic issues https://lab.civicrm.org/dev/core/-/issues/2034 and https://lab.civicrm.org/dev/core/-/issues/2129, namely some incidental formatting issues spotted in the...Raising this as a minor residual issue / action vaguely related to historic issues https://lab.civicrm.org/dev/core/-/issues/2034 and https://lab.civicrm.org/dev/core/-/issues/2129, namely some incidental formatting issues spotted in the user dashboard template for recurring contributions.
Minor issues relating to spacing and formatting, will raise PR to close off.
1. No handling for if (installments == 0), i.e. the recurring contribution is open-ended. Just leaves a blank string which is confusing to users.
2. No spacing between clauses in 'Terms' - makes difficult to read. Also untranslated strings.
3. Unnecessary colon after 'Terms' in table header (doesn't match other header cells).
Screenshot below shows issues.
![image](https://user-images.githubusercontent.com/72983627/205190951-4db837e1-85df-4e38-a8b4-77ab1550a44b.png)
![image](https://user-images.githubusercontent.com/72983627/205190481-e8d642a5-9956-4fc3-a0d2-51f16187dca1.png)https://lab.civicrm.org/dev/core/-/issues/3993Order wrong processing wait list participants2023-02-09T07:20:44ZDevAppOrder wrong processing wait list participantsThe CiviCRM wait list appears to offer the last person on the list the place, rather than the first place (oldest) registration.
Seemingly others are having this issue as well: https://civicrm.stackexchange.com/questions/37944/order-pro...The CiviCRM wait list appears to offer the last person on the list the place, rather than the first place (oldest) registration.
Seemingly others are having this issue as well: https://civicrm.stackexchange.com/questions/37944/order-processing-waitlist-participantshttps://lab.civicrm.org/dev/core/-/issues/3953Fatal error after upgrade to 5.54.0 and enabling Authx2022-11-01T22:19:44ZkcristianoFatal error after upgrade to 5.54.0 and enabling AuthxI want to log this as it was very puzzling, but could be site specific.
Upgraded from CiviCRM 5.51.3 to 5.54.0 on WP 5.9.x and php 7.4 on a Multi-Site.
Also updated Mosaico from 2.9.x to 2.10
After Upgrade CiviCRM said Authx needed to...I want to log this as it was very puzzling, but could be site specific.
Upgraded from CiviCRM 5.51.3 to 5.54.0 on WP 5.9.x and php 7.4 on a Multi-Site.
Also updated Mosaico from 2.9.x to 2.10
After Upgrade CiviCRM said Authx needed to be enabled, so I did that.
Once I did that on the 'sub-sites' all non admins could not load New Mailings, Contribution Dashboard, Advanced search.
Error was
```
$Fatal Error Details = array:3 [
"message" => "The "cache.decendantGroups" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead."
"code" => null
"exception" => Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException {#3618
-id: "cache.decendantGroups"
-sourceId: null
-alternatives: []
#message: "The "cache.decendantGroups" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead."
```
I was able to grant two new poermissions to the user's role
```
AuthX: Authenticate to services with password
AuthX: Authenticate to services with API key
```
That seems to have fixed the issue - but I don't understand what really happened here.
Will try and reproduce and report back.https://lab.civicrm.org/dev/backdrop/-/issues/67PHP notices when saving permissions form2022-10-21T07:35:43ZbgmPHP notices when saving permissions form*Created by: jenlampton*
When the permissions form is saved (for the first time) the following PHP notices appear at the top of the page:
```
Notice: Constant CIVICRM_UF already defined in Civi\Setup\UI\SetupController->boot() (line 13...*Created by: jenlampton*
When the permissions form is saved (for the first time) the following PHP notices appear at the top of the page:
```
Notice: Constant CIVICRM_UF already defined in Civi\Setup\UI\SetupController->boot() (line 130 of backdrop/docroot/modules/civicrm/setup/src/Setup/UI/SetupController.php).
Notice: Constant CIVICRM_TEMPLATE_COMPILEDIR already defined in Civi\Setup\UI\SetupController->boot() (line 131 of backdrop/docroot/modules/civicrm/setup/src/Setup/UI/SetupController.php).
Notice: Constant CIVICRM_UF_BASEURL already defined in Civi\Setup\UI\SetupController->boot() (line 132 of backdrop/docroot/modules/civicrm/setup/src/Setup/UI/SetupController.php).
```https://lab.civicrm.org/dev/core/-/issues/3887CiviMail failed with a loose translated message like "Sorry, error happened a...2022-10-20T19:45:37ZSylvain PlanteCiviMail failed with a loose translated message like "Sorry, error happened and your mail has not been record" whenever I tried to use a sample templateOverview
----------------------------------------
When we try to create a mass mailing message and use one of the sample template provided with CiviCRM, I get this message "Désolé, une erreur est survenue et vos informations n'ont pas ét...Overview
----------------------------------------
When we try to create a mass mailing message and use one of the sample template provided with CiviCRM, I get this message "Désolé, une erreur est survenue et vos informations n'ont pas été enregistrées". If I use a simplier template I made, it is working ok.
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversation._
Reproduction steps
----------------------------------------
1. Click on **mass mailing**, **new mailing**
2. Fill all fields except **Campaign** and **Template** and then clicked **Save as draft**.
3. Got no error message.
4. Go back, click on **mass mailing**, **draft mailing**, find the draft and click **continue".
5. Choose a template in **template** field.
6. As soon as the template finish loading and autosave try to save it...
7. Got the error message "Désolé, une erreur est survenue et vos informations n'ont pas été enregistrées"
Current behaviour
----------------------------------------
Expected behaviour
----------------------------------------
Should save a draft and let me edit the mail template.
Environment information
----------------------------------------
* __Browser:__ _Chrome Version 106.0.5249.61 | Edge Version 105.0.1343.53
* __CiviCRM:__ _Master/5.50.1
* __PHP:__ _7.4.29
* __CMS:__ _WordPress 6.0.2
* __Database:__ _MariaDB 10.3.34
* __Web Server:__ _Apache 2.4.53
Comments
----------------------------------------
I have tried to reset CiviCRM cache and rebuild path but to no avail. Group are small, 2 or 3 email address. Work with a simple custom template. No recent update of WP or CiviCRM. We are just starting playing with mass mailing, so I can't tell for how long it has not been working. Also tested sending email to a group. Search contact, select a couple of contact, action->send immediate email, choose the sample template, fill the fields, send email, success! No problem. Seem to be related to how CiviMail store a mass mailing in db. Need help to debug further. Thank you.https://lab.civicrm.org/dev/core/-/issues/3710Grants not shown for contact2022-08-02T04:13:05ZAdam WoodGrants not shown for contactSince the migration of CiviGrant to an extension, grants are no longer showing for a contact:
![image](/uploads/724db8ea7bf8523e2de84820d5aa4411/image.png)
This has been observed persistently on versions 5.47.3 and 5.50.4. I have tried v...Since the migration of CiviGrant to an extension, grants are no longer showing for a contact:
![image](/uploads/724db8ea7bf8523e2de84820d5aa4411/image.png)
This has been observed persistently on versions 5.47.3 and 5.50.4. I have tried various obvious things e.g. purging caches, disabling / re-enabling CiviGrant.https://lab.civicrm.org/dev/core/-/issues/3637Google G Suite: Sending via smtp.gmail.com will alter the From Address2022-06-11T14:57:51ZkenGoogle G Suite: Sending via smtp.gmail.com will alter the From AddressIf you're using Google G Suite, send email via smtp-relay.gmail.com rather than smtp.gmail.com.
If you use smtp.gmail.com then the FROM header in the email will be a mashup of the From Address and the SMTP Username.
For example ...
* ...If you're using Google G Suite, send email via smtp-relay.gmail.com rather than smtp.gmail.com.
If you use smtp.gmail.com then the FROM header in the email will be a mashup of the From Address and the SMTP Username.
For example ...
* Say my SMTP Username is set in _Settings - Outbound Mail_ to **smtp@example.com**
* Say I use the following _From Address_ in my CiviMail: **My Name <my.name@example.com>**
* The FROM header in the email will be **From: My Name <smtp@example.com>**
Using smtp-relay.gmail.com does what you expect.https://lab.civicrm.org/dev/core/-/issues/3612Tokens broken2022-06-11T14:56:45ZJoeMurrayTokens brokenThe contact source and created date tokens are exposed in CiviMail/Mosaico. They do work when doing one off emails and print/merge.The contact source and created date tokens are exposed in CiviMail/Mosaico. They do work when doing one off emails and print/merge.https://lab.civicrm.org/dev/core/-/issues/3546Recipients in smart group are less than actual in group2023-02-08T16:54:07ZGhost UserRecipients in smart group are less than actual in groupFor some reason smart group is only sending to five people even though group has 47 and none have opted out of bulk mailing or email so not sure why the mailing interface is only calculating 5 recipients.
![Screen_Shot_2018-12-20_at_1.0...For some reason smart group is only sending to five people even though group has 47 and none have opted out of bulk mailing or email so not sure why the mailing interface is only calculating 5 recipients.
![Screen_Shot_2018-12-20_at_1.05.06_PM](/uploads/03674ebbecba86a4c8c585f305bfe515/Screen_Shot_2018-12-20_at_1.05.06_PM.png)
![Screen_Shot_2018-12-20_at_1.05.35_PM](/uploads/d5054897492805c5403c6967df77edbb/Screen_Shot_2018-12-20_at_1.05.35_PM.png)https://lab.civicrm.org/dev/core/-/issues/3353No way to empty the cart procedurally or via a URL2024-01-05T05:03:31ZTomAndersonNo way to empty the cart procedurally or via a URLHow do we get rid of anything in the cart? For example, if it's after 1 hour, we may want to dump the entire cart.
For example, could I do an AJAX call like this? `{crmURL p='civicrm/event/empty_cart' q="reset=1" fb=1}`
I'm not seeing ...How do we get rid of anything in the cart? For example, if it's after 1 hour, we may want to dump the entire cart.
For example, could I do an AJAX call like this? `{crmURL p='civicrm/event/empty_cart' q="reset=1" fb=1}`
I'm not seeing anything to this effect.
Alternately, how can we do this procedurally (in PHP).https://lab.civicrm.org/dev/core/-/issues/3328Membership updates not recorded in contact log2022-04-22T16:17:17ZedvanleeuwenMembership updates not recorded in contact logI have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)I have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)https://lab.civicrm.org/dev/core/-/issues/3322[regression] Recurring contributions no longer properly update memberships (o...2022-04-22T16:17:07ZJonGold[regression] Recurring contributions no longer properly update memberships (on PayPal Pro, maybe others)This is a subtle problem, so apologies for a long explanation!
In [this commit](https://github.com/civicrm/civicrm-core/commit/5ed1203902d7bbade9341a8df800c88d33044736), we refactor how we find memberships tied to the contribution.
At ...This is a subtle problem, so apologies for a long explanation!
In [this commit](https://github.com/civicrm/civicrm-core/commit/5ed1203902d7bbade9341a8df800c88d33044736), we refactor how we find memberships tied to the contribution.
At first glance, the refactor seems to make sense: In the old code, we load related membership objects, which populates `$contribution->_relatedObjects['membership']`. Then we iterate through `$contribution->_relatedObjects['membership']`. In the new code, we refactor loading related memberships into its own function, then iterate through the value returned.
However, in at least some cases, `$contribution->_relatedObjects['membership']` *is already populated* with membership objects. The old code picks these up; the new code ignores them.
The refactor assumes that there's a MembershipPayment record with a `contribution_id` that matches the **current** contribution. However, in the case of a recurring membership, the corresponding MembershipPayment record has the `contribution_id` of the **initial** contribution. `CRM_Core_Payment_PayPalProIPN` calls `CRM_Contribute_BAO_Contribution::loadObjects()` *twice* - once for the original contribution in the series, once for the current contribution. So the contents of `$contribution->_relatedObjects['membership']` differ from the results of loading only the *current* contribution's related memberships.
The result is that related memberships are no longer updated in an auto-renew scenario.
Steps to replicate would be tough, but would go something like this:
* Create an auto-renewing membership (using PayPal Pro, though I imagine other processors do something similar).
* When the second contribution comes in, observe that the membership end date is not updated.