Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat: add custom branch actions (run, install, etc)#31

Merged
matt2e merged 9 commits intomainfrom
feature/consolidate-action-types-squashed
Feb 11, 2026
Merged

feat: add custom branch actions (run, install, etc)#31
matt2e merged 9 commits intomainfrom
feature/consolidate-action-types-squashed

Conversation

@matt2e
Copy link
Contributor

@matt2e matt2e commented Feb 11, 2026

Summary

  • Consolidate ActionType enum into a single source of truth in builderbot-actions crate
  • Add comprehensive actions system with execution tracking and auto-commit support
  • Update branch card UI with outlined primary action button and organized actions menu

Changes

Backend

  • Created builderbot-actions crate with consolidated ActionType enum
  • Implemented action executor with ACP provider integration
  • Added action status events and execution tracking
  • Support for auto-commit actions (runs git add + commit after successful execution)

Frontend

  • Branch card primary action button: Changed from filled color to outlined style
  • Actions menu: Added comprehensive menu in "..." button with:
    • Actions grouped by type (Run, Build, Format, Check, Test, Clean Up, Prerun)
    • Submenus for 3+ actions of same type
    • Direct items for <3 actions
    • Proper separators and ordering
  • Added ActionOutputModal for viewing action execution output
  • Added ProjectSettingsModal for managing project actions
  • Running actions shown as badges in header with status indicators

Features

  • Real-time action status updates via Tauri events
  • Auto-fade completed actions after brief display
  • Click running actions to view live output
  • Prerun actions automatically execute on branch creation

matt2e and others added 6 commits February 11, 2026 11:00
Standardize error handling across internal crates to use anyhow::Result,
while maintaining Result<T, String> at public API boundaries (Tauri commands).
Add comprehensive safety documentation to unsafe libc::kill usage.

Changes:
- Convert acp-client to use anyhow::Result internally for better error context
- Update acp_provider to leverage native anyhow::Result (remove redundant conversion)
- Add detailed safety documentation to unsafe code in executor.rs explaining:
  - PID validity and ownership considerations
  - PID reuse risks and mitigations
  - Signal choice rationale (SIGTERM vs SIGKILL)
  - Error handling decisions
- Update acp-client README with new error handling patterns

This addresses code quality issues identified in code review, improving
error ergonomics while maintaining clear API boundaries.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Remove dead code from RunningActionState struct in executor.rs. The
execution_id, action_metadata, and started_at fields were stored but
never read. Only child_pid and output_buffer are actually used by the
stop() and get_buffered_output() methods.

This change eliminates unnecessary data storage and removes the
#[allow(dead_code)] attribute that was hiding the issue.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Move all action items (run, build, format, check, test, cleanUp, prerun)
from the top-level "..." menu into an "Actions" submenu. This improves
organization and reduces visual clutter in the branch card menu.

Menu structure is now:
- Actions (submenu containing all project actions)
- Copy Worktree Path
- Delete

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Changed submenu overflow from 'hidden' to 'overflow-y: auto' with a
max-height of 400px to allow viewing all action items when the list
exceeds the viewport height. Previously, only the shadow was visible
when the submenu extended beyond the visible area.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Fixed an issue where nested submenus (e.g., Build actions within the
Actions submenu) were not visible due to parent overflow clipping. The
fix ensures that only the first-level Actions submenu scrolls, while
nested submenus can overflow outside their parent container to remain
fully visible.

- Changed base .submenu from overflow-y: auto to no overflow
- Added specific rule for first-level submenus to enable scrolling
- Added rule for nested submenus to allow overflow: visible
- Added flex layout to submenu containers for proper sizing

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Remove nested category-based submenus (Run, Build, Format, etc.) from
the actions submenu to simplify the UI. All actions now display directly
in a single flat list within the Actions submenu.

Changes:
- Remove conditional logic that created nested submenus for 3+ actions
- Display all actions directly in the actions submenu
- Remove expandedSubmenu state and related submenu handlers
- Clean up CSS rules for nested submenus
- Simplify menu interaction logic

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@matt2e matt2e changed the title Consolidate ActionType enum and update branch card UI feat: add custom branch actions (run, install, etc) Feb 11, 2026
wesbillman
wesbillman previously approved these changes Feb 11, 2026
Run cargo fmt to apply standard Rust formatting across all crates.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@matt2e matt2e merged commit e42181b into main Feb 11, 2026
2 checks passed
@matt2e matt2e deleted the feature/consolidate-action-types-squashed branch February 11, 2026 19:30
loganj added a commit that referenced this pull request Feb 26, 2026
Fix runtime source detection and overlapping source de-dup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants