Skip to content

Show send-as address on thread reads - #484

Open
robzolkos wants to merge 3 commits into
mainfrom
rob/issue-483-sender-readback
Open

robzolkos wants to merge 3 commits into
mainfrom
rob/issue-483-sender-readback

Conversation

@robzolkos

@robzolkos robzolkos commented Sep 22, 2026

Copy link
Copy Markdown
Collaborator

Fixes #483.

HEY stores the selected From address in sender, while creator stays the account user. Keep and show the sender in CLI and TUI thread reads.

Red send/read regression now passes; make test and make lint pass. A live dev send succeeded, but dev search returned 500, so live readback was not verified.


Summary by cubic

Fixes #483. Thread reads now show the actual send-as address HEY recorded, instead of always displaying the account user's address.

Changes

  • Retains sender through threadload and displays it in CLI, TUI, HTML, and Markdown output; creator stays the account user.
  • Omits sender when the entry's message was not read or on index-only formats (--count, --ids-only).
  • Documents the sender field in docs/cli.md, docs/tui.md, and skills/hey/SKILL.md.

Written for commit b40768b. Summary will update on new commits.

Review in cubic

HEY stores the configured From in message.sender while creator remains the account user; threadload dropped sender and thread read therefore made successful sends appear to use the wrong address. Retain and display the sender without changing creator.
@robzolkos
robzolkos requested a review from a team as a code owner September 22, 2026 21:57
Copilot AI balanced review requested due to automatic review settings September 22, 2026 21:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approved

The only unresolved comment is a non-blocking documentation nit.

Review effort: Balanced
Findings: None

What changed in this PR

Preserves HEY’s selected send-as identity separately from the account creator and displays it in CLI and TUI thread reads.

Changes:

  • Retains and accounts for sender metadata.
  • Exposes sender identity across CLI and TUI formats.
  • Adds regression tests and documentation.

Non-blocking note: update skills/hey/SKILL.md to document the new sender field.

File Description
internal/​tui/​mail.go Displays the selected sender identity.
internal/​tui/​mail_test.go Tests TUI send-as rendering.
internal/​threadload/​threadload.go Retains and budgets sender metadata.
internal/​threadload/​threadload_test.go Tests sender retention and budgeting.
internal/​mail/​entry.go Adds sender data to mail entries.
internal/​mail/​entry_test.go Tests creator/sender separation.
internal/​cmd/​topic.go Exposes and formats sender data.
internal/​cmd/​topic_test.go Tests sender serialization and formatting.
internal/​cmd/​thread_sender_test.go Adds end-to-end send/read regression coverage.
internal/​cmd/​thread_partial_test.go Verifies unread entries omit sender metadata.
docs/​tui.md Documents TUI sender display.
docs/​cli.md Documents CLI sender semantics.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved: Cursor Security Agent completed with no findings that need human review, and Cursor Bugbot was not running on this PR. No approval-policy files applied, and no prior approval needed re-evaluation. Reviewers were not assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@robzolkos

Copy link
Copy Markdown
Collaborator Author

Fixed - the HEY skill now explains sender and when it is safe to use creator as a fallback.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hey compose --from / draft from: succeeds but send still uses primary HEY identity

2 participants