Workarea 3.0.59

Patch release notes for Workarea 3.0.59.

Ensure Consistent Type and Case When Finding Tracking Number

Fulfillment#find_tracking_number was previously case-sensitive and did not compare other data types. Ensure that the tracking number passed in and each one from all packages are of a String type, and case-compared so different casing does not affect matching.

Issues

Pull Requests

Fix Product Categorization With Missing Indexes

When the Storefront index is missing, Search::Storefront::Product.find_categories throws an exception due to the 400 Bad Request error it receives from the Elasticsearch server. To prevent this and any other strange Elasticsearch errors from affecting this method (which is not supposed to throw an exception), rescue the base Elasticsearch::Transport::Transport::ServerError class rather than any subclasses we find are thrown during this request.

Issues

Pull Requests

Fix Date/DateTime Picker UIs Default Setting on Page Load

Due to the issues outlined here Workarea cannot accurately set a default date, on page load, for date or datetime pickers for all browsers. To get as close as possible, Workarea now picks just the date out of the Ruby timestamp string and uses that as the basis for the datepicker default date UI.

Issues

Pull Requests

Omit Blank Sorts From Product Search Index

Sorts configured in the product entries in Elasticsearch could potentially get quite long and unruly if the product was categorized in many places, but not set up for sorting in those categories. This causes an error in Elasticsearch if allowed to grow out of control, since its field limit for a single document is 1000. Workarea now removes any categories in the sorts for which a product position in product_ids cannot be found. This reduces the amount of noise in the documents and prevents scaling errors like this one.

Issues

Pull Requests