• 0 Posts
  • 14 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.


  • i can see rust being a bit more challenging to support properly in an IDE and there still being various special cases not handled properly, and i’m glad that it’s free to use non-commercially, but with jetbrains rustrover i frequently see it calling out errors in code that happily compiles, autocomplete being semi-random in how it wants to complete today, which seems to have gotten worse with their recent AI pushes, and even a couple times the entire IDE locking up not too long ago, though i don’t remember whether the last part was in rustrover or one of their other IDEs. overall pycharm has been pretty stable for me, as long as you provide it with a pre-existing venv or let it create one for you, as the integration with the latest and greatest™ python package manager may not be there yet.



  • You basically can’t if your instance was set up before 0.19.4, as there won’t be any association between users and uploads for older uploads. You also can’t do this without breaking thumbnails everywhere unfortunately.

    The latest Lemmy version has a fix where thumbnails now are actually stored at a reasonable resolution for thumbnails, but old thumbnails may be quite large, and this does not retroactively shrink older thumbnails.

    It’s possible to pull image aliases from the DB and ignore them when iterating over aliases within pict-rs, but you these will only be manual uploads, not automatic uploads like generated thumbnails. For posts by local users, deleting thumbnails will also end up breaking them for 0.19.5+ instances, as they should reuse the original thumbnail url.




  • I’m not familiar with n8n but it’s fairly straightforward on the API side.

    You’ll need a session token, also known as JWT, which you can get from logging in.

    You typically don’t want to do a login for every post, so you’ll want to store that as a persistent value.
    For authentication, you can pass the header authorization: Bearer {jwt}, with {jwt} being the session token.

    https://join-lemmy.org/api/classes/LemmyHttp.html contains the API documentation.

    You’ll need to figure out the id of the community that you want to post to.

    If you need to look it up, you can use getCommunity to fetch its details. Afterwards you can use createPost to submit it.

    The form links for the methods explain the request body json values that should be provided.






  • cleaning up dead communities isn’t a great experience as it is today.

    admins could purge communities, but this can cause unexpected breakages with other activitypub software that is more strict about cryptographic verification, as purging a community erases all information about it from the local instance, including the cryptographic private key. purging a community also only removes it on the local instance, so other instances would still have a cached (although possibly marked as deleted) copy of it. this would be the only method that frees up the name to allow creating a new community under the same name later on. locally this would also remove all posts and comments associated in that community, but other instances may think that they have users subscribed to the community and may still have posts and comments in there. this also means if a new community is created with the same name again, the local instance will still not know about older posts, but users on other instances might see them still, and the local moderator might be unable to interact with them at all, e.g. to potentially remove old problematic content.

    the next option is removing a community as (instance-)moderator action. this will only mark the community as removed without further impact. regular users won’t be able to access the community on the local or any other instance anymore, but its contents are preserved in case it gets restored at a later point in time. the name is not released and there isn’t even an error message shown when trying to create a new community with the same name.

    another option could be to “take over” the community and delete it, which is the act of the top community mod deleting the community (not a moderation action). in this case only the same top community moderator can restore it. this behaves mostly the same as removing it.

    none of these options are good to use. imo purging should be avoided in any case, and the other options both require admin intervention to release a community later on and have no user feedback in lemmy-ui at this time, at least on 0.19.5.

    for communities entirely without posts it is probably ok to just remove them and restore and transfer them if someone requests them. for communities with content the next best thing might be locking the community, potentially locking all posts if it’s just a small number, to prevent unmoderated new content in that community, and put up a pinned post asking people to reach out if they want to take over the community. otherwise, if the community was removed or deleted, all the posts and comments within them would also be taken down with the community.



  • simply put: no

    most fediverse software has its own API specific to how that application works. in some cases different fediverse software may be sharing a common API, which is typically a result of either a reimplementation (e.g. the Sublinks project is working on a reimplementation of the Lemmy API) or the result of a fork, where the previous API has been inherited and is typically built on top of.

    It should also be noted that while Lemmy and Mastodon both use ActivityPub federation for interoperation, they have significantly different internal structures for how data is stored and represented to clients. I don’t know if mastodon supports vote federation with Lemmy at this point, but if it doesn’t do that currently, then using an alternative frontend won’t help you. It would likely be possible to build a Mastodon client that has a better thread view though, but it’d still have to be something built for the Mastodon API specifically.