tablet-checkin/backend/extension-src/manifest.json
jtricerolph 5180adf8d2 Kiosk: live-force reset to welcome screen, configurable inactivity timeout
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.
2026-10-09 12:19:53 +00:00

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"
}
}