forked from alemi/upub
fix(web): oof mixed up reply id and object id
This commit is contained in:
parent
28889eb338
commit
116c8fe6b0
1 changed files with 11 additions and 10 deletions
|
@ -83,21 +83,23 @@ pub fn TimelineRepliesRecursive(tl: Timeline, root: String) -> impl IntoView {
|
||||||
let root_values = move || tl.feed
|
let root_values = move || tl.feed
|
||||||
.get()
|
.get()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter_map(|x| CACHE.get(&x))
|
|
||||||
.filter_map(|x| {
|
.filter_map(|x| {
|
||||||
let oid = match x.object_type().ok()? {
|
let document = CACHE.get(&x)?;
|
||||||
|
let (oid, reply) = match document.object_type().ok()? {
|
||||||
// if it's a create, get and check created object: does it reply to root?
|
// if it's a create, get and check created object: does it reply to root?
|
||||||
apb::ObjectType::Activity(apb::ActivityType::Create) =>
|
apb::ObjectType::Activity(apb::ActivityType::Create) => {
|
||||||
CACHE.get(x.object().id().ok()?)?.in_reply_to().id().str()?,
|
let object = CACHE.get(document.object().id().ok()?)?;
|
||||||
|
(object.id().str()?, object.in_reply_to().id().str()?)
|
||||||
|
},
|
||||||
|
|
||||||
// if it's a raw note, directly check if it replies to root
|
// if it's a raw note, directly check if it replies to root
|
||||||
apb::ObjectType::Note => x.in_reply_to().id().str()?,
|
apb::ObjectType::Note => (document.id().str()?, document.in_reply_to().id().str()?),
|
||||||
|
|
||||||
// if it's anything else, check if it relates to root, maybe like or announce?
|
// if it's anything else, check if it relates to root, maybe like or announce?
|
||||||
_ => x.object().id().str()?,
|
_ => (document.id().str()?, document.object().id().str()?),
|
||||||
};
|
};
|
||||||
if oid == root {
|
if reply == root {
|
||||||
Some((oid, x))
|
Some((oid, document))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
@ -108,7 +110,7 @@ pub fn TimelineRepliesRecursive(tl: Timeline, root: String) -> impl IntoView {
|
||||||
<For
|
<For
|
||||||
each=root_values
|
each=root_values
|
||||||
key=|(id, _obj)| id.clone()
|
key=|(id, _obj)| id.clone()
|
||||||
children=move |(id, obj)| {
|
children=move |(id, obj)|
|
||||||
view! {
|
view! {
|
||||||
<div class="context depth-r">
|
<div class="context depth-r">
|
||||||
<Item item=obj replies=true />
|
<Item item=obj replies=true />
|
||||||
|
@ -117,7 +119,6 @@ pub fn TimelineRepliesRecursive(tl: Timeline, root: String) -> impl IntoView {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
|
||||||
/ >
|
/ >
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue