• 0 Posts
  • 121 Comments
Joined 1 year ago
cake
Cake day: March 24th, 2024

help-circle

  • deleted the database

    this is generally something you should avoid doing with activitypub software, as there is no clearly defined way to deal with changed private keys and it is handled differently depending on the software. with lemmy it should more or less resolve itself after some time, as instances will refresh public keys from time to time. after a few days of being alive again and having activities federate out it that part should start working properly again.

    Subscription Pending Issue

    check if your instance is considered dead, it may take sending some activities (e.g. subscribing, posting, commenting) and a bit of waiting to get your instance considered reachable again. you can use https://phiresky.github.io/lemmy-federation-state/site to check the instance you’re expecting data from and look for where your instance is listed.

    Old Content Persisting

    as @asudox@lemmy.asudox.dev already mentioned, all you did was disappear. how would anyone know that your intention was to delete data?

    while you can’t force other instances to respect your deletion requests, it would still be possible to ask them for it, but this is not an easy task once they’re no longer in your database. the most effective/efficient way to do this would probably to first get your overall federation fixed/not considered dead anymore, then delete the account using the same name, and never use the username again on the same domain in the future, as deletions are more pretty much irreversible and depending on the software on the other side may permanently block the username from being used, even if you change this in your database. another option could be creating posts/comments with matching ids in the database and then deleting them via api, but this is also rather fiddly and a lot easier to fuck things up with. i don’t recommend editing the db directly without good understanding of lemmy’s internals.

    Old Replies Resurfacing

    Lemmy uses numeric incremental ids for posts and comments, so when you started with a fresh database these ids are getting reused. this will break your posts and comments from properly federating to instances that have seen them with the same id before.

    the easiest and lowest tech solution to deal with this would be to simply move to a different domain/subdomain for a proper new instance experience. alternatively you could consider adjusting the sequences in the database used for new post, comment and pm ids, to ensure that they are higher than any number your instance may have previously seen. as they are incremented not only by local content, but also by content retrieved via federation, these numbers will be significantly higher than the amount of content you had posted in the past, but it will be hit or miss whether they will overlap with ids that were for old local content.

    based on counts from lemmy.ml and lemmy.world, it seems that a post sequence starting at 55m is likely safe to use, 20m for comments. pm ids are not publicly visible, but unless you sent or received many in the past, something like 1k or 10k are probably still safe bets. this is a db modification that you will need for sure if you want to minimize federation issues while using the same domain.

    looking at your instance i’m not sure if this is what you mean by replies resurfacing, as i don’t see any replies by remote users on your comments, but what i described is otherwise going to cause issues randomly in the future if you happen to hit a previously locally used id on a new local post/comment.





  • this is most likely the case, pict-rs headers allow caching basically forever and don’t include revalidation. i’ll bring this up with the pict-rs dev about changing the default or adding a config option for this.

    something like s-maxage should do the job, though it’d probably be up to the instance operator to decide on a sane value for that, as it will always be a tradeoff.

    ideally, lemmy would have a mechanism for cache purging, but i suspect that this might be something that people will have to implement themselves using the 1.0 plugin system at some point, as it’s probably not going to become core functionality to support e.g. cloudflare cache purging.

    edit: it seems that the 1 year cache is already an override by aussie.zone - pict-rs only sets a 7 day max-age, which is passed on by lemmy as can be seen e.g. on lemmy.ml, which isn’t behind cloudflare, or on progamming.dev, which is behind cloudflare but doesn’t seem to be overriding it.




  • the unban itself federates, but on community bans the user gets unsubscribed from the communities, which deletes the associated subscription in the db.

    skimming over the code it seems to be only happening in case of community bans (including the ones derived from instance bans on 0.19), but it should also remove your local subscription on your own instance. as long as that federates it should still be picked up by lemmy-federate eventually, as your local instance should also have removed that when receiving the community ban.

    it might be debatable whether subscriptions should get removed with community bans for public communities, but overall the code logic seems to be there. i haven’t tested this end to end yet.


  • instance bans currently generally don’t federate and won’t show in the modlog of your home instance, but recent lemmy versions are automatically issuing community bans for all communities on that instance that you participated in, which allows you to at least see this in some cases indirectly.

    1.0 will federate instance bans, but i haven’t looked at the implementation in detail yet and i’m not sure if this is already implemented to be shown in the modlog.



  • slrpnk.net has some first hand experience for this, as @poVoq@slrpnk.net already deployed anubis in front of lemmy-ui.

    it wouldn’t be that complicated to add it to lemmy-ansible if people are interested in having the option.

    i don’t see the argument for having this before user interaction though; the main goal of this is to fight malicious crawlers. for authenticated users, solutions like this are completely unnecessary as these can simply and much more efficiently be addressed through rate limits without putting users on low end hardware at a disadvantage and contributing to global warming.




  • it should cover all federated actions.

    any instance admin can decide to ban you on their instance or remove your content on their instance, but unless it’s a local community or they’re mod of the community these actions won’t federate and will only apply to that specific instance.

    the most useful one to look at is generally the one on the user’s home instance, as that should list all actions that federated.

    instance bans currently generally don’t federate and won’t show in the modlog of your home instance, but recent lemmy versions are automatically issuing community bans for all communities on that instance that you participated in.






  • to add to that, Lemmy currently does not handle site bans well if it’s not a home instance ban, as instances don’t keep track of which other instances have banned which users. this should get better with 1.0 though, as a PR to improve that was recently merged.

    for now, there is a band-aid solution that federates community bans for all communities local to the instance the user got banned from, but that only includes communities that the user previously participated in, so they’ll still be able to participate in the local copies of other communities from the instance they’re banned from, it just won’t fully federate out.