Closed Bug 1870851 Opened 1 year ago Closed 11 months ago

Certain Products will return the "No info available right now" Error message

Categories

(Firefox :: Shopping, defect)

Desktop
All
defect

Tracking

()

VERIFIED FIXED
123 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox121 --- verified
firefox122 --- verified
firefox123 --- verified

People

(Reporter: rdoghi, Assigned: fchasen)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression, Whiteboard: [fidefe-shopping])

Attachments

(4 files)

Attached image NoInfo.png

Found in

  • Nightly 123.0a1 (2023-12-18)

Affected versions

  • Nightly 123.0a1 (2023-12-18)
  • Beta 122.0b1
  • 121.a01

Affected platforms

  • ALL

Preconditions:
Set the browser.shopping.experience2023.enabled - TRUE
Set the browser.shopping.experience2023.optedIn - 0

Steps to reproduce

  1. Reach the following products:
    https://www.bestbuy.com/site/product/8300894.p
    https://www.bestbuy.com/site/product/6389372.p

Expected result

  • These 2 products should show the Adjusted Rating card and the Highlights from recent reviews.

Actual result

  • The "No info available right now, We’re working to resolve the issue. Please check back soon." Error is displayed

Regression range
21:48.62 INFO: No more integration revisions, bisection finished.
21:48.62 INFO: Last good revision: 352bc91163706c64c154a76e5f8cef749b955a20
21:48.62 INFO: First bad revision: 45d2c2d6343e237f1890eba5bd19d5b37ba133e6
21:48.62 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=352bc91163706c64c154a76e5f8cef749b955a20&tochange=45d2c2d6343e237f1890eba5bd19d5b37ba133e6

Flags: needinfo?(fchasen)

This is because ShoppingProduct instances default to allowing schema validation failure by setting allowValidationFailure to true by default (overridable by constructor options).

But the request methods that check this.allowValidationFailure now don't run on an instance, but statically, and so things that fail schema validation now fail completely.

The example fails schema validation because the response from the server looks like this:

{
  "product_id": "8300894.p",
  "grade": "A",
  "adjusted_rating": 4.5,
  "needs_analysis": true,
  "page_not_supported": false,
  "last_analysis_time": 1608523839,
  "deleted_product": null,
  "deleted_product_reported": null,
  "analysis_url": "https://www.fakespot.com/bestbuy/je-citrus-juicer-attachment-for-most-kitchenaid-stand-mixers-white",
  "highlights": {}
}

and the schema in 121 says, among other things:

    "deleted_product": {
      "description": "Boolean indicating if product is marked as deleted by website in Fakespot database",
      "type": "boolean"
    },
    "deleted_product_reported": {
      "description": "Boolean indicating if product marked as deleted has already been reported as in stock by a user",
      "type": "boolean"
    },

We're low on options for the 121 rollout on the client side as today is release day.

For 122 and/or a dot release, we could/should:

  1. fix it so schema validation gets logged in telemetry but doesn't immediately fail things (fix the regression)
  2. possibly update the schema so null is allowed.
  3. reconsider how we deal with schemas altogether.
    so we don't expect null for deleted_product and deleted_product_reported (there may be other things that are wrong, I haven't done an exhaustive check).

Also if we do fail due to schema validation we should propagate better errors. Right now the console reports:

Failed to fetch product analysis data Error: request failed

which is not particularly informative.

  • Fixes regression of allowing validations to fail by passing allowValidationFailure in ShoppingProduct.request options.
  • Adds tests to make sure that validations are allowed to fail.
Assignee: nobody → fchasen
Status: NEW → ASSIGNED
Pushed by fchasen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b1a9481565ab Pass allowValidationFailure option to requests in Shopping Product. r=shopping-reviewers,Gijs
Status: ASSIGNED → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch

I think this issue may have been fixed on the server side, I can't reproduce it for any of the products anymore. I will update the flag.

:fchasen, is this something you want to request a beta uplift to get it into Fx122 or should it ride the trains?

(In reply to Donal Meehan [:dmeehan] from comment #7)

:fchasen, is this something you want to request a beta uplift to get it into Fx122 or should it ride the trains?

Fred is out but yes we should uplift to 122. I'll make an uplift request.

Flags: needinfo?(fchasen)
  • Fixes regression of allowing validations to fail by passing allowValidationFailure in ShoppingProduct.request options.
  • Adds tests to make sure that validations are allowed to fail.

Original Revision: https://phabricator.services.mozilla.com/D196907

Attachment #9369860 - Flags: approval-mozilla-beta?

Uplift Approval Request

  • User impact if declined: Potential for lack of information in shopping sidebar
  • Needs manual QE test: no
  • Fix verified in Nightly: yes
  • Explanation of risk level: Small JS-only changes to fix a regression in a targeted way; lots of beta runway left
  • Risk associated with taking this patch: Low
  • String changes made/needed: No
  • Steps to reproduce for manual QE testing: N/A
  • Code covered by automated testing: yes
  • Is Android affected?: yes
Attachment #9369860 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
  • Fixes regression of allowing validations to fail by passing allowValidationFailure in ShoppingProduct.request options.
  • Adds tests to make sure that validations are allowed to fail.

Original Revision: https://phabricator.services.mozilla.com/D196907

Attachment #9369879 - Flags: approval-mozilla-release?

Uplift Approval Request

  • Is Android affected?: yes
  • String changes made/needed: None
  • Steps to reproduce for manual QE testing: N/A
  • Code covered by automated testing: yes
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Small JS-only changes to fix a regression in a targeted way; there haven't been changes to ShoppingProduct.mjs in the interim so the risk of regressions is low
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • User impact if declined: Potential for lack of information in shopping sidebar

I will update the flag for 122 since I can't reproduce it there either.

Attachment #9369879 - Flags: approval-mozilla-release? → approval-mozilla-release+

Updating the Remaining flags.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: