"Onebox Assistant", crawl for those previews reliably!

I don’t know how to install this plugin, can you write a simple method? @merefield

Thank you!

1 Like

Same as any other plugin, see: Install Plugins in Discourse

I’ve updated the OP to make that more obvious :slight_smile:

1 Like

Thanks! I have installed this plugin in my meta, but I found that onebox still can’t support twitter, I mean the preview card can’t be shown after I pasted the twitter link… Youtube and other website links works!

This plugin needed a big update based on the recent refactor in core about 2 weeks ago.

Here it is, should be working now:


1 Like

Love the plugin @merefield! Just wanted to point out that if you paste a link into the composer, the title takes a while to update - compared to without the plugin (as an example it took a youtube link 5-10 seconds vs pretty much instantly.without the plugin). Is there a way the title could be fetched in the usual way?

It naturally takes longer because you are reaching out to a third party crawler API.

That call will be faster if the API has cached the result. If it’s novel for the API it will take longer. Nothing we can do about that.

Not sure how that would work? The title also comes from a scrape of the target via the crawler API.

1 Like

Ah ok. I thought the third party crawler could fetch the image and the rest could be done by the in built crawler.

Its only function is to fetch the target page source so it can pass that to Onebox to do its thing.


I’ve pushed a couple of core compatibility fixes for this, and a settings bug fix :bug: cheers! :hammer_and_wrench:


Seems like this plugin making all oneboxes return 404s for the GET /onebox route now. I rebuild my site with the plugin disabled and onebox is working again. Disabling thru the admin panel didn’t seem to help…


Interesting. It’s working with Commits · discourse/discourse (github.com)

Breaking change in last couple of days?

1 Like

It could be my setup, we were on Commits · discourse/discourse · GitHub before I rebuilt…

1 Like

No, I believe you are correct. That’s really useful, even more recent, reduces the search :+1:

1 Like

I had the same issue, and I also believed it was resolved by uninstalling completely the plugin. Disabling it didn’t fix it.

I believe it was, in fact, because I uninstalled the onebox assistant. It has been some days ago and I can’t be 100% sure, but my issue was identical to yours, so…

Also, it is possible that my screenshot of installed plugins falsely shows what plugins were actually installed when the issue occurred. What I’m sure of is that the issue didn’t resolve after just rebuilding, onebox assistant was disabled for more than a year, and I didn’t do anything else than remove it from app.yml. I might have taken the screenshot after this rebuild and before testing again…


Due to the nature and complexity of the overrides, the “disabling” of the setting removes the assistance but does not remove the overrides themselves.

The plugin can be a little fragile, there is little that can be done for that (without potentially PRing a change of structure to core), though you’ve seen that it can work for quite long runs at a time without intervention, as those overrides were being applied the whole time it was installed.

You can see what the setting does by reading the code.

1 Like

Not related, but I used the plugin when rebaking all my posts after a huge import (1,6 M posts), including posts containing Youtube videos. Youtube ended by blacklisting my IP after too much embedding. Installing and enabling Onebox Assistant resolved this issue, and I didn’t need it after the rebake. I disabled it but didn’t remove it (just in case, you know). It was perfect for this task.


Yeah it’s good when it works, glad it was useful :+1:

Looking at it now, but can’t promise it’s an easy fix, we’ll see!

1 Like

OK the plot thickens … this is working in dev without changes with latest core …

1 Like

I’ve just updated two sites, and dev, and they all WORK. No changes have been made to the plugin :+1:

Make sure the plugin is enabled and the proxy call is always on.


In short, I don’t see an issue.

cc: @Canapin


So maybe (or surely?) it wasn’t linked to the plugin then? Honestly, when I’m trying to figure out a problem, I often lose track of what I’ve been trying or not. The problem seemed to have been resolved by itself when I noticed it had disappeared. A mystery that will remain a mystery.

Thanks for your amazing job anyway Robert, as always. :+1: