Uh oh!
There was an error while loading. Please reload this page.
Add CLI and TUI posting moves - #173
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds bulk posting moves to the CLI and an interactive destination picker to the TUI.
Changes:
- Adds
hey movewith destination resolution and Bubble Up rejection. - Adds the TUI move picker while preventing same-box moves.
- Updates tests, help, documentation, API coverage, and skill metadata.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.surface | Registers the move command surface. |
API-COVERAGE.md | Documents move endpoint coverage. |
README.md | Documents CLI and TUI moves. |
internal/cmd/box.go | Adds a move breadcrumb. |
internal/cmd/help.go | Adds move to categorized help. |
internal/cmd/help_test.go | Updates help expectations. |
internal/cmd/move.go | Implements the move command. |
internal/cmd/move_test.go | Tests move behavior and errors. |
internal/cmd/root.go | Registers the move command. |
internal/tui/mail.go | Integrates posting moves into mail. |
internal/tui/mail_test.go | Tests picker and same-box behavior. |
internal/tui/move.go | Implements the destination picker. |
internal/tui/tui_test.go | Tests picker input ownership. |
skills/hey/SKILL.md | Documents move usage for agents. |
tests/smoke/boxes_test.go | Adds end-to-end move coverage. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hey move <posting-id>... --to <box>with bulk moves and destination lookup by name, kind, or IDmdestination picker to the TUI while preserving the existing one-key box actionsBehavior
Supported destinations are Imbox, The Feed, Set Aside, Reply Later, and Paper Trail. Moving to boxes other than Imbox marks the posting seen, which the TUI explains before confirmation. Bubble Up continues to use HEY's scheduled flow.
Validation
make checkmake race-testAll production-validation postings were restored to Imbox.
Summary by cubic
Adds posting moves to both the CLI and TUI so users can move messages between HEY boxes without the web app. Moving to non‑Imbox marks messages seen; Bubble Up is excluded and must use HEY’s scheduled flow.
hey move <posting-id>... --to <box>supports bulk IDs and resolves destinations by name, kind, or ID; rejects Bubble Up; prints a concise summary; adds help and breadcrumbs.mto open a destination picker; excludes the current box and Bubble Up; Enter moves, Esc cancels; explains that non‑Imbox moves mark the message seen; existing one‑key moves remain and skip no‑op same‑box requests./postings/moves.jsonvia SDKPostings().Move; updates.surface, README, help text,skills/hey/SKILL.md, andAPI-COVERAGE.md; adds unit and smoke tests for success and error cases.Written for commit be4f041. Summary will update on new commits.