Generate link preview

It would be nice to have option to generate link preview (link card) on sender client side, and send it to receiver of message. Benefit is that receiver would be able to glance and read description before clicking on link.

Here are a few examples of link preview:

Is there plan for feature like that? I couldn’t find anything searching forum.

6 Likes

This feature generally works by fetching the URL and extracting OpenGraph metadata. There are privacy issue with this feature. Since Delta Chat does not have its own servers, it cannot proxy requests to the web, so each time you type in an URL a request to it will be made from your own client. This could be implemented as an opt-in feature of course, but now nobody is working on it right now.

The next series of releases will contain an HTML view feature and the latest version of SimpleBot can generate HTML previews for links posted in a group chat. Maybe @adbenitez can comment if it is published already and if it requires latest/experimental core.

yes it requires the experimental core, that can be installed with step 3 from:

the plugin for the previews is
https://github.com/SimpleBot-Inc/simplebot_plugins/tree/master/plugins/simplebot_webgrabber

or you can use an already running bot:

send any of them a URL to a web page, image or file, and you will get an html email with more than a preview, I would call this “instant view” like the Telegram’s
you can add some of these bots to a group and when someone sends a text with an URL it will send the “instant view”

2 Likes

Upvote x10. This feature is sorely missing.

Is there anything I could do to help out to make this happen?

I made a proposal with solution idea at Privacy preserving rich links

Is there anything I could do to help out to make this happen?

I think there are a few components, like detecting links in the text (this could be a new api exposed by GitHub - deltachat/message-parser: Parsing of Links, Email adresses, simple text formatting (markdown subset), user mentions, hashtags and more in DeltaChat messages. (for desktop, for the other platforms it could also be a regular expression at first)), a rust function in chat mail core that fetches the information (icon and description) from the meta tags of the website and then a field on the messages for this rich link preview data. We would need to discuss what fields we want (probably title, thumbnail and description) and then you could start one of these steps if you want. After that it would be a matter of UI work, so timing needs to be discussed with maintainers of the UI projects.

1 Like

Yes, I have to admit I don’t understand the previous posts from @abdenitez about bots. It’s sounds tempting to solve the problem by hooking up to an existing bot. But I don’t understand how it would work. Setting up an e-mail account for the bot? Compiling your own core?

Believe or not I am a developer, even though I don’t understand the bot thing. I view this as something that an app like delta chat should provide out of the box.

@Simon, I really like your ideas and proposal about processing the OG or Meta tags client side in the sender client. I think to get this running we should simply pick title, description and image.
That could be refined and enhanced later (although I don’t see the need for it).

If you explain the requirements on the UI I could try and create a Figma design as a starting point for pushing this one small step further. The image you had attached was too hard for me to decipher.

There is a bot that sends you website previews as webxdc or as html message.

This is a workaround since real link previews are not implemented yet (but not only preview, it can also be used for browsing the internet in bad network conditions). This requires adding a bot to your group and does not work in direct message chats.


The sketch I made is for the desktop client, basically on top of the message in the composer it shows the detected links similar to attachments, there you can click on them to load the preview, then they get description, image and icon.

I’m not sure yet if we should only allow one link preview per message or maybe we could also allow more previews like discord. I think that would depend on how we design it.
if we only allow one preview and your message has multiple links then ideally it would allow you to choose which link gets the preview? but for the start we could also just say always offer the preview for the first found link in the message.

Are the two bots still online? I can’t find them anywhere in the public bot list.

This is one:

1 Like

@Simon @Raiden @DavidSM100
Sweet, yes the preview bot that DavidSM100 shared worked right off the bat.
That was what I didn’t get, how to get the bot (a bot) into my conversations. But this works perfectly.

This is sort if like Bluesky does it. If you don’t want the preview you hit the “x”.


(I can’t write any more, reached max 3, it was nice while it lasted)

one aspect of my proposal was to not make any web requests until the user requested them.
That increases privacy when sharing links by making the preview opt-in.

It’s not a given that always you want those previews, for sites like GitHub they are boring and not always helpful, so in the messengers with link previews I quite often need to remove the embeds/previews. Although I want to have them for social media, blogs, youtube and audio streaming platforms.

EDIT: this was my personal opinion, after internal discussion opt out is a better default for most users though we could do a setting to disable fetching previews for the people that have one of the rare special use cases where they want to send a link without making the web request to fetch the preview.

2 Likes

For me the messages of these bots in group chats are useless waste of internet traffic and screen space. And even when I block the bots, I still see their messages. It would be nice to have the ability to not download such mails from the server.

I almost never want previews. I avoid programs that automatically download stuff without an explicit request, partly because this sort of functionality is pushed by companies that make their money out of tracking me.

An ignorable popup to add a preview might be okay (if it couldn’t be hit by accident), but if I just keep typing I really don’t want it to be fetching web content. Apart from anything else, there will be false positives on link detection. I want to know when what I type is public, especially in an encrypted app (where there is an expectation of privacy). Any app which might suddenly leak part of my message if I mistype or forget there are previews is not safe.

Suppose I manually share an invite link, for instance, maybe not a DC one. I really don’t want a preview!

Previews defaulting on in unencrypted chats and off in encrypted chats might be an option, but a bot (which can be kicked out by all parties) seems a better opt-in, since it requires every participant’s consent.

@simon since I was temporarily banned from posting more than three posts, I attached the next iteration to my previous post, based on your clarification:
A button to allow the user (the sender) to generate preview. This means the sender decides whether the link is “preview worthy” and is responsible for generating the preview.

The receiver will get a preview if the sender wanted to send a graphic link, same as if the sender decides to send an image.

@minim you make some good points, so having the preview explicitly generated by the sender could perhaps meet your criteria.. It will be the same as the sender deciding to actively attach an image, a feature we already have.

Nice idea, but there are hidden traps in the context of user tracking.
If user set up SOCKS proxy for account - should this HTTP request for dog’s web page be sent from local IP address by default route, or through proxy?
What if proxy and mail server are the same host?
What if user’s browser, in which that dog’s page was opened initially, was accessing internet via same/another proxy?
And how DNS leaks will be prevented?

@9er Those hidden traps are exactly the same as for visiting the url, which the sender presumably has done. And wishes that the receiver will do.

The point of an app like delta chat from my point of view, is to break free from big tech systematic monitoring and profiling, not to have a completely text based communication platform.

I managed to get my family to switch to delta chat when i degoogled, but without link previews it’s more or less useless for casual messaging to replace iMessage, messenger, whatsapp and similar apps.

But if security comes before all else, even before the users choices of which urls to visit, then of course you’re right.