Patch release notes for Workarea 3.4.12. This is Workarea's first public release! As such, there are some larger changes worth noting when upgrading. Please read all these notes before updating your Gemfile!
Remove hardcoded ignored Rack::Attack IP addresses
Workarea out-of-the-box Rack::Attack configuration had hardcoded IP addresses
for our offices and AlertLogic. Those have been removed and replaced with an
ENV variable to configure it. Use
specify ignored IP addresses like
Updated seed data
To add a better demo and public-facing sample data, some of the seed data for Workarea has been reworked. You'll want to use pay special attention to the diff when using the upgrade tool if you've customized the seed data.
Removal of the workarea-ci gem
This gem was written specifically for the Workarea Commerce Cloud hosting, so
it doesn't make much sense for the public version. We've removed this gem from
the repository. The gem is still available on the Workarea gem server, so all
you need to do is add
gem 'workarea-ci' to your Gemfile after upgrading.
Display Relevant Flash Message When No Shipping Options Are Available
Improve the user experience when checkout cannot complete due to the site having no available shipping options for the user's shipping address.
Disallow Negative Prices in Seed Data
It was formerly possible to generate a
Pricing::Price that had a
negative value in seeds. The
ProductsSeeds#perform method now protects
Remove Test for Active Prices in Locale
This test did not pass in the real world when new locales are added.
I18n.for_each_locale did not iterate over all locales because
the locale was added to the wrong configuration setting. The test was
updated to use
Rails.application.config.i18n to better simulate what
is used in the real world, but it was soon discovered that i18n
fallbacks work in a very strange way compared to the rest of the gem.
Because we can't guarantee that we need to include the
module at the time of app initialization, we can't guarantee that
fallbacks will be supported in the
has been removed for the time being. This test was mostly ensuring the
functionality of i18n fallbacks rather than how our system handles them.
Discovered by Devan Hurst of Bounteous. Thanks Devan!
Filter Blank Data From All Reports
When using a
$divide operation in a MongoDB aggregation, neither
number can equal 0 otherwise Mongo will throw an
error. This has been avoided by filtering out any records where numbers
that we divide are zero across the board. This error can typically
happen when first developing an application. In addition, the
SearchesWithoutResults report has been removed.
Fix Order Status Lookup Route
/orders/status/:order_id/:postal_code was being resolved by the
#show action of OrdersController, when it really should be served by
#lookup. Change the route and add a test ensuring that the route is
being handled properly.
Discovered by Andy Sides of BVAccel. Thanks Andy!
Render Shipping Details Append Point On Index
Move the admin.shipping_details append point from
(which is no longer rendered) over to
shippings#index. Remove the
shippings#show partial to reduce confusion since it is no longer being
Fix Internal Server Error Page Not Rendering JSON
When an Internal Server Error is requested via
error occurs when attempting to render the view for that request,
because there's no
internal template. This is not how our error
handler is supposed to work, any format should be acceptable to render a
404 or 500. The syntax of the
respond_to block in
has been altered so that Workarea serves the custom content HTML when an
HTML error occurs (e.g., most user-facing browser errors), and an empty
body with a 500 error in the status code is returned for all other