mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
Typed chat sessions no longer end on the voice inactivity timeout, and a failed or stopped reply keeps the conversation: Stop cancels only the reply in progress, and map actions that already ran stay in the model's context. Each upstream request and map action gets its own deadline, old tool results shrink instead of the history overflowing, and step limits, a missing or rejected key, the OAuth lock and throttling each get their own message. - Server: OpenAI chat is off under GEV_PREFER_CODEX_OAUTH; chat throttles default to the provider's throttle; replies carry API_KEY_MISSING, API_KEY_REJECTED, CODEX_OAUTH_REQUIRED and RATE_LIMITED codes; upstream Retry-After passes through, and a rejected key (Gemini's invalid-key 400 included) cools down for a minute - Pinokio forwards the chat throttle settings - UI: the reply reveal publishes only the message list; the border orbit runs only while busy; layers attach with a button or Enter; the log is aria-busy while a reply types out; auto-scroll respects a reader who scrolled up; Escape closes the attach menu; the chat gear says Settings; a note says chat bills the OpenAI key when voice uses ChatGPT sign-in - Layout does less work while panel height animates; unused blurs removed - Gemini voice start ends chat; the voice preview clears on every new session - Tests for the route gates, client limits, attachments and the fixes
686 B
686 B
- Add a typed AI chat beside the voice mic in the command dock. Replies are
silent and never use the microphone; messages run the same map actions as
voice through OpenAI Chat Completions (
OPENAI_CHAT_MODEL) or GeminigenerateContent(GEMINI_CHAT_MODEL). Chat is throttled per IP byGEV_RATELIMIT_OPENAI_CHAT_PER_MINorGEV_RATELIMIT_GEMINI_CHAT_PER_MIN, which default to that provider's voice throttle, andGEV_PREFER_CODEX_OAUTHturns OpenAI chat off. The chat and voice panels minimize to a bar or dock beside the right rail, and step aside for the Location and Visual Presets trays (Manjunath, @manjunath22466, with Darren Dignam, @darrendignam, #1507).