Skip to content

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

@Aaronontheweb

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions