Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Summary

  • added terminal context menu
  • added logical dividers for all context menus with the same organization pattern

Type of Change

  • New Feature

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link

vercel bot commented Jan 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Review Updated (UTC)
docs Skipped Skipped Jan 6, 2026 9:49pm

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 6, 2026

Greptile Summary

  • Adds comprehensive terminal context menu functionality with filtering capabilities for log rows and standard terminal operations for output panel
  • Implements consistent visual organization across all context menus using logical dividers to group related actions (navigation, editing, state toggles, destructive actions)
  • Modifies PopoverItem component to display checkmarks independently of active state, enabling persistent visual indicators for configuration states

Important Files Changed

Filename Overview
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/terminal.tsx Integrates context menu functionality with state management for text selection, menu positioning, and filtering operations
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/log-row-context-menu.tsx New context menu component for terminal log rows with filtering by block, status, and run ID capabilities
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/output-context-menu.tsx New terminal output context menu with copy, search, display toggles, and console clearing functionality
apps/sim/components/emcn/components/popover/popover.tsx Modified PopoverItem to show checkmarks based solely on showCheck prop rather than requiring both showCheck and active states

Confidence score: 4/5

  • This PR implements well-structured context menu functionality with proper separation of concerns and follows established patterns
  • Score reflects minor concerns with non-null assertion usage in log-row-context-menu.tsx and the complexity of selection state management in the terminal component
  • Pay close attention to the selection tracking logic in terminal.tsx for potential race conditions and the non-null assertion usage in log-row-context-menu.tsx

Sequence Diagram

sequenceDiagram
    participant User
    participant Terminal
    participant ContextMenu
    participant Store
    
    User->>Terminal: "Right-click on log row"
    Terminal->>ContextMenu: "handleLogRowContextMenu(entry)"
    ContextMenu->>ContextMenu: "setContextMenuEntry(entry)"
    ContextMenu->>ContextMenu: "Show LogRowContextMenu"
    
    User->>ContextMenu: "Click 'Filter by Block'"
    ContextMenu->>Store: "toggleBlock(blockId)"
    Store->>Store: "Update filters.blockIds"
    ContextMenu->>ContextMenu: "closeLogRowMenu()"
    Terminal->>Terminal: "Re-render with filtered entries"
Loading

@waleedlatif1 waleedlatif1 merged commit 155f544 into staging Jan 6, 2026
11 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/context-menu branch January 6, 2026 21:57
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