Skip to content

Init wizard: Channels step arrow keys (up/down) and add channel (A) key bindings broken #539

Description

@Aaronontheweb

Bug

In the Channels step (step 5) of netclaw init, the following key bindings don't work:

  • Up/Down arrows — cannot move cursor between channels
  • A key — cannot add a new channel

Left/Right arrows DO work — cycling the audience (Personal/Team/Public) on the selected channel works correctly.

Observed behavior

  • Left/right arrows cycle the audience on the currently focused channel row (works)
  • Up/down arrows do nothing (broken)
  • A key does nothing (broken)
  • D key untested

Expected behavior

All key bindings documented in the help text should work:

  • ↑/↓ to move cursor between channel rows
  • ←/→ to cycle audience
  • a to add channel, d to remove channel
  • Enter to continue

Analysis

All four key cases are in the same switch block in ChannelsStepView.HandleKeyPress() (lines 146-198), so the input dispatch from InitWizardPage IS reaching the method (proven by left/right working).

The likely cause is that Termina's ReactivePage base class intercepts up/down arrow keys (for scroll/focus navigation) and letter keys before they reach the KeyPressed observable subscription at InitWizardPage.cs:41-43. Left/right arrows are passed through because they're not used by the framework's default navigation.

Files

  • src/Netclaw.Cli/Tui/Wizard/Steps/ChannelsStepView.cs (key handling: lines 94-202)
  • src/Netclaw.Cli/Tui/InitWizardPage.cs (dispatch: lines 256-334, Channels special case: lines 271-279)
  • Termina 0.8.0 ReactivePage base class (possible key interception)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions