Make conversation threads visually obvious in the home feed - #268
Make conversation threads visually obvious in the home feed#268wlplease wants to merge 4 commits into
Conversation
Visual QA / screenshot matrixReal authenticated captures are still pending. Please capture the same examples on Android and iOS at the default text size, then repeat the deep-thread case at the largest supported text size.
For the PR evidence, use one tightly cropped before/after pair for direct replies and one pair for deep replies. Add a separate quote-cast capture to prove ancestry isolation. Do not include recovery phrases, private keys, notifications, DMs, or unrelated account information. |
|
Correction: tagging the repository account associated with the existing thread implementation — @CassOnMars. For deep cross-author chains whose absolute root is not already resolved on-device, should the feed show the oldest resolved context + immediate parent/current reply (the current bounded-fetch behavior), or must the first visible cast always be the absolute thread root? The current implementation explicitly marks unknown earlier context and never renders more than three casts per feed unit. I will align the final policy with your preference. |
Additional cross-platform verificationCompleted after the visual QA checklist:
Still requires account/device access before those checklist items can be marked complete:
No credentials or private account data were used in this verification. |
Summary
Makes conversation relationships understandable at a glance in Quorum's chrono/reply-bumping home feed without changing cast navigation or feed ordering.
Deep-thread behavior
For a resolved deep chain, the preview selects the root/oldest resolved context, an omission marker when needed, the immediate parent, and the focused reply while never rendering more than three casts.
One product decision remains for deep cross-author chains whose absolute root is not already resolved:
The current behavior keeps home-feed fetching bounded and prioritizes the relationship immediately relevant to the focused reply. Maintainer guidance is requested before finalizing this policy.
Navigation and quote casts
Existing tap targets are preserved through an explicit target-selection helper. Quote cards do not receive parent context, connectors, omission markers, or ancestry fetches.
Validation
SocialFeedModal.tsx)--forceExitbecause the existing thread-detail suite leaves an open handleCoverage includes depths 1-64 in known- and unknown-root modes, simultaneous leading/internal omissions, case-insensitive hashes, input immutability, self-reply chains, branches, cycles, unrelated conversations, bumped ordering, stable row identity, navigation targets, and quote isolation.
Remaining visual validation
Authenticated production-feed screenshots and iOS device validation are still required. The Android test account could reach the social feed, but Quorum correctly requires an imported Farcaster account before rendering real casts.