Browse Source

Update README: booking-2fa baked into refresh-creds, add Vite build step

ZiB 4 months ago
parent
commit
e640220c65
1 changed files with 8 additions and 11 deletions
  1. 8 11
      README.md

+ 8 - 11
README.md

@@ -16,6 +16,9 @@ uv sync --group dev
 
 # Activate git hooks
 git config core.hooksPath .githooks
+
+# Build the Vue frontend (required before running room-api locally)
+cd room_cal/vue && npm ci && npm run build
 ```
 
 ---
@@ -94,19 +97,13 @@ The `api` mode requires `api_url` to be set in your `config.json`:
 }
 ```
 
-### Booking.com chat 2FA (`booking-2fa`)
-
-Booking.com requires a separate SMS 2FA challenge before the messaging API will accept outgoing messages. This is distinct from the main login session and must be triggered separately:
+### Booking.com chat 2FA
 
-```bash
-uv run booking-2fa
-```
+Booking.com requires an SMS 2FA challenge before the messaging API will accept outgoing messages. This step is handled automatically as part of every `refresh-creds` run — no separate command is needed.
 
-The script navigates to the messaging inbox, triggers the SMS challenge, and completes it automatically. It requires:
-- A valid Booking.com login session (run `refresh-creds` first)
-- An SMS gateway configured to forward incoming codes to `POST /sms/code` on the running room-api
+If the SMS challenge is triggered, the script polls `$ROOM_CAL_DATA_HOME/sms_code.txt` for the code. An SMS gateway configured to POST incoming codes to `POST /sms/code` on the running room-api will supply this automatically.
 
-`booking-2fa` only needs to be re-run when the messaging session expires — it is not part of the normal `refresh-creds` flow.
+Set `SKIP_CHAT_2FA=1` to bypass the messaging step during a refresh when you know the messaging session is still valid.
 
 ---
 
@@ -121,7 +118,7 @@ The web calendar provides a month view of all pricing and availability data. Key
 - **Per-month sync controls** — bulk push or fetch prices and closed status for the entire visible month; a Fill button creates default local prices for any missing dates
 - **iCal feed blocks** — external feed closures (e.g. a fire safety calendar) are shown and can be fetched per day
 - **Rule discounts** — pipeline-generated discounts are shown alongside manual discounts; mismatches between the rule output and what's on the calendar are surfaced
-- **Chat panel** — select a reservation to open a message thread; shows guest conversation history and a send field; send is disabled for platforms that require additional auth (e.g. Booking.com until `booking-2fa` is run)
+- **Chat panel** — select a reservation to open a message thread; shows guest conversation history and a send field
 - **Health indicator** — a header button polls `GET /health` and shows green/amber/red based on CalDAV connectivity and service credential status
 
 ---