summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web/UrlPreviewService.ts
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2023-03-19 08:59:31 +0100
committerGitHub <noreply@github.com>2023-03-19 16:59:31 +0900
commitc091d9e6d558ceb743fb8b647b28dbce8f994d41 (patch)
tree7b6eb79f10e0ffc9843d17e46aa556e3f0c0146a /packages/backend/src/server/web/UrlPreviewService.ts
parentperf(backend): improve performance of timeline apis (diff)
downloadmisskey-c091d9e6d558ceb743fb8b647b28dbce8f994d41.tar.gz
misskey-c091d9e6d558ceb743fb8b647b28dbce8f994d41.tar.bz2
misskey-c091d9e6d558ceb743fb8b647b28dbce8f994d41.zip
feat(frontend/MkUrlPreview): oEmbedのサポート (#10306)
* feat(frontend/MkUrlPreview): oEmbedのサポート * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * playerとoEmbedの統合 * Update CHANGELOG.md * loading=lazyはここでは不要 * border: 0 * プレビュー直後にautoplayできる機能の復旧 * add test * refactor test * explain about cache * expandPreviewはもう使わない * summaly v4 * update summaly * scrolling=no to fix pixiv --------- Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages/backend/src/server/web/UrlPreviewService.ts')
-rw-r--r--packages/backend/src/server/web/UrlPreviewService.ts17
1 files changed, 7 insertions, 10 deletions
diff --git a/packages/backend/src/server/web/UrlPreviewService.ts b/packages/backend/src/server/web/UrlPreviewService.ts
index 2ce7293a52..21cf414087 100644
--- a/packages/backend/src/server/web/UrlPreviewService.ts
+++ b/packages/backend/src/server/web/UrlPreviewService.ts
@@ -19,9 +19,6 @@ export class UrlPreviewService {
@Inject(DI.config)
private config: Config,
- @Inject(DI.usersRepository)
- private usersRepository: UsersRepository,
-
private metaService: MetaService,
private httpRequestService: HttpRequestService,
private loggerService: LoggerService,
@@ -51,15 +48,15 @@ export class UrlPreviewService {
reply.code(400);
return;
}
-
+
const lang = request.query.lang;
if (Array.isArray(lang)) {
reply.code(400);
return;
}
-
+
const meta = await this.metaService.fetch();
-
+
this.logger.info(meta.summalyProxy
? `(Proxy) Getting preview of ${url}@${lang} ...`
: `Getting preview of ${url}@${lang} ...`);
@@ -85,16 +82,16 @@ export class UrlPreviewService {
throw new Error('unsupported schema included');
}
- if (summary.player?.url && !(summary.player.url.startsWith('http://') || summary.player.url.startsWith('https://'))) {
+ if (summary.player.url && !(summary.player.url.startsWith('http://') || summary.player.url.startsWith('https://'))) {
throw new Error('unsupported schema included');
}
-
+
summary.icon = this.wrap(summary.icon);
summary.thumbnail = this.wrap(summary.thumbnail);
-
+
// Cache 7days
reply.header('Cache-Control', 'max-age=604800, immutable');
-
+
return summary;
} catch (err) {
this.logger.warn(`Failed to get preview of ${url}: ${err}`);