[-] freamon@community.nodebb.org 1 points 4 days ago

@freamon Update: no, Lemmy doesn't understand them either. It rejects Create / Note without a community with the usual "did not match any variant of untagged enum AnnouncableActivities"

[-] freamon@community.nodebb.org 1 points 4 days ago

@julian It currently doesn't. If someone is Mentioned, the assumption is that it was part of post / comment in a community, and it fails because it can't find the community. I know that, for Lemmy, if you Mention someone in a comment, and they don't have a copy of the community (or they do and there's no local subscribers to it), then it will reject it. I don't know what it does if there's no community at all (I'll figure out a way to test it, on a server I can control).

[-] freamon@community.nodebb.org 1 points 4 days ago

@julian Oh, right. Thanks. But yeah, it's what Lemmy (and PieFed) uses, so I just assumed it was part of AP, and never looked into it any further.

I was thinking while typing this "I bet that means that chat messages from NodeBB to PieFed will fail", which I just tested, and sure enough they do (I'll make an Issue for it on PieFed's repo).

[-] freamon@community.nodebb.org 1 points 4 days ago

@rikudou As far as I understand things, a 'private message' in ActivityPub is Create / ChatMessage, not Create / Note. I think NodeBB wouldn't be the only software to complain if 'cc' is missing from either part of Create / Note (although it's not expected in either part of Create / ChatMessage).

[-] freamon@community.nodebb.org 3 points 1 week ago

Guppe Announces the original post, and the replies to it, but doesn't Announce anything else. For the replies, it also does what PeerTube does and sends out them unsigned, for instances to verify using the LD signature in the activity, or to fetch from the source. If you want to meaningfully vote on something that came from a.gup.pe, you have to send it to the original author, not to a.gup.pe like you would if you were voting from something from Lemmy, because a.gup.pe will just silently drop it.

Lemmy's communities Announce everything, but Mastodon only comprehends Announce as a Boost, so it just rejects the Announce of anything that's not a Page or a Note. There are other platforms though (e.g. Friendica) who will see the Announce of a Like, and go fetch it from it's source (most non-Lemmy platforms don't trust Lemmy-style Announces, because whilst it's against the spec for Announce contents not to be an exact copy of the original activity, there's nothing stopping a rogue community from misrepresenting users or undoing their intentions).

[-] freamon@community.nodebb.org 3 points 1 month ago

@rglullis@communick.news No, I don't there's any overlap between PieFed and Fediverser either. The potential of Fediverser seems like it got cut off at the knees by how widely defederated alien.top is.

[-] freamon@community.nodebb.org 2 points 1 month ago

Yeah, as mentioned - Lemmy is often quite bad at sending the 'Accept' back for a Follow. It's particularly the case if the instance hasn't heard of you before, because in the process of fetching your user and instance details, it 'forgets' about the Accept. Within Lemmy, everyone's sort of got into the habit of 'Subscribe / Unsubscribe / Subscribe'. (where the first 'subscribe' lets them get your details, and the second one actually gets an 'Accept' back.)

PieFed is more reliable at sending 'Accept' back, so it's maybe useful to check your logic from this end with a community from there, e.g. https://piefed.social/c/antisocialmedia

[-] freamon@community.nodebb.org 1 points 1 month ago

@darkpollo Oh, sorry. It turns out that that link worked because I'm logged in to defcon.social.

I've crowbarred your comment into my dev instance for PieFed instead: https://pythag.net/post/4695#comment_27962

[-] freamon@community.nodebb.org 4 points 1 month ago

@ericjmorey@discuss.online OP answered here: https://feddit.org/comment/4286281 (the lack of mobile apps, was the answer)

[-] freamon@community.nodebb.org 3 points 1 month ago* (last edited 1 month ago)

Oh, yeah. It's still ongoing. You can track the progress at https://codeberg.org/rimu/pyfedi/src/branch/main/app/api/alpha/routes.py if you like. At the bottom of that page, things with a 'Stage 1' are what's left to do.

The remaining stuff is mostly to do with chat / notifications. Once done, a basic app could be released, and then improved to include stuff that's missing (things like uploading an image to post or a comment, and viewing reports)

EDIT: sorry, this was meant to be a reply to another comment. Still getting the hang of NodeBB. Now will this edit work ...

[-] freamon@community.nodebb.org 5 points 1 month ago

@blaze@feddit.org Thunder is written using Flutter / Dart - meaning that it's cross-platform. I've compiled the version for PieFed for windows, linux and macos, so as long as I'm able to get it working for Android, it should also work for iOS. I'll need to be someone else who does though, 'cos my mac is too old, and I don't have an iphone.

Bonus screenshot:

0

I subscribed to activitypub@community.nodebb.org earlier, and got my first post. The activity looked like:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "actor": "https://community.nodebb.org/category/30",
  "cc": [
    "https://community.nodebb.org/category/30/followers"
  ],
  "id": "https://community.nodebb.org/post/https%3A%2F%2Fcommunity.nodebb.org%2Fpost%2F102768#activity/announce/1737427447686",
  "object": {
    "cc": [
      "https://community.nodebb.org/uid/24276/followers"
    ],
    "id": "https://community.nodebb.org/post/102768#activity/create/1737427442685",
    "object": {
      "@context": [
        "https://www.w3.org/ns/activitystreams",
        {
          "Emoji": "toot:Emoji",
          "toot": "http://joinmastodon.org/ns"
        }
      ],
      "attachment": [],
      "attributedTo": "https://community.nodebb.org/uid/24276",
      "audience": "https://community.nodebb.org/category/30",
      "cc": [
        "https://community.nodebb.org/uid/24276/followers"
      ],
      "content": "<p>Looking through my logs (snip).</p>\n",
      "context": "https://community.nodebb.org/topic/18546",
      "id": "https://community.nodebb.org/post/102768",
      "inReplyTo": null,
      "name": "User Agent Used for Federation?",
      "published": "2025-01-21T02:43:57.558Z",
      "replies": "https://community.nodebb.org/post/102768/replies",
      "source": {
        "content": "Looking through my logs (snip)",
        "mediaType": "text/markdown"
      },
      "summary": null,
      "tag": [],
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "type": "Note",
      "updated": null,
      "url": "https://community.nodebb.org/post/102768"
    },
    "to": [
      "https://www.w3.org/ns/activitystreams#Public"
    ],
    "type": "Create"
  },
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "type": "Announce"
}

As you can see, there's an 'actor' in the Announce (for the community), and 'attributedTo' in the Note (for the user), but no 'actor' in the Create part. I've not seen this behaviour on any other platforms - there's always an 'actor', with the same value as the 'attributedTo' field in the Note.

I tried to reply to my account on another platform on post , but it didn't federate out (I don't know if having to wait for moderator approval affects this). Given that Announce normally just wraps the original object, it suggests that there'll also be no 'actor' in 'Create' when it's just 'Create/Note' being sent out, but I haven't been able to check. This is a bit inconvenient (for me at least), because I'm used to using that field to get the details of the user who signed the request, and it'll be a pain to have to dig into the Note's 'attributedTo' field to find it.

view more: next ›

freamon

joined 1 month ago