• Head admin @ lemm.ee, a general-purpose Lemmy instance
  • Creator of lemmy-ui-next, an alternative Lemmy frontend
  • Lemmy contributor

ko-fi

  • 40 Posts
  • 110 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2023

help-circle






  • I have identified two reasons for broken thumbnails right now:

    1. For some, the source website is simply not allowing our server to download the image (mostly due to server issues on the remote side)
    2. For others, it seems that some types of URLs are breaking thumbnail generation. I think I found the bug here and will try to submit a fix soon.

  • Regarding your question:

    Lemmy federation basically works by copying stuff from their source instance to all other federated instances. So if I write a comment on lemm.ee, other federated instances will get their own copy of my comment. They will also all know that the “authority” for this comment is lemm.ee.

    If an admin on another instance decides to delete their local copy of my comment on lemm.ee, then they are always free to do so (for example, some instances might want to moderate more strictly), but any actions they take like this are limited to their own instance - for the rest of Lemmy, lemm.ee remains the authority for this comment, so individual remote instance admins taking actions won’t have any effect on any other instances.

    As for the original topic of modlog federation, basically it just boils down to this: just like with the comment example above, Lemmy instances also save a local copy of incoming federated mod logs. The Lemmy software does not yet have 100% coverage in terms of federating mod logs (for example, there are no federated logs yet for instance admins banning remote users), but this coverage has been increasing, and I expect this will eventually get to 100% (just needs more dev time really).

    Also, if some instance admins try to tamper with their mod logs, then other instances can still see the real history, because there is no way for an instance admin to delete copies of their mod log from other instances.



  • Most actions federate, any exceptions which aren’t federated yet are generally just there because the federation logic has not been implemented (but improvements are constantly being worked on).

    Generally federating the modlog is mostly just there for informative purposes. As in, we can check what mod actions were taken on instance A through the modlog on instance B (and there is no mechanism in Lemmy for other instances to retroactively remove or hide federated modlog items, btw).



  • Basically, yes!

    For the backend: our traffic is load balanced between multiple servers, so I can just spin up a new server with the latest version of Lemmy, add it to the load balancer, and then start taking down the servers with older versions. That way, there is no disruption at all for users, because there is always a server available to handle incoming traffic. The only requirement for this is that the new version of Lemmy can’t have database migrations which break the old running servers.

    For lemmy-ui: it’s a bit more complicated, because even with a load balancer, it’s still possible that one user making multiple sequential requests can end up getting responses from different servers. This is problematic, because during an upgrade, files from the new version are not available on the old servers, and vice versa. Fortunately, there are many ways to solve this problem, for lemm.ee, the solution I use is to just always serve lemmy-ui files from object storage, for all versions. In other words, after I upload lemmy-ui files for a new version, these will immediately also be available on old servers.










  • sunaurus@lemm.eeMtoMeta (lemm.ee)@lemm.ee...
    link
    fedilink
    arrow-up
    5
    ·
    9 months ago

    I agree that using the mod log to attack other users with inaccurate mod action reasons is not really justifiable.

    We now have some additional guidance about this here under the moderator responsibilities section:

    Ensure that they only provide accurate and clear reasons for mod actions

    I will make a separate announcement post about this as well shortly.

    Unfortunately, due to the nature of mod log federation on Lemmy, it’s not really possible to retroactively change mod action reasons currently. I am sorry about that. If this does end up causing problems for you in the future, you could point people to this thread for context.






  • Hey! Do I understand correctly that your app is trying to fetch any /post/<id> directly from its source instance API? If so, I have a few ideas:

    1. If you detect anything that looks like a Lemmy post URL (<host>/post/<id>), you could first try to make a request to <host>/version, and only treat the post as a Lemmy post if you get a JSON response from that endpoint where .software.name === 'lemmy'. Otherwise, open that URL in the browser.
    1. The above will already “fix” the issue, but custom frontends on subdomains is actually quite common, so if you want to handle those links without resorting to a browser, then: in cases where <host>/version is not a Lemmy response, but <host> includes a subdomain, you could repeat the same logic from step 1 for the parent domain as well. If you detect a Lemmy API at the parent domain, then just use that to fetch the post.