Skip to content

feat: Implement dynamic status indicators with improved visual feedback #68

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Aug 19, 2025

Conversation

edenreich
Copy link
Contributor

Implements dynamic status indicators to address issue #67.

Changes

  • Add status type enum (Generating, Working, Processing, Preparing)
  • Enhance status messages with specific icons for each operation phase
  • Add progress tracking for tool call sequences with visual progress bars
  • Update status display logic for more descriptive messages
  • Maintain backward compatibility with existing status system

Features

🤖 Generating: "Thinking and generating response..."
⚡ Working: "Working on tool: <tool_name>" with progress bars
🔄 Processing: "Executing tool: <tool_name>"
📋 Preparing: "All tools executed, preparing next response..."

Testing

  • All tests pass
  • Code quality checks pass
  • Backward compatibility maintained

Closes #67

Generated with Claude Code

claude bot and others added 15 commits August 17, 2025 14:34
- Add status type enum (Generating, Working, Processing, Preparing) for better categorization
- Enhance status messages with specific icons for each operation phase:
  🤖 Generating: "Thinking and generating response..."
  ⚡ Working: "Working on tool: <tool_name>" with progress bars
  🔄 Processing: "Executing tool: <tool_name>"
  📋 Preparing: "All tools executed, preparing next response..."
- Add progress tracking for tool call sequences with visual progress bars [██████░░░░] 3/5
- Update status display logic to show more descriptive and context-aware messages
- Maintain backward compatibility with existing status system

Addresses acceptance criteria:
✅ More clear status indicators showing what LLM is currently doing
✅ Multiple different status types (4 distinct states)
✅ Visually appealing with Bubble Tea enhancements (icons, progress bars)

Co-authored-by: Eden Reich <[email protected]>
- Added StateManager to handle application state with synchronization.
- Introduced StateChangeListener interface for state change notifications.
- Implemented state transition methods for views, chat sessions, and tool executions.
- Added debugging features including state history and validation.
- Created HealthStatus struct for monitoring state manager health.

feat: Create ToolExecutionOrchestrator for managing tool execution flow

- Developed ToolExecutionOrchestrator to manage tool execution sessions.
- Implemented approval handling and execution tracking for tools.
- Added recovery mechanisms for stuck executions and health monitoring.
- Integrated with state manager for consistent state updates.

fix: Enhance input handling in InputView component

- Improved CanHandle method to better manage key inputs.
- Added support for multi-character input keys and control keys.

refactor: Update StatusView for enhanced status display

- Refactored status rendering logic to improve clarity and maintainability.
- Added methods for formatting error, spinner, and normal statuses.
- Integrated new status types for better user feedback.

feat: Introduce UpdateStatusMsg for dynamic status updates

- Added UpdateStatusMsg to allow updating status messages without resetting timers.
- Enhanced shared messages to support new status types.

Signed-off-by: Eden Reich <[email protected]>
- Added ApplicationViewRenderer for rendering chat and file selection interfaces.
- Introduced DiffRenderer for displaying colored diffs in tool previews.
- Enhanced ApprovalComponent to show detailed tool arguments and options.
- Created FileSelectionHandler for managing file selection logic and state.
- Added key bindings for navigating and approving tool actions in the approval view.
- Updated shared interfaces to include new components and utilities for rendering.

Signed-off-by: Eden Reich <[email protected]>
…nt comments and improving argument parsing

Signed-off-by: Eden Reich <[email protected]>
@edenreich edenreich changed the title feat: Implement dynamic status indicators with enhanced visual feedback feat: Implement dynamic status indicators with improved visual feedback Aug 19, 2025
edenreich and others added 9 commits August 19, 2025 04:52
The test was expecting "Verify with tests." but the actual default
configuration uses "Verify with tests (prefer using task test).".
Updated the test to match the correct default value.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…lated tests

Keep it simple for now I don't need to use the bash zsh history rather I'll simply create a file called history under the .infer directory which will only contain the last typed messages.

Signed-off-by: Eden Reich <[email protected]>
…tests

When the user embeds an MD file we'll look for a summary section if it's there we only embed it, and tell the LLM what's the file path so if the llm needs it can read further and dive into details. It's an optimization step that would save on a lot of input tokens.

The main use-case is where we are working on something and we suddenly need to stop - we'll export it to a file using "/compact" and later on we can start a new session and let the LLM continue from the summary.

Signed-off-by: Eden Reich <[email protected]>
…d it as a direct dependency

Signed-off-by: Eden Reich <[email protected]>
@edenreich edenreich merged commit 265c781 into main Aug 19, 2025
1 check passed
@edenreich edenreich deleted the claude/issue-67-20250817-1426 branch August 19, 2025 16:38
ig-semantic-release-bot bot pushed a commit that referenced this pull request Aug 19, 2025
## [0.27.0](v0.26.0...v0.27.0) (2025-08-19)

### 🚀 Features

* Implement dynamic status indicators with improved visual feedback ([#68](#68)) ([265c781](265c781)), closes [#67](#67) [#67](#67)
@ig-semantic-release-bot
Copy link

🎉 This PR is included in version 0.27.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Make the Generating indicator more dynamic
1 participant