Overview: The Bug When using the Antigravity IDE for extended sessions, the chat history eventually grows large (e.g., 140+ messages tracked in planner_generator.go). When the local daemon attempts to sync this massive payload—or retries following a 503 capacity error from the backend—it aggressively floods the fixed-size Go channel communicating with the IDE frontend.
This results in endless can't send message because channel is full errors in interceptor.go:74. The IDE UI cannot drain the channel fast enough, causing the entire editor to enter an unresponsive “zombie” state.
Proposed Features & Architectural Fixes Increasing the Go channel buffer size is only a temporary band-aid. To fundamentally solve this producer-consumer deadlock and improve the developer experience, I propose the following features:
-
Architectural Chat Compaction: Implement a summarization routine within
planner_generator.go. Once a chat session exceeds a certain message/token threshold, the local model should automatically compact older context into a single, dense summary state. This ensures the payload streaming over the Go channel remains a predictable, bounded size, preventing overflows. -
Explicit UI Controls: Add a “Summarize & Reset” button directly in the chat panel, allowing developers to manually trigger context compaction without losing their project state or having to start a completely blank session.
-
Exposed Daemon Settings: Allow developers to define parameters like
antigravity.daemon.channelBufferSizeandantigravity.daemon.maxRetriesdirectly inside the workspacesettings.jsonto tune performance for heavier workflows.