Workarea 3.3.6

Patch release notes for Workarea 3.3.6.

Add Indexes for Uniquely-Validated Fields

There are a number of places, namely Catalog::Category,
Content::Email, and Navigation::Taxon, that were missing indexes and
thus resulted in a full table scan upon validation of their unique
values. In most cases this is inconsequential to page load times, but in
larger deployments this scan can pose a problem when attempting to save
these items from the admin. Therefore, unique indexes have been added to
all fields that are validated for uniqueness out of the box, in order to
mitigate this problem on future deployments.

Issues

Pull Requests

Commits

Handle Missing Geocoder Data For Bogus IP Addresses

In certain environments (like Docker), IP addresses are not guaranteed to
be valid, thus a Geocoder response has the potential of returning
invalid data for the Geolocation#coordinates method. This method now
returns nil if geolocation fails for the IP, and GeoIP headers are not
present, so plugins like workarea-store_locations which consume this
API will not have to make any changes

Issues

Pull Requests

Commits

Fix Previewing Future Navigation Menu Changes

Changes to the navigation menu order (and activity) are now visible when
previewing a future release. To achieve this, the #navigation_menus
helper sorts the collection returned from the database by its
#position, which (unlike a bare DB query) is affected by the release
changes. Previously this was just running a database query, which would
not account for the changes that occur within a release.

Issues

Pull Requests

Commits

Fix CDN URLs Not Being Used In MultiSite Applications

It's possible to set Rails.configuration.asset_host to a Proc,
enabling its value to be evaluated on a per-case basis (such as when it
needs to change per-site on a multisite application), but there is
currently a bug in Rails wherein the configured asset_host will not be
used if it's set to a Proc in some cases, such as #image_url. To
resolve this, patch the #compute_asset_host logic from ActionView
itself in the #product_image_url method.