Skip to content

feat: keep thread replies one level deep across clients - #7629

Open
KanjiTheryo wants to merge 2 commits into
block:mainfrom
KanjiTheryo:codex/single-level-replies-release
Open

KanjiTheryo wants to merge 2 commits into
block:mainfrom
KanjiTheryo:codex/single-level-replies-release

Conversation

@KanjiTheryo

@KanjiTheryo KanjiTheryo commented Sep 13, 2026

Copy link
Copy Markdown

Summary

Keep conversations readable by rendering all thread responses in one chronological list on desktop and mobile. Replying to a response continues the original thread and retains a clickable reference to the selected response.

  • SDK/CLI, native desktop/managed-agent, mobile, ACP typing, and workflow producers target the original root before signing. A reply-context tag preserves the selected response without adding nesting.
  • Historical signed events remain unchanged. Flat rendering includes deep descendants and missing intermediate parents; drafts retain selected-response context and separate legacy draft identities.
  • Add opt-in relay enforcement through BUZZ_SINGLE_LEVEL_REPLY_COMMUNITIES (explicit UUIDs; empty/off by default). Validate context ancestry and reject new deeper replies for enabled communities. Upgrade and verify clients/agents before enabling enforcement; disable enforcement first during rollback.

Related issue

Related: #2415, #3799, #4072. This intentionally offers a flat conversation model as an alternative to deeper nesting discussed in #2851; selected-response context remains available. Related open UI work includes #7036 and #6695. Maintainer agreement on this cross-client behavior is required before merge.

Testing

  • Full local just ci passed at c1c01bcc1169895d839fafa3c06bd778abcc53dc: formatting, lint/static checks, Rust/agent/native tests, 6,513 frontend tests, desktop/web builds, and 2,130 mobile tests.
  • The targeted messages/channels run also passed 1,891 tests. The full run caught a legacy ACP recovery-notice assertion; it now requires root parentage and retained response context, and the corrected agent suite passes.
  • Prior feature verification: 306 SDK tests; 38 focused mobile tests; 22 native message-command tests; reply-specific native tests; targeted draft tests; TypeScript/frontend build; two browser journeys including draft close/reopen and reply-context navigation.
  • Isolated PostgreSQL/workflow integration and a live local CLI-to-relay check verified signed root/context tags, depth 1, policy-off compatibility, policy-on rejection, and unchanged historical signed events. Synthetic local identities/data only.
  • Upstream CI, Desktop Release Candidate, and Docker image workflows currently require maintainer approval for this fork. DCO passed on the initial commit; the follow-up commit also includes DCO sign-off. No official desktop/mobile package or hosted relay was released.
  • Screenshots are not attached yet: the required scripts/post-screenshots.sh publishes to an upstream branch, and this contributor account has read-only upstream access. Local browser captures exist for maintainer-assisted attachment.

Ready for maintainer review. Next action: an upstream maintainer approves the fork workflows and reviews the cross-client behavior, then the release/community operators coordinate client/agent upgrades before enabling enforcement for the intended community. This PR does not activate enforcement by default.

Keep reply ancestry rooted at the original message and preserve selected-response context. Flatten historical replies on desktop and mobile, retain draft identities and context, and add opt-in community-scoped relay enforcement.

Signed-off-by: Kanji Kawanabe <kanji@aipersona.com>
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 4cd82f513214aad11c2b742ce7cc7c681e8e32a0...c1c01bcc1169895d839fafa3c06bd778abcc53dc.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review c1c01bcc1169895d839fafa3c06bd778abcc53dc to authorize a new review.
Any previous review applies only to its recorded range.

Signed-off-by: Kanji Kawanabe <kanji@aipersona.com>
@KanjiTheryo
KanjiTheryo marked this pull request as ready for review September 13, 2026 22:09
@KanjiTheryo
KanjiTheryo requested a review from a team as a code owner September 13, 2026 22:09
@KanjiTheryo

Copy link
Copy Markdown
Author

Still want this contributed. It is independent of the ACP DM allowlist work in #7642.

Ready for maintainer review. Fork workflows still need a Block org member to authorize CI. DCO already passed.

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.

1 participant