diff options
author | Eric Bailey <git@esb.lol> | 2025-08-19 11:33:46 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-19 11:33:46 -0500 |
commit | ea7f984a405c287f3fb50c151a78a6836e101347 (patch) | |
tree | 4289b9d46e0416dd0bb427019b5bb93e7a942ccc /src/state/queries | |
parent | 492378692776d21925fa3507034088371f712c16 (diff) | |
download | voidsky-ea7f984a405c287f3fb50c151a78a6836e101347.tar.zst |
Fix isPartOfLastBranchFromDepth assignment (#8856)
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/usePostThread/traversal.ts | 11 | ||||
-rw-r--r-- | src/state/queries/usePostThread/types.ts | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/state/queries/usePostThread/traversal.ts b/src/state/queries/usePostThread/traversal.ts index 2809d32e9..2e7693fab 100644 --- a/src/state/queries/usePostThread/traversal.ts +++ b/src/state/queries/usePostThread/traversal.ts @@ -307,9 +307,16 @@ export function sortAndAnnotateThreadItems( metadata.isPartOfLastBranchFromDepth = metadata.depth /** - * If the parent is part of the last branch of the sub-tree, so is the child. + * If the parent is part of the last branch of the sub-tree, so + * is the child. However, if the child is also a last sibling, + * then we need to start tracking `isPartOfLastBranchFromDepth` + * from this point onwards, always updating it to the depth of + * the last sibling as we go down. */ - if (metadata.parentMetadata.isPartOfLastBranchFromDepth) { + if ( + !metadata.isLastSibling && + metadata.parentMetadata.isPartOfLastBranchFromDepth + ) { metadata.isPartOfLastBranchFromDepth = metadata.parentMetadata.isPartOfLastBranchFromDepth } diff --git a/src/state/queries/usePostThread/types.ts b/src/state/queries/usePostThread/types.ts index 2f370b0ab..5df7c2e42 100644 --- a/src/state/queries/usePostThread/types.ts +++ b/src/state/queries/usePostThread/types.ts @@ -151,8 +151,8 @@ export type TraversalMetadata = { */ isLastChild: boolean /** - * Indicates if the post is the left/lower-most branch of the reply tree. - * Value corresponds to the depth at which this branch started. + * Indicates if the post is the left-most AND lower-most branch of the reply + * tree. Value corresponds to the depth at which this branch started. */ isPartOfLastBranchFromDepth?: number /** |