aka freamon

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

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

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

help-circle


  • 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.



  • It uses postgres for the DB - I think that and redis are designed to operate at very large scales, so it wouldn’t be them.

    My guess would be that it’s something in the interpreted nature of Python - this seems to be why a familiar dismissal of PieFed is a concern about how it will scale.

    That said, this site shows that Python is the most popular language for Fediverse apps (just), the likes of Mastodon are written in another interpreted language (Ruby), and I think there are more big websites running Python (with Django or Flask) than people realise. So I don’t know, really, I’m just following other people’s lead on this. I don’t imagine that any problems would be insurmountable though: an admin could restrict the amount of signups, or if new users mean a few more donations, they could just throw money at the problem (more cycles for one server, or splitting up tasks across multiple servers).






  • It’s not so much that we expect the developers of Lemmy apps to retool. The hope is that, if we can provide a sensible, well-documented API, then it will appeal to front-end developers looking for a project. Also, if there are any devs of Lemmy mobile apps who are unhappy with Lemmy’s API for any reason, then getting involved with PieFed’s whilst it’s still in development, offers them a chance to shape one to their desires.

    Speaking of Thunder though - I’ve been able to compile it for desktop, and get it working with PieFed’s API in the state it’s in now. I’ve no experience with Flutter / Dart or front-end development, so it suggests that - for open source Lemmy apps, at least - it doesn’t need to be the original author who ports it, and that the actual details a particular API are only a relatively small part of creating a good mobile app.


  • As Admiral Pat mentions, embeds are easy enough. I don’t know how Tesseract does it, but a low-tech solution is to just replace ‘watch’ in the URL with ‘embed’ and stick it in a iframe. From Lemmy’s GitHub, it looks like there’s been work on this, but I’m not familiar enough with it to know whether it’s for future versions that haven’t been released yet.

    New videos used to come in to Lemmy as expected. There’s been some regression that stopped it. It’s possible to bring them in manually though (by searching for the URL), and - like with embeds - it’s possible that it’s been fixed but not yet released.

    PT’s videos channels are ActivityPub Group types like Lemmy’s communities, but it doesn’t handle federation the same way. It does it in a way that’s more compatible with Mastodon. Lemmy’s communities Announce everything they receive (posts, comments, votes, etc) and so if you receive that Announce, then as long as you trust the community, you can trust that the contents haven’t been changed and process it. PT’s video channels only Announce new posts (so on Mastodon, it appears as if the channel has Boosted content by the channel owner), but for everything else, it’s a combination of sending out a ‘post update’ (which is essentially an invitation to query the outboxes it provides for votes and comments), and just flinging out the comment as is, without the HTTP signature. If you get that comment, then you can either use the LD signature that Mastodon includes to verify, or you can look at the ID, and fetch it from it’s source. As such, Lemmy’s federation model is mostly Push-based, whereas PeerTube’s is a bit of Push, and a lot more Pull.






  • A cross-post is just a post that links to the same URL as another post. The codeberg Issue that Blaze linked to mentions an exception, but other than that, there’s not a convenient button that copy-pastes a post’s title, body, and URL into a new ‘Create Post’ form. You can do it manually though, and everything that receives it will detect it as a cross-post, because everything is just looking for matching URLs.