Garbage in, garbage out. If you look up ‘hansenerd’, they’re at https://shoddy.site/@cg - where it shows they joined in 2042.
Lemmy’s backend should probably be the one to sanitise it rather than each app.
aka freamon
Codeberg: https://codeberg.org/freamon?tab=activity
Anything from https://lemmon.website/ is me too.
Garbage in, garbage out. If you look up ‘hansenerd’, they’re at https://shoddy.site/@cg - where it shows they joined in 2042.
Lemmy’s backend should probably be the one to sanitise it rather than each app.
Hmmm. I’d imagine that’s essential for cloudflare to work. You can get their IP addresses if you have a server that is federated with them and you look in your nginx logs (so that ‘if’ is a big IF).
Ah, great, thank you. It’s been added as an Issue for PF now, with a link to this post, so that’ll be handy.
(I was likely misusing the term ‘regex’).
How does Piefed handle image attachments, btw?
For comments: not at all. If a Mastodon user tried to do what I did, with the inline image, nothing would show.
We could do what I think you’ve done, and regex the details of the attachment into ! [] ()
Markdown and add it to the text. There’s also a DB relationship between comments and images that isn’t used, but could be, I suppose.
I’ve never actually seen a Mastodon user try to add an image to something that ended up as a Lemmy comment, tbh, so it’s not something I’ve thought too much about.
I just tried with Masto - maybe there’s different versions, but it didn’t work with the one I tried.
Screenshot:
It’s probably for the best that this PR doesn’t also convert inline Markdown into an attachment to send out for Mastodon’s benefit, because then there would be the danger of apps that understand both showing two images. It’d be better if Mastodon did the translation when receiving stuff, but Mastodon doesn’t seem as good as MBIN when it comes to co-operating with Lemmy.
(edit: how that screenshot shows on MBIN is a bit disappointing though - at least looking at on the web)
Do they work the other way around btw? If someone on Lemmy uses the Markdown for an inline image do they show up on MBIN? I don’t they do on Mastodon.
https://literature.cafe/ is still running.
Interesting. Funnily enough, my comments are coming through to Lemmy as ‘Undermined’ too (just a PieFed bug, easily fixed), so the fact that you saw it (as well as the comments by the others I mentioned) means it’s not a language thing. That’s good, in a way, because it should be physically impossible to actually de-select it.
So, sorry - at least we can rule one thing out, but I don’t have any more suggestions.
That community only accepts posts in ‘undermined’ language, so if you aren’t seeing anything from there, but you can when you log out (to simulate everyone else’s view of it), then it’s probably a user setting that prevents you from seeing stuff from that language. If you go to the ‘collapse’ community and posts by ‘Midnight’ are missing, then it’ll be that (similarly there’s a comment here from ‘originallucifer’ - if you haven’t seen it, it’s 'cos of the language thing).
That comment chain demonstrates a real appeal of Reddit. Even for something like a post-episode TV discussion, a critical mass of people means that not only can you have the discussion in the first place, but there might be some extra info from someone who worked on the set, or attended an audience taping.
You can click to see the rest of the comments to see plenty wrong with Reddit too, but it’s not like there’s any particular drive to prevent the elements of Reddit culture that I find annoying from coming to Lemmy too.
I’d be surprised if there’s ever a critical mass of people on a federated app though. If there is, it’s more likely to be on something with the proper funding, that hides the details from regular users (e.g
it’ll be BlueSky, not Mastodon). On Reddit, Lemmy has a reputation for being too complicated, for the mundane reason that is. Too much stuff that should happen doesn’t, and the answer to why are the stuff that ‘normies’ don’t want to hear (LW and PD instances are both a bit unstable atm), or they’re so unintuitive that that they’ll need answering forever (e.g everything around discussion languages, instance blocks, newly-discovered communities , etc etc).
I’ve just seen a user accidentally submit the same post to the same community multiple times (the worst I’ve seen is 4 times). Preventing that is some real ‘web dev 101’ shit. Federated apps can be an interesting hobby for inexperienced devs (like me), and mildly diverting for anyone who wants to use them as a user, but a critical mass of users?! Forget about it.
Nope. Just tried on moist.catsweat.com and it says “Please select an item in the list” for the “Select Magazine” box if you try to post something and leave that empty.
I’m assuming that this is about your earlier post that ended up in LW’s technology community. Microblog posts like that seem to be more intended for whoever is following you as a user. If MBIN insists that you also have to choose a ‘sub’ then I think it’d be best to put it in whatever it considers a dumping ground (ideally something that doesn’t federate out), so the ‘random’ magazine sounds about right to me.
Here’s a community node for mastodon
Should this be a link to something?
We appear to be at an impasse.
I’ve recently been adding an API to PieFed and forked the Lemmy Thunder app as way to test things. My position on this comes from tinkering with Thunder - I can’t claim to understand it all, but it seems to me that the API and the app are fundamentally interlinked in ways that make being too adventurous with it difficult. For that app, it would break the existing paradigm to do the kinds of things you’re talking about. Thunder uses its own version of an API client (written in Dart), but I’ve assumed that other apps are written in a similar way, and are essentially wrappers around Lemmy’s JavaScript client.
Hopefully, someone else with more app development experience will contribute to this discussion, and set one of us right (I don’t mind if it’s me that’s wrong).
Most frontends already display available crossposts so you’re not wasting anything more than grabbing all the comment sections as well.
We’re talking about different things. I’m talking about the view you get when you first open an app - the ‘home’ screen that lists the posts. The API response for api/v3/post/list doesn’t indicate whether something has been crossposted. You can see for yourself by getting a list of the 2 oldest posts on lemmy.ml:
curl --request GET --url 'https://lemmy.ml/api/v3/post/list?type_=Local&sort=Old&page=1&limit=2' --header 'accept: application/json' | jq .
For those 2 posts, you can only find out if they have crossposts by individually querying each post using the api/v3/post endpoint - the first one in that list would be:
curl --request GET --url 'https://lemmy.ml/api/v3/post?id=2' --header 'accept: application/json' | jq .
where crossposts would be in the ‘cross_posts’ array.
So for an app to display whether a posts listed on the main feed have crossposts, they’d have to query post/list, and then for each entry, query /post as well. This isn’t the way these things typically work - there’s normally a 1-to-1 relationship between an API query, and displaying the results of that query on the page. Looping through the list you’ve been given, and making extra queries adds complexity and delay, when the expectation from the user is that this list should appear pretty quickly.
What you’re talking about, is the view once a user has clicked on a post, not the post list. This provides the crossposts info. It’s important to realise though, that the cross_posts array provides everything an app could want to display info about the other posts. It’s not like they are pulling the data for one post, and then pulling data for each listed crosspost, so if they were to start getting the comments for each crosspost, that would be an extra effort (and a potential waste).
I don’t agree at all. There’s space for complex frontends which attempt to adjust the feed according to their own logic, as well as minimalistic frontends which follow the backend’s design explicitly.
My counter to that, would be that if you aren’t using the API in the way the developers expected, your app has ceased to be frontend, and is instead its own program that’s scraping data from it. There are already some heavy desktop-orientated frontends, and none of them do what you’re proposing. I think that the reason why, is because the proper way to do it is for the Lemmy’s backend to be changed to provide the information they need in one go. That’s unlikely to happen, but that doesn’t mean that hacking away at an improper solution is necessarily the right answer (you just end up supporting a project that isn’t supporting you in return).
No reason that I can see. Your instance is sending stuff out, LW is getting stuff in, you’re not banned on LW (as far as I can see), LW and feddit.org are likely in the same part of the world (so no fed delays). There’s been times when LW has received a post and federated it out, but not shown it itself, but that’s not the case either.
I don’t know. It might be worth asking on LW’s matrix channel, to see if an admin will look into it.
Frontends generate the main feed by querying api/v3/post/list. This doesn’t provide any crosspost info - for that you have to go into the post itself by querying api/v3/post. As such, frontends would have to do a fair bit of extra work to wrangle the required information for a main feed that combined crossposts. The only attempt I’ve seen at doing this was in a dev branch of Tesseract.
I’d argue that you have a problem as soon as you start saying ‘frontends need to do some extra work’ - it breaks the dynamic between backends and frontends. Backends should be big, complicated things, worked on by people familiar with the project, to provide all the logic, whereas frontends should be light, relatively easy to write, runnable on devices with limited resources, and mostly focused on how the information provided to them should be displayed. They should store the user’s preferences, and login details, and that’s it - everything else should come from the backend.
As for combining comments, this can lead to fraught situations. This link was posted to both ‘cars’ and ‘fuckcars’. This link was posted to both ‘taylorswift’ and whatever-the-fuck ‘barelower4thwomenmusic’ is: so the comments for a music video would be from Taylor Swift fans, as well as from people with a foot fetish. Moreover, if this is the expected behaviour, trolls can use it to get up to no good, and make a bunch of comments appear in a new crosspost to a community subscribed to by people guaranteed to disagree with them.
I think anyone trying to ‘fix’ this issue will run into the fact that certain assumptions have been made in a software’s design, and those assumptions determine how database relationships are formed. The real answer may lie in something like ‘ClubsAll’, rather than an attempt to fundamentally redesign existing platforms.
In the meantime, crossposting is being actively encouraged. Movie news is posted to 5 different communities, open-source news is posted to 8, Taylor Swift music videos are posted to 12. The useful crossposts (one that help you discover a new community) are in the minority - most of it just ends up being annoying. And it’s because there this idea, that some time in the future, there’ll be a tech solution to make it less annoying, and the suggestion that maybe you should just pick the community you like and post to that, is - to me - surprisingly unpopular. Not only might this solution never come, but anything URL-based can’t do anything about the same question being posed to ‘nostupidquestions’ and both ‘asklemmys’, or with an image being uploaded and posted to one community, and then re-uploaded to post to another.
This whole thing feels like trying to find a tech solution to what I see as a user problem of mindless posting to as many communities as you can find. To be honest, it’s a problem that makes me a bit disillusioned (I saw a post the other day that was posted to both ‘interestingasfuck’ and ‘mildlyinteresting’, and thought - if that’s the community names we’re going with, and this behaviour is apparently okay, then we may as well be on Reddit).
This feels like something that would be scriptable using Lemmy’s API - see https://lemmy.readme.io to view and demo the endpoints.
Neat. It took me a while to realise what was going on: the post on Lemmy and the blogpost are two separate entities. The Lemmy post is a link to the blogpost, and the blogpost uses the post_id to fetch the comments (so I guess this means you have to make the blogpost, make the Lemmy post, and then go back and edit the blogpost with the correct id?)
The script is inspectable on the blog - I can see it does:
const url = 'https://lemmy.ml/api/v3/comment/listpost_id=21617067&limit=100&max_depth=8&sort=Top&type_=All';
So I suppose there’s an inbuilt limit for comment depth and number of replies, but if you start down the road of working on that, you’ll eventually find that you’ve re-invented a front-end, and there’s no end to it.
What the duckquill guys are doing is a bit fudgy, in that they’re getting another website to do the federation legwork for them, but the results are pleasing enough.
The bot gets its data from https://lemmyverse.net/ - which isn’t aware of https://walledgarden.xyz/. I don’t know why, but there’s a problem with the site that might be related - if you do
curl -i --header 'accept: application/activity+json' --location https://walledgarden.xyz/
it errors with ‘transferred a partial file’ whereas it works for any other Lemmy server. It must have worked in the past though, 'cos I was able to subscribe and post to a community on there not long ago.