Commit History
-
Display server response timings in conversation history
Verified signature81d3c39 -
Port configurable playback buffering from speech-to-speech PR 561
25e04c1
-
Verify browser audio sample rate
8398ac9 -
Upgrade to the Agents SDK realtime client
399d582
-
Sync voice tool prompting
03a43b2 -
Sync ordered assistant output changes
8556c56
-
Handle expired OAuth sessions
a346536
-
Port authenticated voice session UX
2418688
-
Add SPEECH_TO_SPEECH_URL: deploy-pinned direct URL that overrides the LB
When set, the browser connects straight to it (shown read-only in Settings) and all load-balancer logic — session proxy, queue, metering, sign-in — is disabled. Also gitignore the local-only deploy_replica.py.1cfad64
-
Warm up queue copy: overhug subline + funnier at-capacity modal
- Add a sentence-case reassurance line under the queued position ("Sorry, we overhugged! ..."), shown only while waiting in line. New #circle-subcaption element + style; toggled in setState. - Rework the at-capacity modal copy to the same tone ("Hugged to the limit").d2d793e
-
Add explicit Join gate, your-turn state, and at-capacity modal
After waiting in line the conversation no longer auto-starts: reaching the front holds a slot and shows a "your turn" orb with a "Join now" countdown button, so a slot is never spent on someone who stepped away, and the click is a fresh gesture that re-arms the AudioContext on iOS. Leaving or letting the countdown lapse refunds the reserved budget. When the whole waiting line is full, a warm "we're at capacity" modal (reusing the limit-modal shell) explains the wait instead of a terse error. Queue captions and retry messages reworded to be kinder.81940c4 -
Add waiting-queue UI and session-queue proxy
When the compute pool is busy the load balancer now hands back a queue ticket instead of a grant. The Space relays it end to end: - /api/session returns a grant or a ticket; /api/queue/{id} polls position and reserves the daily budget only at claim (re-checking it there), so waiting in line never costs usage time. Leave endpoints (DELETE + sendBeacon) drop the ticket; a full queue relays 503 {state:"at_capacity"}. - The client waits in the queue polling position, and uses a hybrid mic flow: permission is primed in the tap gesture, but the capture stream is acquired only once a slot is granted, so the mic indicator never glows while waiting. - New calm "queued" orb state with a "Leave queue" button; queue-full and ticket-expired land on a friendly retry state, not an error. CONTEXT.md gains the queue vocabulary (Queue, Ticket, Position, Claim, At capacity).da67b51 -
Deploy replica from source HEAD
Verified signature1f28297