From d106fb39abf8fe17c00e562c1237fcacfe158345 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 26 Dec 2022 16:04:56 +0900 Subject: feat: introduce fluent emoji --- .../backend/src/server/web/ClientServerService.ts | 15 +++++++++++++++ packages/client/src/components/MkAutocomplete.vue | 10 ++++++---- .../src/components/MkReactionsViewer.details.vue | 1 + packages/client/src/components/global/MkEmoji.vue | 8 +++++--- packages/client/src/pages/settings/general.vue | 16 +++++++++++----- .../src/pages/settings/preferences-backups.vue | 2 +- packages/client/src/scripts/emoji-base.ts | 20 ++++++++++++++++++++ packages/client/src/scripts/twemoji-base.ts | 12 ------------ packages/client/src/store.ts | 4 ++-- 9 files changed, 61 insertions(+), 27 deletions(-) create mode 100644 packages/client/src/scripts/emoji-base.ts delete mode 100644 packages/client/src/scripts/twemoji-base.ts (limited to 'packages') diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index 1932f88428..97acfcb919 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -217,6 +217,21 @@ export class ClientServerService { return reply.sendFile('/apple-touch-icon.png', staticAssets); }); + fastify.get<{ Params: { path: string } }>('/fluent-emoji/:path(.*)', async (request, reply) => { + const path = request.params.path; + + if (!path.match(/^[0-9a-f-]+\.png$/)) { + reply.code(404); + return; + } + + reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\''); + + return await reply.sendFile(path, `${_dirname}/../../../../../fluent-emojis/dist/`, { + maxAge: ms('30 days'), + }); + }); + fastify.get<{ Params: { path: string } }>('/twemoji/:path(.*)', async (request, reply) => { const path = request.params.path; diff --git a/packages/client/src/components/MkAutocomplete.vue b/packages/client/src/components/MkAutocomplete.vue index e1fd5693b6..72783921d5 100644 --- a/packages/client/src/components/MkAutocomplete.vue +++ b/packages/client/src/components/MkAutocomplete.vue @@ -18,7 +18,7 @@
  1. - + {{ emoji.emoji }} @@ -36,7 +36,7 @@