discourse/lib/onebox/engine
Rafael dos Santos Silva 6096c3551b
FEATURE: Native Reddit embeds for oneboxes (#39162)
Reddit increasingly blocks server-side fetches from Discourse instances,
which makes the current Reddit onebox path unreliable. This switches
Reddit oneboxes to Reddit's native embed path instead of trying to fetch
and render post metadata on the server.

Changes:
- replace the Reddit onebox engine with a native `embed.reddit.com`
iframe
- listen for Reddit resize messages so embeds grow to the correct height
- remove the now-unused Reddit OAuth site settings and auth mixin
- update Reddit onebox specs and add a JS unit test for the resize
handler

Screenshots:
<img width="704" height="1861" alt="image"
src="https://github.com/user-attachments/assets/ce332dfb-c76b-4700-ab26-fae9123cbd8c"
/>
2026-04-09 11:56:22 -03:00
..
allowlisted_generic_onebox.rb FIX: skip image dimensions in oembed for rich data types (#37108) 2026-01-15 11:45:53 +04:00
amazon_onebox.rb FIX: correctly unescape title for amazon oneboxes (#33010) 2025-06-02 17:50:13 +05:30
animated_image_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
asciinema_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
audio_com_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
audio_onebox.rb DEV: Drop experimental enable_diffhtml_preview setting (#31306) 2025-02-12 15:58:30 +00:00
audioboom_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
band_camp_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
cloud_app_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
coub_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
discourse_topic_onebox.rb
facebook_media_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
five_hundred_px_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
flickr_onebox.rb DEV: Clean up requires (#34946) 2025-09-24 12:00:22 +02:00
flickr_shortened_onebox.rb DEV: Clean up requires (#34946) 2025-09-24 12:00:22 +02:00
gfycat_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
github_actions_onebox.rb FEATURE: Allow for multiple GitHub onebox tokens (#27887) 2024-07-15 13:07:36 +10:00
github_blob_onebox.rb UX: Improve git blob oneboxes (#30694) 2025-01-10 11:49:36 +00:00
github_commit_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
github_folder_onebox.rb FIX: Better handling of github_folder onebox w/o opengraph tags (#39142) 2026-04-08 11:49:57 +02:00
github_gist_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
github_issue_onebox.rb DEV: code cleanup (#37809) 2026-02-13 11:55:53 +01:00
github_pull_request_onebox.rb DEV: cleanup extra i18n key fallback in status_date_label (#38432) 2026-03-10 15:38:14 -03:00
github_repo_onebox.rb UX: Show contextual dates on GitHub PR oneboxes (#36637) 2025-12-11 20:10:24 +01:00
gitlab_blob_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
google_calendar_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
google_docs_onebox.rb DEV: Replace custom Onebox blank implementation with ActiveSupport (#23827) 2023-10-07 19:54:26 +02:00
google_drive_onebox.rb
google_maps_onebox.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
google_photos_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
google_play_app_onebox.rb
hackernews_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
html.rb DEV: Drop 'cache_onebox_response_body' feature (#32035) 2025-03-28 10:55:29 +00:00
image_onebox.rb FIX: Support Dropbox /scl/ URL format in video and image oneboxes (#38394) 2026-03-11 10:37:57 +01:00
imgur_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
instagram_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
json.rb FEATURE: Allow oneboxing private GitHub URLs (#27705) 2024-07-10 09:39:31 +10:00
kaltura_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
loom_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
mixcloud_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
motoko_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
opengraph_image.rb
pastebin_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
pdf_onebox.rb
pubmed_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
reddit_media_onebox.rb FEATURE: Native Reddit embeds for oneboxes (#39162) 2026-04-09 11:56:22 -03:00
replit_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
simplecast_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
sketch_fab_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
slides_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
sound_cloud_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
spotify_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
stack_exchange_onebox.rb
standard_embed.rb FIX: broken XPath escaping and undefined CSS constant in anchor lookup (#37546) 2026-02-05 17:59:35 +11:00
steam_store_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
threads_status_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
tiktok_onebox.rb FIX: Add ld+json VideoObject to each lazy video (#34678) 2025-09-03 22:01:14 +08:00
trello_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
twitch_clips_onebox.rb FEATURE: Handle newer url format for Twitch clips (#31080) 2025-01-31 10:42:46 -03:00
twitch_stream_onebox.rb
twitch_video_onebox.rb
twitter_status_onebox.rb FIX: Respect blocked_onebox_domains for Twitter/X and handle empty oneboxes (#38868) 2026-03-25 15:10:35 +01:00
typeform_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
video_onebox.rb FIX: Support Dropbox /scl/ URL format in video and image oneboxes (#38394) 2026-03-11 10:37:57 +01:00
vimeo_onebox.rb FIX: Add ld+json VideoObject to each lazy video (#34678) 2025-09-03 22:01:14 +08:00
wikimedia_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
wikipedia_onebox.rb FIX: Wikipedia onebox images and sections (#31384) 2025-02-19 14:29:17 +10:00
wistia_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
xkcd_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
youku_onebox.rb SECURITY: Restrict allowed URL patterns 2025-02-04 13:32:34 -03:00
youtube_onebox.rb FIX: Use oEmbed for YouTube oneboxing (#35959) 2025-11-12 14:13:16 +10:00