bookwyrm-social / bookwyrm

Social reading and reviewing, decentralized with ActivityPub
http://joinbookwyrm.com/
Other
2.23k stars 260 forks source link

Reviews and Comments cannot be viewed on Pleroma instances #1348

Open shiai233 opened 3 years ago

shiai233 commented 3 years ago

Reviews and Comments cannot be viewed by followers from Pleroma instances.

To Reproduce Steps to reproduce the behavior:

  1. Go to 'comment'
  2. Publish a comment
  3. Go to a pleroma instance that follows the account publishing the comment
  4. See error

Expected behavior Hope the bug will be resolved so that pleroma instances can interact with bookwyrm instances.

Instance yyyyy.club

mouse-reeve commented 3 years ago

When you say you're seeing an error, what error is that? Or are you just not seeing the comment as expected?

shiai233 commented 3 years ago

Thanks for the quick response! I just can't see the reviews and comments as expected.

I also tried with different versions of pleroma. A 2.3.0-1-gb221d77a version of Pleroma has no issue seeing the reviews and comments but the 2.4.0-516-gdc63aaf8 and 2.4.1 versions cannot see the reviews and comments.

I will also raise the issue with the admins of these two Pleroma instances so that they can look into it on their side as well.

mouse-reeve commented 3 years ago

Gotcha, I expect I did something recently that messed up compatibility. If you're able to get error logs from a Pleroma instance that would be a huge help, but I'm sure I can suss it out regardless

FloatingGhost commented 2 years ago

the issue is the Edition tag, pleroma doesn't like it this is probably an issue pleroma-side, given that it should probably just ignore tags it can't validate

 # 1
        %Pleroma.Web.ActivityPub.ObjectValidators.TagValidator{href: nil, icon:                                                                                                              nil, id: nil, name: nil, type: nil, updated: nil}

        # 2
        %{"href" => "https://books.mydomain/book/10", "name" => "Piranesi", "type" => "Edition"}

    Attempted function clauses (showing 3 out of 3):

        def changeset(struct, %{"type" => "Mention"} = data)
        def changeset(struct, %{"type" => "Hashtag", "name" => name} = data)
        def changeset(struct, %{"type" => "Emoji"} = data)
FloatingGhost commented 2 years ago

it also hates the replies collection, which it doesn't expect to be a referenced array

FloatingGhost commented 2 years ago

Raised pleroma-side as https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3595