Skip to content

Redesign Home as an inbox#582

Merged
wesbillman merged 20 commits into
mainfrom
inbox
May 14, 2026
Merged

Redesign Home as an inbox#582
wesbillman merged 20 commits into
mainfrom
inbox

Conversation

@thomaspblock
Copy link
Copy Markdown
Collaborator

Summary

  • Redesign the Home view around an inbox-style list/detail layout with category filters, thread context, reactions, replies, and done/unread state.
  • Rename the user-facing navigation/header from Inbox to Home and align the Home header/background treatment with the rest of the desktop app.
  • Polish inbox presentation, including avatar rounding, message spacing, compact filter pills, and updated smoke coverage for the new layout.

Test plan

  • pnpm exec playwright test --project=smoke tests/e2e/smoke.spec.ts
  • pnpm exec playwright test --project=smoke tests/e2e/smoke.spec.ts -g "home feed shows channel and agent activity sections"
  • Pre-commit/pre-push hooks: desktop check, desktop build, Tauri check, Rust fmt/clippy/tests, web check/build, mobile check/test

Notes

  • Local integration/stream Playwright specs require a local relay and seeded test data. They were blocked locally because Docker was not running, so /query returned 404 during relay seed checks.

Made with Cursor

thomaspblock and others added 19 commits April 23, 2026 16:24
Turn the home feed into a mail-style inbox so mentions and action items feel easier to triage. Keep inbox replies visible inline and align the thread, composer, and header chrome with the updated desktop layout.

Made-with: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the Home inbox filters compact on one row and update smoke coverage to match the inbox-style layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
@thomaspblock thomaspblock requested a review from wesbillman as a code owner May 14, 2026 18:16
@thomaspblock
Copy link
Copy Markdown
Collaborator Author

inbox-2.mp4

Create fresh mention items inside relay-backed Home inbox tests so they do not depend on stale seeded feed contents.

Co-authored-by: Cursor <cursoragent@cursor.com>
@wesbillman
Copy link
Copy Markdown
Collaborator

@codex please review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: babfbe2f00

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +78 to +79
setIsLoading(true);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Clear prior thread context when selecting a different inbox item

When the selected inbox item changes, this effect starts loading new context but does not clear fetchedEvents first, so events continues to merge the previous thread’s fetched messages until the new request finishes. In practice, quickly switching between unrelated items can momentarily show stale messages from the old thread and expose reply/reaction actions against the wrong context before the new fetch resolves.

Useful? React with 👍 / 👎.

Comment on lines +35 to +36
if (filter === "all") {
return item.categories.some((category) => category !== "activity");
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Include activity items in the default "All" inbox filter

The default all filter currently excludes items whose only category is activity, which means users can land on an empty inbox even when activity items exist, and those items only appear after manually switching filters. Because this filter is labeled “All” and is the default view, excluding a full category produces misleading empty states and hides available feed content.

Useful? React with 👍 / 👎.

@wesbillman wesbillman merged commit 8a2d24e into main May 14, 2026
15 checks passed
@wesbillman wesbillman deleted the inbox branch May 14, 2026 20:35
tlongwell-block added a commit that referenced this pull request May 15, 2026
* origin/main: (33 commits)
  dev-mcp: add view_image tool (#602)
  fix(relay,desktop): only advertise NIP-43 when enforced; probe pairing by supported_nips (#601)
  fix(desktop): derive unread state from NIP-RS + relay catch-up only (#599)
  docs(testing): rewrite TESTING.md for current API and CLI-first workflow (#597)
  fix(agent): fix OpenAI-compat request body serialization and max_tokens (#595)
  feat(desktop): per-persona and per-agent env var overrides (#594)
  fix(desktop): stop pinning agents to deprecated SPROUT_ACP_TURN_TIMEOUT (#592)
  fix(desktop): populate member_count in get_channels so channel browser shows real counts (#548)
  fix(desktop): autofocus message composer on channel/thread open (#572)
  refactor(cli): restructure flat commands into 12 subcommand groups (#585)
  feat(sdk): add builder functions for workflows, DMs, and presence (#589)
  feat(desktop): add message more-actions dropdown menu (#590)
  fix(mobile): preserve channel list across background/resume reconnection (#588)
  Redesign Home as an inbox (#582)
  fix(desktop): drive unread badges from live subscription, not refetched lastMessageAt (#581)
  fix(desktop): refine header scaling and shadow (#573)
  fix(desktop): keep day dividers below header (#574)
  Move agent activity below composer (#579)
  docs(nips): NIP-AE — Agent Engrams (#575)
  refactor: extract shared @mention resolver into sprout-sdk (#580)
  ...

Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants