This will enrich the quality of the reported traces for all web
frameworks in our stack. That means not only memcached as we did in
https://github.com/openfoodfoundation/openfoodnetwork/pull/4266 but
PostgreSQL and Rails too.
After enabling, the Trace Search & Analytics page populates which allows
us to search traces and add APM queries to dashboards.
Sets the "use_s3" (for images) option based on presence of `s3_images_bucket` from ofn-install instead of presence of s3 keys, for instances that use s3 for backups but not for images.
This solves the error showed below when executed `bundle exec rake
db2fog:backup RAILS_ENV=staging` on Katuma staging
```
Excon::Error::BadRequest: Expected(200) <=> Actual(400 Bad Request)
excon.error.response
:body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region><RequestId>3DE2763883FC601D</RequestId><HostId>1E6UapnblBqVZM0SeeLrdPNDd+VaQ0nxCWwrQ9mi8HjRo2xevAUwtSq5V3fxhsj4Cj9ynnDroco=</HostId></Error>"
```
This ensures that Db2fog always picks up the latest value of the S3_*
env vars and not the one that was persisted last time. Now you can do
things like `S3_BUCKET=xxx bundle exec rake db2fog:backup` if you had
to.
I don't know why but `Rails.logger` is still nil when evaluated from
`configure` block in `config/environments/development.rb`. The only way
I found to make ActiveSupport's cache to use the default logger is from
an initializer.
Note that `ActiveSupport::Cache::Store` uses `debug` level and so we
need to set the dev logger in that same level to see its messages. If
you want to debug in staging as well, you'll need to modify the log
level manually.
This copies ofn-install's `roles/app/templates/bugsnag.rb.j2` to
`config/initializers/bugsnag.rb`. All tasks and templates
regarding Bugsnag can then be 🔥 from ofn-install.
As a result, it'll fix the issue that both Katuma and OFF are facing
where the `config/initializer/bugsnag.rb` symlink to
`shared/config/bugsnag.rb` does not exist thus, nothing gets notified to
Bugsnag since December 3rd (according to customer support).
Due to a bug in ActiveRecord we need to load the tagging code in Gateway which
should have inherited it from its parent PaymentMethod.
We have to call it before loading the PaymentMethod decorator because the
tagging code won't load twice within the inheritance chain.
https://github.com/openfoodfoundation/openfoodnetwork/issues/3121
For some reason running `bundle exec rake db:migrate RAILS_ENV=staging`
fails with:
```
rake aborted!
NameError: uninitialized constant Spree::Config
```
Running `bundle exec rails server` for instance, does not. There must be
a difference on the way a rake task and the rails commands load the app.
Moving this configuration to an initializer, at the end of the
initialization process, fixes it. The constant `Spree::Config` is
already loaded.
**This is preventing the release v1.22.0 from being staged and tested**
* master: (206 commits)
embedded groups layout changes
embedded groups initial test
Allow html requests for OrderCycleController#update
Move applicator calls to OrderCycleForm
Refactor OrderCycleForm to make logic clearer
Extract schedule syncing logic into OrderCycleForm
Add basic specs for OrderCyclesController#create
Add basic OrderCycleForm to handle create/update logic
Remove unnecessary respond_to blocks from OrderCyclesController
Include admin users as managers on new enterprises
Remove obsolete goWithoutHashFragments
Simplify Navigation.go, not preserving hash fragments
Only show change warning for open order cycles
Use a SubscriptionsCount query object to provide counts to IndexOrderCycleSerializer
Preload subscription counts for serialization in order cycle collection actions
Request the subscription count for change warning each time, don't cache
Ask user to confirm oc date change for open order cycles with subsciptions
Fix ordering of Gemfile.lock
Add rack-rewrite to handle redirects
Renames product bulk edit action to index
...
We are moving bulk edit to a different route and we want to be able to
handle redirects on this route. Handling this at the rack level before
the rails stack is the most performant way outside of rewrites on the
web server itself.
This ensures that Spree's shipping methods take into account the ones
the order's distributor uses.
This reimplements what `#available_to_order_with_distributor_check?`
used to do and it doesn't work with Spree 2.0.4.