I think most (especially mobile) clients simply don't have this option and will always copy/share the "fedi link" - the url where the content is canonically hosted. all other URLs are simply cached representations of the original content.
Nothing4You
https://lemmy.blahaj.zone/instances shows lemmygrad as blocked, maybe there are some older communities that were never removed on blahaj after defederation?
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.
photos will never be pngs unless someone intentionally converts them to that format, as pngs are much worse than jpgs for storing this type of image. pngs are much better for computer generated images, such as screenshots, drawings, etc. you can also losslessly compress pngs with tools like pngcrush without converting them to jpg.
it's like @[email protected] described. old content does not get federated unless there is new activity on it and someone on your instance is subscribed to the community it happens in.
this isn't anyone's fault, it's just a matter of the instance not being around that long that some historic content will be missing.
so just dropping duplicates then?
are there no references to the duplicates from posts? if there are and the duplicate rows are just deleted it'll cascade deletion and purge all those posts from the db as well
how are you planning to fix this?
delegating authentication to another service.
one of the more commonly known options would be sign in with google, but this is also quite useful for providers hosting multiple services. a provider could host a service that handles authentication and then you only have to login once and will automatically get logged in for their lemmy, xmpp, wiki and other services they might be providing.
do you happen to have experience with setting up influxdb and telegraf? or maybe something else that might be better suited?
the metrics are currently in prometheus metrics format and scraped every 5 minutes.
my idea was to keep the current retention for most metrics and have longer retention (possibly with lower granularity for data older than a month).
the current prometheus setup is super simple, you can see (and older copy of) the config here.
if you want to build a configuration for influxdb/telegraf that i can more or less just drop in there without too many adjustments that would certainly be welcomed.
the metric that would need longer retention is lemmy_federation_state_last_successful_id_local
.
I'll probably have to look at another storage than prometheus, aiui it's not really well suited for this task.
maybe something with influxdb+telegraf, although i haven't looked at that yet.
it may be related to the older lemmy version.
the latest lemmy version has changed how metadata is fetched for posts coming from federation and it will no longer be processed while receiving the federated activity, instead it will be processed in the background. sometimes, metadata for urls cannot be fetched within the time limit and then the post will not federate properly if it's not happening in the background.