Original dislike:

{
  "actor": "https://lemmy.ml/c/asklemmy",
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "object": {
    "id": "https://endlesstalk.org/activities/dislike/e1f82f6a-d49b-4dab-b444-36c382f13c5a",
    "actor": "https://endlesstalk.org/u/freamon",
    "@context": [
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1",
      { ... },
        ...
      }
    ],
    "object": "https://midwest.social/post/7242862",
    "type": "Dislike",
    "audience": "https://lemmy.ml/c/asklemmy"
  },
  "cc": [
    "https://lemmy.ml/c/asklemmy/followers"
  ],
  "type": "Announce",
  "id": "https://lemmy.ml/activities/announce/dislike/6896b8ce-026d-463a-a223-ec1a1d444e5c"
}

Undo of Dislike:

{
  "actor": "https://lemmy.ml/c/asklemmy",
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "object": {
    "id": "https://endlesstalk.org/activities/undo/a9377c0b-074c-41de-ba99-51eeca323810",
    "actor": "https://endlesstalk.org/u/freamon",
    "@context": [
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1",
      { ... },
        ...
      }
    ],
    "object": {
      "actor": "https://endlesstalk.org/u/freamon",
      "object": "https://midwest.social/post/7242862",
      "type": "Like",
      "id": "https://endlesstalk.org/activities/like/1f0b6132-547e-4fb5-8313-6f7b7f31be6b",
      "audience": "https://lemmy.ml/c/asklemmy"
    },
    "type": "Undo",
    "audience": "https://lemmy.ml/c/asklemmy"
  },
  "cc": [
    "https://lemmy.ml/c/asklemmy/followers"
  ],
  "type": "Announce",
  "id": "https://lemmy.ml/activities/announce/undo/feedfdca-3392-4f7b-a3ce-2306d8981c5c"
}

The original Dislike activity (https://endlesstalk.org/activities/dislike/e1f82f6a-d49b-4dab-b444-36c382f13c5a) has a record at endlesstalk.org, but the Like object’s activity that’s been undone doesn’t (https://endlesstalk.org/activities/like/1f0b6132-547e-4fb5-8313-6f7b7f31be6b just returns ‘No record found’)

I got the same results when I tried this from lemmy.world (but I thought I’d try again from a 0.19 instance)

I found some references to this at the GitHub, but they were issues that were closed off as being fixed, so I don’t know what the situation is with this now.

  • freamon@endlesstalk.orgOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    For anyone else wondering, btw, it’s because lemmy expects all ‘id’ fields to be unique, so it would error if the inner object actually was a copy of the original vote.

  • Scrubbles@poptalk.scrubbles.tech
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    This was probably intentional, they don’t really need to say that somebody unlike or undisliked something. You just need to know that their vote is no longer valid. This is probably easier with Mastodon as well because they can and just erase whatever about it was, plus one or minus one, and essentially they don’t have a vote anymore.

    Because if you really think about it, do you really need to know if somebody undisliked versus unlike something? Or do you only need to know that their vote is now removed?

    • Max-P@lemmy.max-p.me
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Internally it’s even stored as a vote of either +1 or -1, so sending an undislike of a like probably also results in the vote’s removal. Lemmy just sums up all the votes and you have the score.

      A like and a dislike activity are also contradictory, so even if you don’t unlike something, if you send a dislike it replaces the like as well.

    • freamon@endlesstalk.orgOP
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      10 months ago

      Well, for my own nefarious purposes, I would’ve preferred to have all the info in one place. I’m not using Lemmy or Mastodon, just messing around with ActivityPub, so it’s be easier not to have to rely on past data about who voted for what that I haven’t necessarily kept.