This happens for me on a small number of posts, and is generally repeatable, even when the website shows comments.

For instance, running on lemmy.world, GetPost(id: 290602) tells me the post exists and has 7 comments, as does https://lemmy.world/post/290602

But GetComments(postId: 290602) returns an empty list.

If I run against the original post on ‘programming.dev’, GetComments(postId: 99912) does show me the comments, but I don’t think I’m supposed to be second guessing the federating logic :-)

Has anyone seen anything similar or can confirm they see this same behaviour for this post?

  • HerrLewakaas@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Yes! I didn’t see your post, I’m having the same issue, specifically with the instances lemmy.world and feddit.de. Good to know it’s not my fault I guess?

  • silas@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I was running into this. I’ve noticed that some instances seem to have limits to how many comments you can fetch at a time, especially when there is no “limit” or “page” set. Setting “limit” or “page” or a parent id seems to avoid it. The limits for each server might be under getSite(), but if those limits are related to this issue specifically, haven’t tested it

  • mykl@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Quick update for anyone reading this:

    I’ve just worked out how to use curl with the Lemmy API, and sadly curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&postId=290602" does show the comments, so I had to accept that there’s something wrong in my request.

    Having fiddled about a bit it appears that setting the type parameter controls whether non-local comments get included, so adding type: CommentListingType.all solved this problem.

    • nmtake@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Hi! The first curl example doesn’t seem to work - it fetches comments but they are not relevant to https://lemmy.world/post/290602 :

      > curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&postId=290602" | jq -c '.comments[] | [.post.id, .comment.id, community.name]'
      [484044,486431,"nostupidquestions"]
      [455772,486976,"giftofgaming"]
      ...
      [485477,486428,"outoftheloop"]
      [484044,485717,"nostupidquestions"]
      

      It seems that we need to set type_ parameter like this:

      > curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&post_id=290602&type_=All" | jq -c '.comments[] | [.post.id, .comment.id, community.
      name]'
      [290602,484328,"programmer_humor"]
      [290602,374758,"programmer_humor"]
      ...
      [290602,355277,"programmer_humor"]
      [290602,345799,"programmer_humor"]
      
  • silas@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I was running into this. I’ve noticed that some instances seem to have limits to how many comments you can fetch at a time, especially when there is no “limit” or “page” set. Setting “limit” or “page” or a parent id seems to avoid it. The limits for each server might be under getSite(), but if those limits are related to this issue specifically, haven’t tested it