diff --git a/work-items/open/20260529-031832-multi-pod-empty-enter-open/artifacts/.gitkeep b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/artifacts/.gitkeep similarity index 100% rename from work-items/open/20260529-031832-multi-pod-empty-enter-open/artifacts/.gitkeep rename to work-items/closed/20260529-031832-multi-pod-empty-enter-open/artifacts/.gitkeep diff --git a/work-items/open/20260529-031832-multi-pod-empty-enter-open/item.md b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/item.md similarity index 98% rename from work-items/open/20260529-031832-multi-pod-empty-enter-open/item.md rename to work-items/closed/20260529-031832-multi-pod-empty-enter-open/item.md index 40c35e23..46e5ef46 100644 --- a/work-items/open/20260529-031832-multi-pod-empty-enter-open/item.md +++ b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/item.md @@ -2,12 +2,12 @@ id: 20260529-031832-multi-pod-empty-enter-open slug: multi-pod-empty-enter-open title: Open selected multi-Pod entry on empty Enter -status: open +status: closed kind: task priority: P2 labels: [tui, pod, ux] created_at: 2026-05-29T03:18:32Z -updated_at: 2026-05-29T03:18:32Z +updated_at: 2026-05-29T03:27:13Z assignee: null legacy_ticket: null --- diff --git a/work-items/closed/20260529-031832-multi-pod-empty-enter-open/resolution.md b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/resolution.md new file mode 100644 index 00000000..46e5ef46 --- /dev/null +++ b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/resolution.md @@ -0,0 +1,55 @@ +--- +id: 20260529-031832-multi-pod-empty-enter-open +slug: multi-pod-empty-enter-open +title: Open selected multi-Pod entry on empty Enter +status: closed +kind: task +priority: P2 +labels: [tui, pod, ux] +created_at: 2026-05-29T03:18:32Z +updated_at: 2026-05-29T03:27:13Z +assignee: null +legacy_ticket: null +--- + +## Background + +`tui --multi` currently uses `o` to open/attach the selected Pod entry. Enter is used to send the composer contents to the selected idle live Pod. + +When the composer is empty, pressing Enter has no message to send. Treat that input as the same action as `o`: open the selected Pod entry in the single-Pod conversation screen. + +This should make the multi-Pod dashboard feel more picker-like while preserving direct-send behavior when text is present. + +## Requirements + +- In `tui --multi`, pressing Enter with an empty composer opens the selected Pod entry, equivalent to pressing `o`. +- Pressing Enter with non-empty composer keeps the current behavior: send the composer contents to the selected eligible idle live Pod. +- Whitespace-only composer should be treated consistently with existing send behavior. + - If current send trims/rejects whitespace-only input as empty, Enter should open. + - If current send treats whitespace as input, preserve that existing behavior. +- Opening must use the existing open path. + - Do not duplicate attach/open logic. + - Existing return-to-multi behavior after detaching from the opened Pod must continue to work. +- Non-openable selected rows should behave like `o` currently behaves. + - Show the same diagnostic/notice and remain in multi view. +- Do not change `o` key behavior. +- Do not change direct-send delivery semantics. + +## Acceptance criteria + +- `tui --multi`: empty composer + Enter returns the same outcome/action as `o` for an openable selected Pod. +- `tui --multi`: non-empty composer + Enter still direct-sends to the selected eligible idle live Pod. +- Empty Enter on a non-openable row shows the same diagnostic as `o`. +- Existing `o` behavior and return-to-multi behavior remain unchanged. +- Focused tests cover empty Enter open, non-empty Enter send, and non-openable empty Enter diagnostic. +- `cargo fmt --check` +- `cargo test -p tui multi --no-default-features` or equivalent focused tests. +- `cargo check -p tui` +- `git diff --check` + +## Out of scope + +- Changing direct-send eligibility. +- Adding a new keybinding. +- Changing single-Pod attach behavior. +- Changing multi-Pod row layout. diff --git a/work-items/closed/20260529-031832-multi-pod-empty-enter-open/thread.md b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/thread.md new file mode 100644 index 00000000..5516695f --- /dev/null +++ b/work-items/closed/20260529-031832-multi-pod-empty-enter-open/thread.md @@ -0,0 +1,70 @@ + + +## Created + +Created by tickets.sh create. + +--- + + + +## Closed + +--- +id: 20260529-031832-multi-pod-empty-enter-open +slug: multi-pod-empty-enter-open +title: Open selected multi-Pod entry on empty Enter +status: closed +kind: task +priority: P2 +labels: [tui, pod, ux] +created_at: 2026-05-29T03:18:32Z +updated_at: 2026-05-29T03:27:13Z +assignee: null +legacy_ticket: null +--- + +## Background + +`tui --multi` currently uses `o` to open/attach the selected Pod entry. Enter is used to send the composer contents to the selected idle live Pod. + +When the composer is empty, pressing Enter has no message to send. Treat that input as the same action as `o`: open the selected Pod entry in the single-Pod conversation screen. + +This should make the multi-Pod dashboard feel more picker-like while preserving direct-send behavior when text is present. + +## Requirements + +- In `tui --multi`, pressing Enter with an empty composer opens the selected Pod entry, equivalent to pressing `o`. +- Pressing Enter with non-empty composer keeps the current behavior: send the composer contents to the selected eligible idle live Pod. +- Whitespace-only composer should be treated consistently with existing send behavior. + - If current send trims/rejects whitespace-only input as empty, Enter should open. + - If current send treats whitespace as input, preserve that existing behavior. +- Opening must use the existing open path. + - Do not duplicate attach/open logic. + - Existing return-to-multi behavior after detaching from the opened Pod must continue to work. +- Non-openable selected rows should behave like `o` currently behaves. + - Show the same diagnostic/notice and remain in multi view. +- Do not change `o` key behavior. +- Do not change direct-send delivery semantics. + +## Acceptance criteria + +- `tui --multi`: empty composer + Enter returns the same outcome/action as `o` for an openable selected Pod. +- `tui --multi`: non-empty composer + Enter still direct-sends to the selected eligible idle live Pod. +- Empty Enter on a non-openable row shows the same diagnostic as `o`. +- Existing `o` behavior and return-to-multi behavior remain unchanged. +- Focused tests cover empty Enter open, non-empty Enter send, and non-openable empty Enter diagnostic. +- `cargo fmt --check` +- `cargo test -p tui multi --no-default-features` or equivalent focused tests. +- `cargo check -p tui` +- `git diff --check` + +## Out of scope + +- Changing direct-send eligibility. +- Adding a new keybinding. +- Changing single-Pod attach behavior. +- Changing multi-Pod row layout. + + +--- diff --git a/work-items/open/20260529-031832-multi-pod-empty-enter-open/thread.md b/work-items/open/20260529-031832-multi-pod-empty-enter-open/thread.md deleted file mode 100644 index 5ac14d29..00000000 --- a/work-items/open/20260529-031832-multi-pod-empty-enter-open/thread.md +++ /dev/null @@ -1,7 +0,0 @@ - - -## Created - -Created by tickets.sh create. - ----