diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-02-28 19:55:31 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-28 19:55:31 +0900 |
| commit | ffe3386e5be3c72d89213857a8edefb86242a546 (patch) | |
| tree | 118cd9836d169f45973fce018ea328d61f23187d /packages/backend/src/server | |
| parent | enhance: Play の「ソースを表示」にシンタックスハイライト... (diff) | |
| download | sharkey-ffe3386e5be3c72d89213857a8edefb86242a546.tar.gz sharkey-ffe3386e5be3c72d89213857a8edefb86242a546.tar.bz2 sharkey-ffe3386e5be3c72d89213857a8edefb86242a546.zip | |
fix(sw): プッシュ通知でカスタム絵文字リアクションを表示できるように (#10122)
* fix(sw): プッシュ通知でカスタム絵文字リアクションを表示できるように
Fix #10117
/emoji/*.webpにbadgeモードを
* ?
* :v:
* fix
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/ServerService.ts | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/packages/backend/src/server/ServerService.ts b/packages/backend/src/server/ServerService.ts index 8200b24fd4..417f50f95d 100644 --- a/packages/backend/src/server/ServerService.ts +++ b/packages/backend/src/server/ServerService.ts @@ -75,7 +75,7 @@ export class ServerService { fastify.register(this.nodeinfoServerService.createServer); fastify.register(this.wellKnownServerService.createServer); - fastify.get<{ Params: { path: string }; Querystring: { static?: any; }; }>('/emoji/:path(.*)', async (request, reply) => { + fastify.get<{ Params: { path: string }; Querystring: { static?: any; badge?: any; }; }>('/emoji/:path(.*)', async (request, reply) => { const path = request.params.path; reply.header('Cache-Control', 'public, max-age=86400'); @@ -105,11 +105,19 @@ export class ServerService { } } - const url = new URL(`${this.config.mediaProxy}/emoji.webp`); - // || emoji.originalUrl してるのは後方互換性のため(publicUrlはstringなので??はだめ) - url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl); - url.searchParams.set('emoji', '1'); - if ('static' in request.query) url.searchParams.set('static', '1'); + let url: URL; + if ('badge' in request.query) { + url = new URL(`${this.config.mediaProxy}/emoji.png`); + // || emoji.originalUrl してるのは後方互換性のため(publicUrlはstringなので??はだめ) + url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl); + url.searchParams.set('badge', '1'); + } else { + url = new URL(`${this.config.mediaProxy}/emoji.webp`); + // || emoji.originalUrl してるのは後方互換性のため(publicUrlはstringなので??はだめ) + url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl); + url.searchParams.set('emoji', '1'); + if ('static' in request.query) url.searchParams.set('static', '1'); + } return await reply.redirect( 301, |