solidusio / solidus_braintree

💳 Integrate Solidus with Braintree
https://www.braintreepayments.com/
BSD 3-Clause "New" or "Revised" License
19 stars 54 forks source link

Make Solidus Braintree compatible with Starter Frontend #91

Closed kennyadsl closed 1 year ago

kennyadsl commented 1 year ago

Goal

We want to make Solidus Braintree compatible with Starter Frontend so that it can be used with the latest Solidus versions.

Spike application

https://github.com/gsmendoza/solidus_store/tree/rails-7-0-4--solidus-3-3-0--braintree--solidus-starter-frontend

gsmendoza commented 1 year ago

@kennyadsl Based on my testing of https://github.com/solidusio/solidus_paypal_braintree/pull/340, it seems we don't need to make additional changes to make SolidusBraintree compatible with SSF. Perhaps we can close this?

kennyadsl commented 1 year ago

@gsmendoza The approach used on payment extension now is to copy all the frontend code into the host application, as we did in solidus_paypal_commerce_platform. Are you considering that?

gsmendoza commented 1 year ago

@kennyadsl You're correct. We should keep this issue. I forgot that in https://github.com/solidusio/solidus_paypal_braintree/pull/340, I only tested it on the legacy frontend (SolidusFrontend). I've confirmed today that the PR doesn't work with SSF.

gsmendoza commented 1 year ago

Note to self. At the moment, running bin/sandbox export SOLIDUS_FRONTEND=solidus_starter_frontend raises the following error:

home/gsmendoza/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/bundler/gems/solidus-9d94419eea2a/core/lib/generators/solidus/install/install_generator.rb:139:in read': No such file or directory @ rb_sysopen - export/config/routes.rb (Errno::ENOENT)

As a result, the generated sandbox does not have any frontend.

elia commented 1 year ago
  • [ ] Should we continue to support Venmo?

If possible, given we're breaking pretty hard with the previous implementations we have the option to temporarily drop the support in the initial release and treat that as a follow up feature.

@kennyadsl @aldesantis that's my take, but it becomes invalid if Venmo is critical for Braintree users or for other reasons.

  • [ ] Should the updated gem work with both Starter Frontend and the legacy frontend?

No, just the Starter and we'll release a new major to mark the breaking change.

  • [ ] What options do we allow when installing the gem? Should we implement all the options from the SolidusPaypalCommercePlatform install generator?

Given we're breaking with the past we can drop some configurations if that makes it easier to release the updated version, of course it's a cost/benefit analysis that must be done case by case.


So, tu summarize, solidus_stripe v5.0 will have support for the Starter frontend and might drop some features which may or may not be added back later. In any case its main focus is new installations.

Please chime everyone in if anything of the above is not convincing or should be amended 🙏

gsmendoza commented 1 year ago

As discussed in the standup, we'll keep jQuery in the extension.