FosterCommerce / klaviyoconnect

A plugin for Craft CMS. Grow your ecommerce business with smarter email automations.
https://klaviyoconnect.fostercommerce.com/
Other
10 stars 10 forks source link

Error after update to 4.0.13 #90

Closed sajjanstha closed 2 years ago

sajjanstha commented 2 years ago

I get the following error when I go to the plugin settings page(/admin/settings/plugins/klaviyoconnect)

Call to undefined method craft\helpers\App::parseEnv()

It happens in both 4.0.12 and 4.0.13.

peteeveleigh commented 2 years ago

@sajjanstha which version of Craft are you on? I'm not seeing that error on 3.7.46.

This helper was changed in 3.7.29. I'll take a look to see if I can accommodate older versions of Craft here too.

sajjanstha commented 2 years ago

@fantasticmachine I am still using craft 3.5.19.1.

peteeveleigh commented 2 years ago

OK. We could roll back to use the Craft::parseEnv() helper but that's then going to show deprecations for anyone on 3.7.29+

You might want to go back to 4.0.8 of the plugin for now.

For the record the only real functional difference is that I added some extra controllers and services to allow setting of the user's email address and phone number. This was in response to an API change by Klaviyo.

If you weren't using the plugin to change email addresses and phone numbers on Klaviyo customer records then there's no real need to update.

sajjanstha commented 2 years ago

Actually we are trying to update the plugin in response to the API change by Klaviyo. It was addressed in 4.0.10 release so we need at least update it to 4.0.10. It looks like we need to update the craft version first before updating this plugin.

widewebpro commented 2 years ago

@fantasticmachine For which version of Craft 3.X, have bugs been fixed in this plugin?

peteeveleigh commented 2 years ago

@widewebpro If you are on a version of Craft earlier than 3.7.29 then you will need to use 4.0.8 of the KlaviyoConnect plugin. There isn't really much we can do about that since if we revert the change then the plugin will not work in versions of Craft from 3.7.29 up.

To clarify, the changes made to the plugin for version 4.10 were to provide additional methods to the plugin just in case someone was using it to change a Klaviyo email address or telephone number. This was never a documented "feature" of the plugin anyway and was really an accidental side-effect of the way the plugin is constructed.

So if you are not allowing customers to change their Klaviyo email address or telephone number via the plugin you will be fine with version 4.8.

If you really can't update to 3.7.29 then it would be possible to make a fork of the plugin at the latest version and change instances of App::parseEnv() back to Craft::parseEnv()

peteeveleigh commented 2 years ago

@sajjanstha @widewebpro I've just added a branch which uses the latest version for Craft 3 but also uses Craft::parseEnv(). This should mean you can use it on versions of craft earlier than 3.7.29

You can use this version by editing your composer.json file to install from fix/use-craft-parsenv-for-craft-pre-3-7-29

Please note that it is a temporary measure and we won't be maintaining this branch going forward but it should mean you can keep using the plugin until you can update Craft to 3.7.29+