![](https://lemmy.hogru.ch/api/v3/image_proxy?url=https%3A%2F%2Flemmy.blahaj.zone%2Fpictrs%2Fimage%2FPG5vaKqMsg.webp)
![](https://lemmy.hogru.ch/api/v3/image_proxy?url=https%3A%2F%2Flemmy.world%2Fpictrs%2Fimage%2Fb13dd487-9001-491f-b5b2-60fe23af667a.png)
this is what happens when lemmy tries to handle microblog content not specifically tailored to it’s exact quirks
this is what happens when lemmy tries to handle microblog content not specifically tailored to it’s exact quirks
After seeing a team of fedi software developers drop their Matrix bridge to their Discord after the total lack of moderation tooling resulted in an extremely transphobic spam wave, I for one am not surprised.
Another team I’m aware of also dropped Matrix for other reasons, but went for Zulip instead, which is also open, but more collaboration oriented a la Slack rather than community oriented like Discord, which probably would not fit what the group in the OP is looking for.
Lemmy’s cross posts are separate posts that just happen to link to the same thing. so only replies to the original post would be sent with the current design.
that said, i severely doubt Lemmy will gain anything from this. publishers will not be sending out their posts to any communities, and i highly doubt they will expose any fep-1b12 group actors you can subscribe as a community.
kbin/mbin with it’s ability to follow users may work better, assuming people test their federation with software other than mastodon, and accept any of the interoperability bugs as actual bugs instead of ignoring them. (lemmy itself is no stranger to this: the fact that users and communities can share the same username break quite a bit)
Look into opening an account on an Iceshrimp instance like https://fedia.social, or an Akkoma instance like http://pleroma.envs.net. Their APIs are an extension on top of the Mastodon APIs (and both support Markdown and should expose them to apps). Sharkey also has some Mastodon API compatibility but it’s quite broken and might require some odd workarounds to get stuff working.
That said, for rich text, parsing the HTML will be more than enough for nearly all cases.
nah, there are plenty of truth wannabes (freeze peach bigotry safe havens) that actively federate. just look at literally any competent server’s blocked instances list and you’ll see a few examples. there’s a reason why nobody* runs completely open federation
*: aside from people who’re friendly with that crowd ofc
(vanilla) mastodon does not have markdown, and content from other instances (marked up or not) get transmitted as HTML over the wire (and the mastodon API serves sanitized HTML to apps).
mastodon forks like glitch, and clones of the mastodon API like those on pleroma/akkoma and iceshrimp do serve the markdown source AFAIK, but unless OP’s looking to… idk, support MFM (which, on a non-web app would be difficult) I don’t really see the point in that.
OP edited them out after posting for whatever reason
so, are you paying for it?
TLDR of linked gist: wayland is not X therefore it is bad. end of.
Wayland breaks Xclip: As you said it yourself, Xclip is an X11 application, so it doesn’t work on Wayland. Of course it wouldn’t work on Wayland. With Wayland, we’re trying to prevent what happened with Xorg from happening again, or am I wrong?
also, https://github.com/bugaevc/wl-clipboard. perhaps all OP (of gist) needs is a simple shim that can convert calls to xclip to wl-copy/paste? that doesn’t seem too hard to make compared to keeping X.org alive I’d say (perhaps they should try making it if it’s that much of a problem)
Wayland breaks screensavers: Yeah, that seems to be the case.
from the dev of xscreensaver at https://www.jwz.org/blog/2023/09/wayland-and-screen-savers/ :
[…] Adding screen savers to Wayland is not simply a matter of “port the XScreenSaver daemon”, because under the Wayland model, screen blanking and locking should not be a third-party user-space app; much of the logic must be embedded into the display manager itself. This is a good thing! It is a better model than what we have under X11. […]
[…] Under X11, you run XScreenSaver, which is a user-space program that tries really hard to keep the screen locked and never crash. It is very good at this, but that it needs to try so hard in the first place is a fundamental design flaw of X11. […]
other people can comment on the parts they know about, these are two i know of off the top of my head
DNS blocking is the most unreliable way of blocking youtube ads you can imagine.
you could write a script to OCR your entire screen and click skip ad and it’d be more reliable than DNS blocking
I swear fossbros lose reading comprehension skills faster than Tumblr once you ask for any kind of software recommendations
One of the reasons I use containers instead of installing things directly is that i can completely uninstall a service by deleting a single directory (that contains a compose.yml and any necessary volumes) and running a docker/podman system prune -a
or that i can back up everything by backing up a single “containers” dir, which i could have on a subvolume and snapshot if i wanted to
systemd/quadlet on the other hand makes me throw files in /etc (which is where you’re supposed to put them, but ends up resulting in them being tangled together with base system configuration often partially managed by the package manager)
The Solution™ to this is configuration management like ansible or whatnot, which needlessly overcomplicates things for the use cases i need (though they’re still useful for getting a base system “container ready” wrt ssh hardening and such)
tldr: i want my base system to be separated from my services, and systemd integration is the exact wrong tool for this job
Logic errors will be a more relevant issue with a web app (things like not setting your JSON Web Tokens to expire) and Rust won’t save you from that.
I’m sure there is some arcane feature of Rust that’d let you encode that in the type checker somehow. Yeah it’d be completely unreadable and unmaintainable but knowing the Rust community there’s probably someone mad enough to take a crack at it.
AFAIK the issues l.w et al are struggling with are to do with the database. The language you’re calling out to Postgres doesn’t really matter when it’s Postgres that’s taking a lifetime computing through your hell-query.
I don’t know much about Go (I should really take a closer look at it) but it’s definitely also a valid candidate. (Perhaps a bit too bare bones for my personal liking, but hey you can’t win em all)
A long-running web thing like Lemmy doesn’t need the processing benefits of native compilation, and can avoid memory vulnerabilities with a garbage collector. Most things it does are IO bound (receive data from other servers, send data to other servers, occasionally render some HTML, interact with a database…) so you’re really not benefiting from anything specific to Rust, but you are losing a significant amount of developer effort into things like working with the borrow checker or the infamously long compilation times that could instead go into implementing functionality.
You could make something just as performant as Lemmy is today with Python or JS (JS would particularly work well given the prevalance of JITs).
I’d been eyeing azorius.net lately considering it’s much smaller/younger than Lemmy and already federates (and might make an interesting foundation to build something out of before it grows too large, hint hint to anyone who actually knows Go) but I don’t have the Go experience to actually go through its code.
I’ve been experimenting with ActivityPub on my own time and I am kinda starting to understand why all AP projects end up being large messes. It’s spaghetti code all the way across the fedi.
Because now you have to maintain that fork. If it was as simple as pressing the little fork button on GitHub and importing a few PRs in than there’d already be several forks right now.
The Lemmy codebase is a beast that’s evolved over several years. Not everybody can just jump in and throw anything they want just because of how complex a system it is internally. (I learned that the hard way.)
Across the fediverse all the major successful forks have a motivating factor. Glitch social is maintained by the only other paid developer hired to work on Mastodon and acts as an unstable branch / “feature fast track” of sorts, Akkoma exists because upstream Pleroma has sided with the freeze-peach crowd too many times to count. Firefish and Iceshrimp had a whole… thing… (too much drama to explain) (oh and upstream Misskey is way too Japanese for western developers to contribute, including commit messages and code comments) What’s the motivation to start a Lemmy fork? And what’s the motivation to keep maintaining it?
I really want to see a Lemmy fork. Particularly one that attempts to prioritize instances as their own individual communities (rather than the Redditesque “instances as free horizontal scaling” view of the fedi a lot of people seem to have). Hell I might end up attempting to contribute a quality of life feature or two of my own if a viable fork were to exist. Yet there isn’t any.
So, I guess what I’m trying to say is, the only reason no fork exists is because nobody has stepped up to the challenge.
EDIT: And of course with ActivityPub in the mix you also have to consider how it will affect federation with other instances, and building consensus among other projects (not necessarily just Lemmy) regarding any extensions you might decide to add to the protocol (though you’d have much easier time implementing extensions from other projects if they solve your issue)
small correction: the post that displays the instance you’re on (https://void.rehab/notes/9umvfd1lgoulvm0j) won’t work with “'regular” iceshrimp. it depends on an extra patch added to the version on void.rehab to function.