Right now there seems to be a bit of an issue where if I want to share a link to a lemmy post with a friend, but if we call different servers our “home”, even though both of our “homes” have a roughly similar copy of the same post, there currently is no easy way that I perceive for us to navigate to “our” copy of that post.
This becomes further of an issue when it comes to search engine parsing. For example I use lemmy.world as my “home” server, however when I find information on google it may link to the fedia.io or whatever “sources” link.
For reading this is no big deal.
But if I want to respond to the post, I now need to somehow figure out a way to re-route to the lemmy.world copy of that post to make my submission with my user account.
I think ideally what we need to consider is perhaps one of the following:
A: a browser plugin that can automatically detect and redirect to the matching version of the post for your server
B: OAuth support, so I can OAuth login to any lemmy server with my credentials from my “home” server via an OAuth v2 token
I use this universal link switcher user script.
ChatGPT and I came up with this bookmarklet which I’m using until this is resolved.
You set your home instance, then just click it when on a post on another instance. It grabs the post title and the author, redirects to a post search of the title on your home instance, and copies the author to your clipboard to Ctrl-F if there are too many results.
You have to be pretty quick on the draw to be able to enable clipboard access when using it on a new instance for the first time. So it’s like a game, too.
javascript:(function(){ let instance = "lemm.ee"; const personListing = document.querySelector('.person-listing'); const author = personListing.getAttribute('title'); navigator.clipboard.writeText(author); alert("Post author copied to clipboard.\n\nCtrl-F + Crtl-V when redirected, if necessary."); var title = document.title; var lastDashIndex = title.lastIndexOf(" - "); if (lastDashIndex !== -1) { title = title.substr(0, lastDashIndex); } var encodedTitle = encodeURIComponent(title); let search = "https://" + instance + "/search?q=" + encodedTitle + "&type=Posts"; window.location.href = search })();