Link previews

Optional, off by default.

The is a spec for embedded info: https://oembed.com/

Relevant discussion in ircv3-ideas: https://github.com/ircv3/ircv3-ideas/issues/22

Assigned to
1 year, 8 months ago
1 year, 7 days ago

~emersion 1 year, 8 months ago

It's still not clear whether we should go for server-side or client-side generated previews. Both have their benefits and drawbacks in terms of privacy.

  • Sender-side: needs standardization and client-tag support on the IRCd side. Sender can send fake previews.
  • Server-side: all URLs get sent to the server (unless we do the same as Signal, but this has abuse potential). Can be used by the sender to track when a user sees a message.
  • Client-side: leaks the client IP, can be used by the sender to track when a user sees a message.

In any case, I think it's fine to do experiment as long as all of this functionality is opt-in, gated behind a user setting.

If we go for client-side, we'll need an HTML tokenizer. It doesn't seem like there's a good one we could use (the standard one isn't exposed and not sure it's good for our use-case). Shouldn't be too hard to port the Go tokenizer.

~emersion 1 year, 9 days ago

Simon Ser referenced this ticket in commit ac12c4b.

~emersion 1 year, 7 days ago

package:html has a lenient HTML parser, so we can use it to parse a truncated HTML document. It doesn't seem like there is a way to abort an HTTP request though.

Also ref OpenGraph.

Register here or Log in to comment, or comment via email.