aka freamon

Codeberg: https://codeberg.org/freamon?tab=activity

Anything from https://lemmon.website/ is me too.

  • 7 Posts
  • 362 Comments
Joined 10 months ago
cake
Cake day: March 27th, 2024

help-circle




  • I’ve been playing around with it on my dev instance.

    It’s possible to bring their forums in as communities, but they don’t supply an outbox, so it doesn’t come with any posts.

    I added the ability to manually retrieve posts from there, including the ability to bring in some replies too (it’s currently set at 10). It’s quite nice that it’s convenient to also get replies (to replicate that with Lemmy, we’d need to query their API).

    I subscribed to a community, but have had to hack around getting the first post that happened to show up to appear, because they don’t include an ‘actor’ in the Create object that’s embedded in the Announce. This is very unusual, and only seems to apply if the author was from nodebb, not Mastodon or Lemmy or whatever. I’ve signed up for an account there, to see if it also happens if a Create is sent directly (I suspect it does). As a new user though, I’m having to wait for my comment to be approved by a moderator (whereas with AP I can just yeet anything in there without delay).

    I also spent some time banging my head against the desk, because it turns out posts from there are very similar to Poll Votes from Mastodon.

    So, yeah - that’s a couple of things to chat about. It would be better if they were a bit more like other established platforms, but there’s already some inter-op: e.g. here and here

    EDIT: my comment from there was approved, but nothing federated out. Looks like they have more work to do on this.



  • If you fetch a community that your instance hasn’t previously heard of, you can typically query the community’s ‘outbox’ collection to get recent posts. So in Lemmy, you get 50 old posts, and then - once someone has subscribed - new posts start coming in.

    Different platforms have different formats for their outboxes - Lemmy uses Announce/Create/Page, a.gup.pe and PeerTube use Announce, with a URL that leads to a Note or Video, wordpress uses Create/Article. Because Lemmy already understands its own outbox format, it’s able to get old posts from other Lemmy instances. It doesn’t get old stuff for a.gup.pe, PeerTube, or wordpress though.

    So you might be wondering what outbox format nodebb uses - to which the answer is none. The outbox leads nowhere useful (they’re in good company with MBIN on this). Anyway - this is why fetching a nodebb community won’t come with any of its existing posts (but - as mentioned - new stuff will come in for subscribers)








  • Oh, wow. Thanks.

    For clarity, I wasn’t intending to say that PieFed treats that field as HTML (it treats it as text), I just meant that if you were looking at that JSON, and being a bit lazy like me and not looking at specs, then it wouldn’t be unreasonable to assume that the ‘mediaType’ field also refers to ‘name’ (rather than a ‘content’ field which this post doesn’t happen to have).

    Anyway, this seems to be even more reason why MD shouldn’t be put in titles, and front-ends shouldn’t be encouraging the practise by rendering it.


  • Yes - it’s easy to do from a command line. For this post, it would be:

    curl --header 'accept: application/activity+json' --location https://lemmy.world/post/24241974 | jq .

    it looks like
    {  
      "@context": [  
        "https://join-lemmy.org/context.json",  
        "https://www.w3.org/ns/activitystreams"  
      ],  
      "type": "Page",  
      "id": "https://lemmy.world/post/24241974",  
      "attributedTo": "https://lemmy.world/u/amon",  
      "to": [  
        "https://lemmy.world/c/fediverse",  
        "https://www.w3.org/ns/activitystreams#Public"  
      ],  
      "name": "By the way, you can have `Markdown` in Lemmy post titles",  
      "cc": [],  
      "mediaType": "text/html",  
      "attachment": [],  
      "commentsEnabled": true,  
      "sensitive": false,  
      "published": "2025-01-13T20:48:50.824942Z",  
      "language": {  
        "identifier": "en",  
        "name": "English"  
      },  
      "audience": "https://lemmy.world/c/fediverse"  
    }   
    

  • You can, but maybe you shouldn’t. Given that this post is in the fediverse community, I don’t feel too bad about mentioning that Lemmy is part of a federated network with PieFed and MBIN (I try not to bollock on too much about the platform I happen to be using).

    In the ActivityPub JSON for this post, there is no indication that this field contains MarkDown. If anything, it says the opposite, it says it contains HTML. It’s therefore not unreasonable for other platforms to render it as such.

    Given this, and the poor support for mobile clients indicated in the comments, and the fact that it’s only a subset of MarkDown tags, but include ones that aren’t part of CommonMark standard, I’d argue that it’s not necessarily a good idea.


  • You can’t. resolve_object in the API needs a full URL - something you could also put in a browser to uniquely identify an object - a user, community, post, or comment, but not a modlog entry.

    You’ll have to get the mods / admin at blahaj to flip the ban again.

    Other instances have recorded that particular unban, so it’s possible that - at the time it was sent, lemmy.nz rejected it because the community didn’t have any local subscribers. So, considering the activity, it would be a lemmy bug. Maybe not though, maybe lemmy.nz was just down at the time. Anyway, it’s showing 1 local subscriber now, so assuming that’s a different account, another attempt should be acknowledged.




  • I see this has already been answered, but I’ll post what I was typing out anyway.

    It’s not enough to just provide your auth token if you want to fetch the details for yourself (even though the JWT decodes to identify you). You have to use /user like you would for fetching anyone else, e.g.:

    curl --header 'accept: application/json' --header 'authorization: Bearer xyzyzyz' --location https://lemmy.world/api/v3/user?username=okelote360 | jq .