Skip to content

Conversation

@LoggeL
Copy link

@LoggeL LoggeL commented Jan 6, 2026

Summary

This PR adds a new entry_component_select node type to the flow editor, similar to the existing entry_component_button. This allows users to create flows that are triggered when a user selects an option from a Discord select menu.

Changes

Frontend (kite-web/)

  • Created FlowNodeEntryComponentSelect.tsx component (mirrors button component)
  • Added nodeEntryComponentSelectDataSchema to dataSchema.ts
  • Registered entry_component_select in nodes.ts with "list" icon
  • Added component to components.ts registry
  • Extended FlowContextType to include component_select
  • Updated FlowNodeExplorer.tsx to show "Responses" actions for select menu flows

Backend (kite-service/)

  • Added FlowNodeTypeEntryComponentSelect constant to data.go
  • Added CompileComponentSelect() function to compile.go
  • Added IsComponentSelectEntry() helper method
  • Updated IsEntry() to include the new select component type
  • Updated execute.go switch case to handle select entry nodes
  • Updated message.go HandleEvent to handle StringSelectInteraction events

Testing

  • Frontend TypeScript compilation passes
  • ESLint checks pass on modified files
  • Go code structure follows existing patterns

Notes

The implementation follows the same pattern as the button component. The select menu flow is triggered via the flow_source_id which corresponds to the select menu's custom_id.

Add entry_component_select node type similar to entry_component_button,
allowing users to create flows triggered by Discord select menu interactions.

Frontend changes:
- Add FlowNodeEntryComponentSelect component
- Register entry_component_select in node types and components
- Add nodeEntryComponentSelectDataSchema
- Add component_select to FlowContextType
- Include component_select in Responses action context

Backend changes:
- Add FlowNodeTypeEntryComponentSelect constant
- Add CompileComponentSelect function
- Add IsComponentSelectEntry helper
- Update IsEntry to include select component
- Update execute.go to handle select entry
- Update message.go to handle StringSelectInteraction
@vercel
Copy link

vercel bot commented Jan 6, 2026

@LoggeL is attempting to deploy a commit to the merlinfuchs' projects Team on Vercel.

A member of the Team first needs to authorize it.

LoggeL added 2 commits January 6, 2026 21:26
- Handle StringSelectInteraction in app.go event handler
- Add Values field to InteractionEnv for select menu selections
- Expose 'values' at top level in eval context
- Add value(index) helper function to access selected values
- Add MessageComponentSelectMenu.tsx component with full editor UI
- Enable 'Add Select Menu Row' button in MessageComponentsSection
- Render select menus in MessageComponentRow instead of placeholder text
- Add DiscordStringSelectMenu preview in MessagePreview
- Add flow_source_id to selectMenuOptionSchema for option values
- Add StringSelectComponent conversion in backend convert.go
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.

1 participant