Skip to content

Instantly share code, notes, and snippets.

@renchap
Last active March 31, 2025 15:37
Show Gist options
  • Save renchap/3ae0df45b7b4534f98a8055d91d52186 to your computer and use it in GitHub Desktop.
Save renchap/3ae0df45b7b4534f98a8055d91d52186 to your computer and use it in GitHub Desktop.
@jenniferplusplus
Copy link

2 + 4 seems the most viable and effective course of action. Origin servers should include the open graph and/or oembed data they have. And also, all servers should have a more nuanced concept of trust than just suspend or allow, and that assessment of trust should inform how to treat the included link preview data (among many other things).

6 would be ideal, if it was already done. but coordinating across just the fediverse is difficult enough. Coordinating across the general purpose world wide web to define and implement such a protocol would take years, if it ever succeeded at all.

@edgarogh
Copy link

edgarogh commented Jun 7, 2024

To add to the 6th suggestion, there is a way for servers to sign their HTTP responses (SXG/webpackage). The originating mastodon instance could do signed exchange requests to the linked webpage and a subset of its hyperlinked images, and share the entire signed exchange + certificate chain as a special kind of attachment. Receivers can then trust the whole HTTP exchange as long as it is recent enough, and generate a preview based on it, without requesting anything themselves.

Pros:

  • different software can generate the preview however they want, and may not use OpenGraph at all

Cons:

  • an HTTP exchange takes a more space than a few specific OG fields. It should probably be treated like an attachment, except that it doesn't have to be stored indefinitely
  • very few websites support SXG/webpackage
  • SXG/webpackage signatures require a specific SSL certificate with a specific extension that few CAs provide (LetsEncrypt doesn't)
  • SXG/webpackage isn't an IETF web standard, but created by Google as a way to proxy cached websites to Chrome users (making the omnibar show a fake URL) while collecting browsing information from them. We may not want to promote its adoption.

@troed
Copy link

troed commented Mar 31, 2025

Solution 2. The preview is part of my content, I'm the one making the link. The preview should show what I saw when I posted the link - and if I make posts with bad content people will not follow me or boost my posts.

We're overengineering this problem and that's why it never gets solved.

@renchap
Copy link
Author

renchap commented Mar 31, 2025

We're overengineering this problem and that's why it never gets solved.

The "hard" part here is defining what needs to be part of this "content". A title, description, image? But also need to support videos / embeds? Then an author (with which format), and how do we handle the fediverse:creator discovery and other similar attributes? Should we base ourselves on what Mastodon support, or do other software want other attributes for their own use case?
All of this needs to be specified into an FEP, and get agreement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment