Remove duplicate posts caused by reposts
parent
e11d53b67d
commit
e5ec07b919
|
@ -457,6 +457,7 @@ export class FeedModel {
|
||||||
} else {
|
} else {
|
||||||
this.feed = this.feed.concat(toAppend)
|
this.feed = this.feed.concat(toAppend)
|
||||||
}
|
}
|
||||||
|
dedupReposts(this.feed)
|
||||||
dedupParents(this.feed)
|
dedupParents(this.feed)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -595,9 +596,24 @@ function preprocessFeed(feed: FeedViewPost[]): FeedViewPostWithThreadMeta[] {
|
||||||
return reorg
|
return reorg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WARNING: mutates `feed`
|
||||||
|
function dedupReposts(feed: FeedItemModel[]) {
|
||||||
|
// remove duplicates caused by reposts
|
||||||
|
for (let i = 0; i < feed.length; i++) {
|
||||||
|
const item1 = feed[i]
|
||||||
|
for (let j = i + 1; j < feed.length; j++) {
|
||||||
|
const item2 = feed[j]
|
||||||
|
if (item1.post.uri === item2.post.uri) {
|
||||||
|
feed.splice(j, 1)
|
||||||
|
j--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WARNING: mutates `feed`
|
||||||
function dedupParents(feed: FeedItemModel[]) {
|
function dedupParents(feed: FeedItemModel[]) {
|
||||||
// only show parents that aren't already in the feed
|
// only show parents that aren't already in the feed
|
||||||
// NOTE if a parent post arrives in a followup loadmore, it'll show when we otherwise wish it wouldnt -prf
|
|
||||||
for (let i = 0; i < feed.length; i++) {
|
for (let i = 0; i < feed.length; i++) {
|
||||||
const item1 = feed[i]
|
const item1 = feed[i]
|
||||||
if (!item1.replyParent || item1._isThreadChild) {
|
if (!item1.replyParent || item1._isThreadChild) {
|
||||||
|
|
Loading…
Reference in New Issue