What is the planned solution for cross-host link sharing?
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
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
})();