Skip to content

merge solidus main#2

Open
AdnanTheExcellent wants to merge 68 commits intoprintivity:masterfrom
solidusio:main
Open

merge solidus main#2
AdnanTheExcellent wants to merge 68 commits intoprintivity:masterfrom
solidusio:main

Conversation

@AdnanTheExcellent
Copy link
Copy Markdown
Collaborator

No description provided.

Jonathan Tapia and others added 30 commits July 26, 2022 11:56
Previously relied on solidus_frontend defining `spree.root_path`, and
used it redirecting admin users to the store home page.
Ensure the admin sign in root path fallback is '/admin'
Version 2.5.8

* tag 'v2.5.8':
  Release v2.5.8
Adapt to the new default branch name of `main`
Update the admin logout feature spec to accommodate the UI changes 
in the admin navigation bar.
The 'Logout' link is now nested within a 'details' tag and must
be clicked/expanded to access the logout functionality.
```
config/initializers/warden.rb:7:99: C: [Correctable] Rails/FindEach: Use find_each instead of each.
```
…avbar-update

Fix failing spec for admin logout
Without this, specs fail with
```
AbstractController::ActionNotFound:
        The new action could not be found for the :authorize_actions
        callback on Spree::UsersController, but it is listed in the controller's
        :only option.
```

I guess this is because the views are not in the standard place, thus
impeding Rails' ability to dynamically generate empty actions if
matching views are present. Anyways: This is good, because it's more
explicit.
[Rails 7.1] Add empty :new action to Spree::UsersController
We install latest Solidus during linting code
and this requires at least Ruby 3.1
Rails 7.0 does not work with sqlite 2.0, which is loaded,
if we do not set a specific version.
For most of the Rails boot process, an app running solidus_auth_devise
believes that its user class is whatever is configured in the
config/spree.rb initializer. However, if `solidus_auth_devise` is
installed, that is changed after most things have been configured.

It need not be this way: If we want this gem to set a default, we should
set it really early on, not in one of the last initializers to run (they
also run alphabetically, so `solidus_auth_devise` initializers run quite
late.
With the generated dummy `spree.rb` now running after the default in the
solidus_auth_devise `engine.rb`, we need to make sure that
`config/initializers/spree.rb` contains the correct user class. Before
this commit, it would generate one with the `Spree::LegacyUser`.
This devise.rb initializer is run for most stores, and by setting
`reload_routes` to `false`, we can avoid Devise reloading the routes in
an initializer. Rails will do this just fine, but not in the initializer
chain.
This column dates back to 2013, when token authentication was removed
from Devise. We should not keep it.

This allows new stores to start without the unused column, while old
stores can still use any tokens they might be using.
Do not reload routes before application startup
This moves the patches in this gem from `lib/decorators/` to
`lib/patches`, allowing Flickwerk to take over the patching.
This names the patches such that they do not live in the Spree
namespace. It also fixes a Rubocop offense.
This way, we don't need to load ApplicationController in a
config.to_prepare block either.
This is to prevent a situation where an email is valid on the User, but
invalid on the Order. This ensures that when an email is being copied
from the User when an order is being created, there are no validation
errors.

Co-authored-by: Jared Norman <jared@super.gd>
mamhoff and others added 30 commits August 1, 2025 12:54
We don't need this in git blame.
We want to test the site like a real user, not like someone constantly
changing the URL bar in a browser. Let's have the specs click links.
This spec was flaky before, because it did not wait for the page to have
any changes.
Useful and common to have a bin/rspec
Before accessing the cart we need to expect to
be logged in.
We want to get rid of circle-ci. Extension
by extension.
We need to wait for the page to load before clicking
links or making assumptions about its content.
Chrome is a buggy piece of...
We use GH actions now
We need to create a admin user
`SolidusSupport::Migration[4.2]` is deprecated in favor of
`ActiveRecord::Migration[4.2]`. This cleans up the test logs of many
other gems, because solidus_auth_devise is used in many extension test
suites.
Move to Spree::SoftDeletable on users model
Use ActiveRecord::Migration instead of SolidusSupport::Migration
We need this to test the various database adapters,
as compoiste actions do not support starting services.

Ignoring mysql/mariadb builds for Rails 8.0 because
of rails/rails#53673, which
has not been backported to Rails 8.0 yet.
Without this we are not sure that the latest patch level gets installed
by bundler.
Now that we make sure bundler installs latest
Rails patch levels we can hopefully test MySQL
with Rails 8.0 again.
Instead of setting up all services and the matrix
in this extension we use the new reusable workflow
that handles this for us.

Needs solidusio/test-solidus-extension#3
CI: Use Solidus' reusable GH workflow for testing
Not part of Ruby 4.0 anymore.
Necessary for github_changelog_generator
Version 5.0 might actually be coming and the RC contains Rails 8 (lazy
loaded routes) fixes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants