Kiosk's SSE connection now stays open for the whole session instead of closing the moment a booking is pushed, so a staff-triggered Reset (from the extension/Terminals popup or the Devices admin page) now actually forces the tablet back to the welcome screen immediately, discarding whatever was mid-entry — not just flipping its status in the DB with nothing listening tablet-side. Removed the two now-redundant/harmful pushIdle() calls in routes/checkin.js's own submit success/failure paths, which would otherwise race the confirmation/error screen now that the stream stays open. Added a confirm() prompt before Reset on both trigger surfaces since it's now a real interruption, not just an unstick. Also made the tablet's inactivity auto-cancel timeout configurable from Settings (checkin_inactivity_timeout_minutes, default 5, same as the old hardcoded value) instead of a fixed constant, read via the existing token-gated GET /api/checkin/:token response.
44 lines
1.1 KiB
JSON
44 lines
1.1 KiB
JSON
{
|
|
"manifest_version": 3,
|
|
"name": "Send to Check-In Tablet",
|
|
"version": "0.2.1",
|
|
"description": "Pushes the currently open NewBook booking to a check-in tablet — standalone from NewBook Assistant, see project_checkin memory.",
|
|
|
|
"permissions": ["cookies", "storage", "activeTab", "webNavigation"],
|
|
|
|
"host_permissions": [
|
|
"https://appeu.newbook.cloud/*",
|
|
"https://login.newbook.cloud/*"
|
|
],
|
|
|
|
"optional_host_permissions": ["http://*/*", "https://*/*"],
|
|
|
|
"background": {
|
|
"service_worker": "background.js"
|
|
},
|
|
|
|
"content_scripts": [
|
|
{
|
|
"matches": [
|
|
"https://appeu.newbook.cloud/bookings_lists_checkin*",
|
|
"https://appeu.newbook.cloud/bookings_view/*",
|
|
"https://appeu.newbook.cloud/bookings_checkin/*"
|
|
],
|
|
"js": ["content-script.js"],
|
|
"run_at": "document_idle"
|
|
}
|
|
],
|
|
|
|
"action": {
|
|
"default_popup": "popup/popup.html",
|
|
"default_title": "Send to Check-In Tablet"
|
|
},
|
|
|
|
"options_page": "options/options.html",
|
|
|
|
"icons": {
|
|
"16": "icons/icon16.png",
|
|
"48": "icons/icon48.png",
|
|
"128": "icons/icon128.png"
|
|
}
|
|
}
|