From 5f8822854d0427d132674615f13becf420c57bd2 Mon Sep 17 00:00:00 2001
From: Sandro <sandro.jaeckel@gmail.com>
Date: Wed, 3 May 2023 18:54:42 +0200
Subject: [PATCH] Use oEmbed for YouTube Shorts (#15025)

It seems that YouTube Short previews do not work in some
regions, but the oEmbed information for those areas is still
valid.

This causes YouTube Shorts to always use (only) the oEmbed
endpoint which is a minor regression for regions where the URL
preview was already working -- some of the additional video
metadata is lost. It is not likely that clients are using this today
and it is more beneficial to have a limited preview working everywhere
than unused metadata in the Open Graph response.
---
 changelog.d/15025.misc     |  1 +
 synapse/res/providers.json | 13 +++++++++++++
 2 files changed, 14 insertions(+)
 create mode 100644 changelog.d/15025.misc

diff --git a/changelog.d/15025.misc b/changelog.d/15025.misc
new file mode 100644
index 000000000000..1f04d8572993
--- /dev/null
+++ b/changelog.d/15025.misc
@@ -0,0 +1 @@
+Use oEmbed to generate URL previews for YouTube Shorts.
diff --git a/synapse/res/providers.json b/synapse/res/providers.json
index 7b9958e45464..2dc9fec8e314 100644
--- a/synapse/res/providers.json
+++ b/synapse/res/providers.json
@@ -11,5 +11,18 @@
                 "url": "https://publish.twitter.com/oembed"
             }
         ]
+    },
+    {
+        "provider_name": "YouTube Shorts",
+        "provider_url": "http://www.youtube.com/",
+        "endpoints": [
+            {
+                "schemes": [
+                    "https://youtube.com/shorts/*",
+                    "https://*.youtube.com/shorts/*"
+                ],
+                "url": "https://www.youtube.com/oembed"
+            }
+        ]
     }
 ]