Skip to content

MSC4417: URL Previews via Appservices#4417

Open
Half-Shot wants to merge 9 commits intomainfrom
hs/as-url-previews
Open

MSC4417: URL Previews via Appservices#4417
Half-Shot wants to merge 9 commits intomainfrom
hs/as-url-previews

Conversation

@Half-Shot
Copy link
Copy Markdown
Contributor

@Half-Shot Half-Shot commented Feb 12, 2026

Rendered

Conflict of Interest declaration: I am employed by Element. This MSC was written as part of my work on improving integrations in Element with other apps.

@Half-Shot Half-Shot changed the title Add URL Previews via Appservices MSC4417: URL Previews via Appservices Feb 12, 2026
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implementation requirements:

  • Server
  • Appservice

Copy link
Copy Markdown
Contributor Author

@Half-Shot Half-Shot Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@turt2live turt2live added proposal A matrix spec change proposal application services kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Feb 12, 2026
Comment thread proposals/4417-appservice-url-previews.md Outdated
Comment thread proposals/4417-appservice-url-previews.md Outdated
Comment thread proposals/4417-appservice-url-previews.md
Comment thread proposals/4417-appservice-url-previews.md
Comment thread proposals/4417-appservice-url-previews.md Outdated
Comment thread proposals/4417-appservice-url-previews.md Outdated
the `og:image` specified in OpenGraph data be in MXC format. The appservice MUST do this upload step and respond
to the homeserver with a MXC URI.

## Potential issues
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A downside of this is also that it requires admins to setup a URL provider as an appservice, instead of something more self-serve / similar to Slack plugins that allow specific preview providers.

That's also true today, but maybe worth considering.

Copy link
Copy Markdown
Contributor Author

@Half-Shot Half-Shot Mar 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, it's certainly true. There has been the idea floated about that we just do these previews on the client in the future, but that limits you to native clients and it doesn't work if you have specific rules in place about who can access what.

I think the expectation would be that you'd either have an appservice hanging around (a lot of folks run a hookshot on the side these days 😇 ) or your provider would allow you to do trivial steps to install one (ESS provides most of this today).

I think if we were a closed protocol and there was a whole app store infrastructure in front of you we wouldn't even bother with this design, but thems the limitations.

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

Labels

application services kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants