Workarea 3.0.47

Patch release notes for Workarea 3.0.47.

Fix Autoloading For Sidekiq Callback Workers

Because Sidekiq callback workers hold references to autoloaded code, they too must be autoloaded. This is irrelevant in non-development environments.

Issues

Pull Requests

Commits

Use HTTP Proxy When Fetching Image URLs With Dragonfly

Fix timeout issues when imports attempt to pull in images from external URLs by running all background requests in Dragonfly through the $HTTP_PROXY. This is active on all non-local environments that Workarea runs under (not development or test).

Issues

Pull Requests

Commits

Add Pricing Details Append Point

Adds a new append point to the workarea/storefront/products#show template, which allows for PDP-specific content rendered underneath the pricing partial.

Issues

Pull Requests

Commits

Clear Unique Jobs Daily

Sidekiq Unique Jobs (in v5.x) does not clear out the key(s) it stores in Redis to maintain job uniqueness. This results in out-of-memory (or disk space) errors on the Redis server cluster. Workarea will now these unique job keys out every day manually (with a scheduled job) in order to avoid this problem.

Issues

Pull Requests

Commits

Safelist Kubernetes Health Checks In Rack::Attack

Kubernetes health checks use the non-standard IP address 127.0.0.1:0 to access the Workarea app server, causing an error when being interpreted by the IPAddr class in Ruby. Prevent this error by adding the aforementioned IP address to the safelist prior to any other rules, the short-circuit prevents the IP from ever being instantiated as an IPAddr.

Issues

Pull Requests

Commits

Improve Accuracy Of Placed Orders Query

Explicitly setting nil as the :placed_at timestamp for a given Order caused it to be included in the query for all placed orders, because of how MongoDB interprets the $exists query. Since the value was explicitly set on the document, that document's attribute is considered to be in existence, however, Workarea applications (by way of Mongoid) do not distinguish between a nil/null value and a missing value. Update the Workarea::Order.placed query to reflect this, filtering by whether :placed_at is greater than ($gt) the first possible UNIX epoch time value, 0.

Issues

Pull Requests

Commits