enhance(server): 画像圧縮周り(主にサムネイルの仕様)の変更 (#10287)

* DriveService, is-mime-image

* static, previewをavifに, アニメーション画像でもthumbnailを生成

* fallback

* animated: true

* fix

* avatarはwebp

* revert ?? file.url

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
tamaina
2023-03-11 14:11:40 +09:00
committed by GitHub
parent cc7fd2f68a
commit 88e3d3e8cb
10 changed files with 101 additions and 84 deletions

View File

@@ -43,7 +43,7 @@ let darkMode = $ref(defaultStore.state.darkMode);
const url = (props.raw || defaultStore.state.loadRawImages)
? props.image.url
: defaultStore.state.disableShowingAnimatedImages
? getStaticImageUrl(props.image.thumbnailUrl)
? getStaticImageUrl(props.image.url)
: props.image.thumbnailUrl;
// Plugin:register_note_view_interruptor を使って書き換えられる可能性があるためwatchする

View File

@@ -41,7 +41,7 @@ let images = $ref<{
function thumbnail(image: misskey.entities.DriveFile): string {
return defaultStore.state.disableShowingAnimatedImages
? getStaticImageUrl(image.thumbnailUrl)
? getStaticImageUrl(image.url)
: image.thumbnailUrl;
}

View File

@@ -10,7 +10,10 @@ export function getProxiedImageUrl(imageUrl: string, type?: 'preview', mustOrigi
imageUrl = (new URL(imageUrl)).searchParams.get('url') ?? imageUrl;
}
return `${mustOrigin ? localProxy : instance.mediaProxy}/image.webp?${query({
return `${mustOrigin ? localProxy : instance.mediaProxy}/${
type === 'preview' ? 'preview.avif'
: 'image.webp'
}?${query({
url: imageUrl,
fallback: '1',
...(type ? { [type]: '1' } : {}),
@@ -38,7 +41,7 @@ export function getStaticImageUrl(baseUrl: string): string {
return u.href;
}
return `${instance.mediaProxy}/static.webp?${query({
return `${instance.mediaProxy}/static.avif?${query({
url: u.href,
static: '1',
})}`;

View File

@@ -67,7 +67,7 @@ const onDriveFileCreated = (file) => {
const thumbnail = (image: any): string => {
return defaultStore.state.disableShowingAnimatedImages
? getStaticImageUrl(image.thumbnailUrl)
? getStaticImageUrl(image.url)
: image.thumbnailUrl;
};