Extension: fix duplicate checkin banner and silently-unsaved default tablet

- Scope the new bookings_checkin banner to that page's own tablist only —
  bookings_view has a ui-tabs-nav tablist too, so it was duplicating
  alongside the existing arrival-reminder banner there
- options.js: persist whatever the default-tablet <select> ends up showing,
  not just on manual change — a <select> auto-selects its first <option>
  without firing 'change', so a single-tablet setup (or anyone happy with
  the first option) never actually got a default saved despite the dropdown
  looking selected, which sent every injected button to the manual picker

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
jtricerolph 2026-10-01 11:48:53 +00:00
parent 9f3129b8b5
commit db6ffb7aa4
2 changed files with 23 additions and 3 deletions

View file

@ -358,6 +358,13 @@ function buildTabletBanner(bookingId) {
}
function processCheckinPageBanner() {
// bookings_view has its own `ui-tabs-nav` tablist too (Mandatory
// Information / Optional Booking Details / Newbook Drive) — without this
// guard this banner duplicated there alongside processCheckinBanner's
// augmented reminder banner (confirmed 2026-10-01 from a live screenshot).
// This one is purely for the dedicated bookings_checkin/<id> page.
if (!/^\/bookings_checkin\//.test(location.pathname)) return;
const tablist = document.querySelector('ul[role="tablist"].ui-tabs-nav');
if (!tablist || tablist.hasAttribute(PROCESSED_ATTR)) return;
const bookingId = extractBookingIdFromLocation();