about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--__tests__/lib/string.test.ts8
-rw-r--r--src/lib/strings/embed-player.ts7
2 files changed, 13 insertions, 2 deletions
diff --git a/__tests__/lib/string.test.ts b/__tests__/lib/string.test.ts
index 89df7a6bd..edddcb3e0 100644
--- a/__tests__/lib/string.test.ts
+++ b/__tests__/lib/string.test.ts
@@ -455,6 +455,7 @@ describe('parseEmbedPlayerFromUrl', () => {
     'https://tenor.com/notView/gifId',
     'https://tenor.com/view',
     'https://tenor.com/view/gifId.gif',
+    'https://tenor.com/intl/view/gifId.gif',
   ]
 
   const outputs = [
@@ -742,6 +743,13 @@ describe('parseEmbedPlayerFromUrl', () => {
       hideDetails: true,
       playerUri: 'https://tenor.com/view/gifId.gif',
     },
+    {
+      type: 'tenor_gif',
+      source: 'tenor',
+      isGif: true,
+      hideDetails: true,
+      playerUri: 'https://tenor.com/intl/view/gifId.gif',
+    },
   ]
 
   it('correctly grabs the correct id from uri', () => {
diff --git a/src/lib/strings/embed-player.ts b/src/lib/strings/embed-player.ts
index b27fd9e78..0f97eb080 100644
--- a/src/lib/strings/embed-player.ts
+++ b/src/lib/strings/embed-player.ts
@@ -319,9 +319,12 @@ export function parseEmbedPlayerFromUrl(
   }
 
   if (urlp.hostname === 'tenor.com' || urlp.hostname === 'www.tenor.com') {
-    const [_, path, filename] = urlp.pathname.split('/')
+    const [_, pathOrIntl, pathOrFilename, intlFilename] =
+      urlp.pathname.split('/')
+    const isIntl = pathOrFilename === 'view'
+    const filename = isIntl ? intlFilename : pathOrFilename
 
-    if (path === 'view' && filename) {
+    if ((pathOrIntl === 'view' || pathOrFilename === 'view') && filename) {
       const includesExt = filename.split('.').pop() === 'gif'
 
       return {