diff options
| author | maguroshouta <54607611+maguroshouta@users.noreply.github.com> | 2023-08-22 15:56:36 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-22 15:56:36 +0900 |
| commit | cb80dff7df07e9ea9292365fe82fc7af09cc63c1 (patch) | |
| tree | 7f7ef1dd2c4c3f594dc15a8cc1b4d1be7260dada | |
| parent | New Crowdin updates (#11397) (diff) | |
| download | sharkey-cb80dff7df07e9ea9292365fe82fc7af09cc63c1.tar.gz sharkey-cb80dff7df07e9ea9292365fe82fc7af09cc63c1.tar.bz2 sharkey-cb80dff7df07e9ea9292365fe82fc7af09cc63c1.zip | |
x.comでも展開ができるように (#11757)
| -rw-r--r-- | packages/frontend/src/components/MkUrlPreview.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/test/url-preview.test.ts | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue index 1f9c336eee..bac7f1e310 100644 --- a/packages/frontend/src/components/MkUrlPreview.vue +++ b/packages/frontend/src/components/MkUrlPreview.vue @@ -133,7 +133,7 @@ let unknownUrl = $ref(false); const requestUrl = new URL(props.url); if (!['http:', 'https:'].includes(requestUrl.protocol)) throw new Error('invalid url'); -if (requestUrl.hostname === 'twitter.com' || requestUrl.hostname === 'mobile.twitter.com') { +if (requestUrl.hostname === 'twitter.com' || requestUrl.hostname === 'mobile.twitter.com' || requestUrl.hostname === 'x.com' || requestUrl.hostname === 'mobile.x.com') { const m = requestUrl.pathname.match(/^\/.+\/status(?:es)?\/(\d+)/); if (m) tweetId = m[1]; } diff --git a/packages/frontend/test/url-preview.test.ts b/packages/frontend/test/url-preview.test.ts index b5fcf9bece..0cf3a417e2 100644 --- a/packages/frontend/test/url-preview.test.ts +++ b/packages/frontend/test/url-preview.test.ts @@ -152,4 +152,13 @@ describe('MkUrlPreview', () => { assert.strictEqual(iframe?.getAttribute('allow'), 'fullscreen;web-share'); assert.strictEqual(iframe?.getAttribute('sandbox'), 'allow-popups allow-scripts allow-same-origin'); }); + + test('Loading a post in iframe', async () => { + const iframe = await renderAndOpenPreview({ + url: 'https://x.com/i/web/status/1685072521782325249', + }); + assert.exists(iframe, 'iframe should exist'); + assert.strictEqual(iframe?.getAttribute('allow'), 'fullscreen;web-share'); + assert.strictEqual(iframe?.getAttribute('sandbox'), 'allow-popups allow-scripts allow-same-origin'); + }); }); |