Cupertino 1.24.1
Version 1.24.1 ·
Fixed
apple_safari_read_pagereads the tab as it is now, not as it looked while loading. A single-page app that renders its frame and then fetches its content was stored as the empty frame: Shopify's app-listing form came back as "Skip to content" for as long as the tab was open, whilepage_elementscould see every field on it. The read now asks the open tab first and sayssource: "live"; a tab that cannot answer within a couple of seconds — in the background, or closed — still gets the stored capture, markedsource: "capture"with aliveReadline saying why. The stored capture itself also stopped giving up at the first quiet moment, so it now catches a page that renders after a fetch. The new wait isAPPLE_SAFARI_LIVE_READ_TIMEOUT_MS. Tabs open across the update need a reload before they answer live.apple_safari_page_elementscan read a form. Checkboxes and radios now say whether they are ticked, radios are reported as radios rather than checkboxes, a select reports the option it shows, and a greyed-out control is listed withdisabled: trueinstead of being left out. A field value cut at the 200-character default now says so, with its full length, andmaxValueCharsraises the cap. A select asking for a card's expiry is withheld like any other card field.apple_safari_fillworks on React forms. It used to put the text in the box without React noticing, so the form kept its old value and a Save sent that instead; Shopify's app-listing form was the case that showed it. It now writes the value the way a keystroke does. It can also choose an option in a select, by the text the option shows, and it refuses a checkbox or radio with a pointer toapple_safari_clickrather than doing something a caller cannot predict.