Skip to content

v0.3.2

Choose a tag to compare

@snonux snonux released this 07 Feb 19:48
· 514 commits to main since this release

Release v0.3.2

Release Notes

Overview

This patch release focuses on improving the reliability and user experience of code completions in Hexai, especially when working with large language model (LLM) providers. The main enhancement ensures that only one LLM completion request is processed at a time, providing clear feedback to users when the system is busy. This update helps prevent overlapping requests, reduces confusion, and makes the completion process more predictable.


Improvements

LLM Concurrency Control

  • Single In-Flight LLM Request:
    Hexai now enforces a strict limit of one active LLM completion request at a time. If a user triggers a new completion while another is still processing, Hexai will display a visible "LLM busy" message in the completion list.

    Why this matters:
    Previously, multiple overlapping requests could lead to unpredictable results, increased resource usage, or confusing behavior in the editor. With this change, users receive immediate, clear feedback when the system is busy, and are prompted to retry once the previous request completes.

  • Visible Busy Indicator:
    When Hexai is busy with an LLM request, it returns a non-inserting completion item labeled with the provider and model (e.g., "Hexai: LLM busy (openai:gpt-4o)"). This item floats to the top of the completion list and explains that only one request can be processed at a time.

    Why this matters:
    This explicit feedback helps users understand why completions may not be immediately available, reducing frustration and guesswork.

Robustness and Testing

  • Unit Tests for Busy State:
    Added comprehensive tests to ensure that the busy indicator is reliably shown when appropriate and that no text is inserted accidentally.

    Why this matters:
    These tests help guarantee that the new concurrency logic works as intended and that users always receive accurate feedback.


Bug Fixes

  • Prevents Overlapping LLM Requests:
    The new concurrency guard eliminates issues where multiple LLM completions could be triggered simultaneously, which previously could cause erratic or delayed responses.

Developer Experience

  • Codebase Improvements:
    The concurrency logic is implemented with clear locking and state management, making it easier for future contributors to understand and maintain.

Breaking Changes & Migration

  • No Breaking Changes:
    This release is fully backward compatible. No configuration changes or migration steps are required.

How to Use

No action is needed to benefit from these improvements. The new busy indicator and concurrency guard are active by default in both the CLI and LSP integrations.


Thank you for using Hexai! Your feedback helps us continue to improve the developer experience.