[Glitch] Fix handling of recursive toots in WebUI

Port b1fd6d4490 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Claire 2021-11-25 23:46:39 +01:00
parent 443ec4f8ba
commit 67c4e8e317

View File

@ -70,7 +70,7 @@ const makeMapStateToProps = () => {
ancestorsIds = ancestorsIds.withMutations(mutable => { ancestorsIds = ancestorsIds.withMutations(mutable => {
let id = statusId; let id = statusId;
while (id) { while (id && !mutable.includes(id)) {
mutable.unshift(id); mutable.unshift(id);
id = inReplyTos.get(id); id = inReplyTos.get(id);
} }
@ -88,7 +88,7 @@ const makeMapStateToProps = () => {
const ids = [statusId]; const ids = [statusId];
while (ids.length > 0) { while (ids.length > 0) {
let id = ids.shift(); let id = ids.pop();
const replies = contextReplies.get(id); const replies = contextReplies.get(id);
if (statusId !== id) { if (statusId !== id) {
@ -97,7 +97,7 @@ const makeMapStateToProps = () => {
if (replies) { if (replies) {
replies.reverse().forEach(reply => { replies.reverse().forEach(reply => {
ids.unshift(reply); if (!ids.includes(reply) && !descendantsIds.includes(reply) && statusId !== reply) ids.push(reply);
}); });
} }
} }