Commit History
27 days ago
-
Display server response timings in conversation history
Verified signature81d3c39 -
Port configurable playback buffering from speech-to-speech PR 561
25e04c1
29 days ago
-
Correct demo STT model to Qwen3 ASR 1.7B
2c445bb -
Remove Cerebras credit and correct STT model
9c4f0d5
-
Authenticate load balancer proxy requests
542c5f0
-
Verify browser audio sample rate
8398ac9 -
Fix browser WebSocket negotiation
8417102 -
Upgrade to the Agents SDK realtime client
399d582
-
Deploy PRO tier resolution fix
c48887e -
Sync input transcription delta handling
195cac9
-
Sync voice tool prompting
03a43b2 -
Sync response creation race fix
Port the finalized WebSocket response-lock changes from speech-to-speech PR #453 while preserving Space-specific authentication behavior.edece55 -
Sync ordered assistant output changes
8556c56
-
Keep reauthentication prompt after refresh
17e7387 -
Set OAuth lifetime to seven days
c33e6c6 -
Handle expired OAuth sessions
a346536
-
Remove deployed load balancer URL from documentation
c8b854a
-
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 -
fix: compact identity header on short viewports to avoid scroll
At ~690px tall (or a laptop window once browser chrome eats the viewport) the full-size identity block (~180px) left almost no margin and the app still scrolled. Add a max-height:780px tier that undoes the desktop type bump and tightens the header's rhythm (keeping title, blurb and credits), and a 560px tier that drops only the one-line blurb and the duplicate footer. The orb stays height-capped so it yields the remaining room. Co-authored-by: Cursor <cursoragent@cursor.com>70b6010 -
fix: prevent vertical scroll when embedded in a small box
Cap the orb size by height as well as width (min(38vw, 46vh)) and let the stage shrink so a short container scales the orb down instead of overflowing. Tighten paddings/gaps on short viewports and drop the (duplicate) footer under 480px tall, keeping the identity header intact. Co-authored-by: Cursor <cursoragent@cursor.com>02b8766
-
Rename visible title to Hugging Face Realtime
05e2a0c -
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 -
initial commit
Verified signature3019178