GoogleChrome / chromium-dashboard

Chrome Status Dashboard
https://www.chromestatus.com
Apache License 2.0
636 stars 363 forks source link

Unable to approve request, javascript error ChromedashPrevoteDialog.render #4172

Closed dbratell closed 1 month ago

dbratell commented 1 month ago

Describe the bug The UI for approving requests do not let me approve anything. My name was not prefilled, but could be added with assign reviewers, and then clicking save after setting status "Approved", nothing visibly happens.

There appears an error and a stack trace in the console though:

chromedash-gate-column.js:63 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'map')
    at ChromedashPrevoteDialog.render (chromedash-gate-column.js:63:1)
    at ChromedashPrevoteDialog.update (lit-element.js:6:235)
    at ChromedashPrevoteDialog.performUpdate (reactive-element.js:6:4891)
    at ChromedashPrevoteDialog.scheduleUpdate (reactive-element.js:6:4427)
    at ChromedashPrevoteDialog._$ET (reactive-element.js:6:4335)
    at async openPrevoteDialog (chromedash-gate-column.js:36:1)

To Reproduce Steps to reproduce the behavior: (Might have to be on my account or an API Owner)

  1. Go to https://chromestatus.com/myfeatures/review?gate=5891529720201216
  2. Click on the API Owners button for 'Permissions API' (I assume others will also work)
  3. Select "Approved" in the dropdown.
  4. Click "Save"

Expected behavior Status of "Approved" should be saved.

Actual behavior Nothing visibly happens.

Additional context Opera, Chromium 125.

dbratell commented 1 month ago

I should mention that the file+line numbers did not map to any real code in the debug console, and there were a number of calls to map() in the file so it was not immediately obvious which one failed.

miketaylr commented 1 month ago

I'm running into this issue as well, in Chrome 127. Screenshot 2024-07-30 at 1 14 29 PM

miketaylr commented 1 month ago

This should be fixed now (or at least it is for me). Try again @dbratell?

jrobbins commented 1 month ago

Sorry to have not seen this issue sooner. I have deployed a fix and it is live now.

The error was occurring when opening the "pre-vote" dialog that is shown when an API owner approves a gate on a stage that has other gates pending. So, that would explain why you might have seen it for some features and not others.

dbratell commented 1 month ago

I can confirm that it works for me now. Thank you!