From 3feaf39294052c1edd0753fb9c3968ba2c05f57f Mon Sep 17 00:00:00 2001 From: Mary Date: Mon, 16 Jan 2023 12:21:15 -0500 Subject: ApRequestService: don't generate our own Host header (#9378) --- packages/backend/src/core/activitypub/ApRequestService.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'packages/backend/src') diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts index d44d06a442..ab22a0c411 100644 --- a/packages/backend/src/core/activitypub/ApRequestService.ts +++ b/packages/backend/src/core/activitypub/ApRequestService.ts @@ -57,7 +57,7 @@ export class ApRequestService { method: 'POST', headers: this.objectAssignWithLcKey({ 'Date': new Date().toUTCString(), - 'Host': u.hostname, + 'Host': u.host, 'Content-Type': 'application/activity+json', 'Digest': digestHeader, }, args.additionalHeaders), @@ -83,7 +83,7 @@ export class ApRequestService { headers: this.objectAssignWithLcKey({ 'Accept': 'application/activity+json, application/ld+json', 'Date': new Date().toUTCString(), - 'Host': new URL(args.url).hostname, + 'Host': new URL(args.url).host, }, args.additionalHeaders), }; @@ -106,6 +106,8 @@ export class ApRequestService { request.headers = this.objectAssignWithLcKey(request.headers, { Signature: signatureHeader, }); + // node-fetch will generate this for us. if we keep 'Host', it won't change with redirects! + delete request.headers['host']; return { request, -- cgit v1.3.1-freya From 84b8ffb7d0663087b1b0c9df04e20b88b3a3e2d7 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Mon, 16 Jan 2023 10:26:41 -0800 Subject: enhance(client): Force error screen (#8947) --- packages/backend/src/server/web/boot.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'packages/backend/src') diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index e2fc27fecd..a4513696a1 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -24,6 +24,11 @@ const v = localStorage.getItem('v') || VERSION; + let forceError = localStorage.getItem('forceError'); + if (forceError != null) { + renderError('FORCED_ERROR', 'This error is forced by having forceError in local storage.') + } + //#region Detect language & fetch translations const localeVersion = localStorage.getItem('localeVersion'); const localeOutdated = (localeVersion == null || localeVersion !== v); -- cgit v1.3.1-freya From fe4fbafcf0846f100a1614a47a20fb1bbbcf58da Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 17 Jan 2023 15:58:12 +0900 Subject: 存在しないカスタム絵文字をテキストで表示するように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #9516 --- CHANGELOG.md | 1 + packages/backend/src/server/ServerService.ts | 9 +++++++-- packages/frontend/src/components/global/MkEmoji.vue | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'packages/backend/src') diff --git a/CHANGELOG.md b/CHANGELOG.md index 56b25eae2d..c877be07b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ You should also include the user name that made the change. ## 13.x.x (unreleased) ### Improvements +- 存在しないカスタム絵文字をテキストで表示するように ### Bugfixes - playを削除する手段がなかったのを修正 diff --git a/packages/backend/src/server/ServerService.ts b/packages/backend/src/server/ServerService.ts index fac8497b5e..47d11ed0ae 100644 --- a/packages/backend/src/server/ServerService.ts +++ b/packages/backend/src/server/ServerService.ts @@ -14,6 +14,7 @@ import { genIdenticon } from '@/misc/gen-identicon.js'; import { createTemp } from '@/misc/create-temp.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { LoggerService } from '@/core/LoggerService.js'; +import { bindThis } from '@/decorators.js'; import { ActivityPubServerService } from './ActivityPubServerService.js'; import { NodeinfoServerService } from './NodeinfoServerService.js'; import { ApiServerService } from './api/ApiServerService.js'; @@ -22,7 +23,6 @@ import { WellKnownServerService } from './WellKnownServerService.js'; import { MediaProxyServerService } from './MediaProxyServerService.js'; import { FileServerService } from './FileServerService.js'; import { ClientServerService } from './web/ClientServerService.js'; -import { bindThis } from '@/decorators.js'; @Injectable() export class ServerService { @@ -101,7 +101,12 @@ export class ServerService { reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\''); if (emoji == null) { - return await reply.redirect('/static-assets/emoji-unknown.png'); + if ('fallback' in request.query) { + return await reply.redirect('/static-assets/emoji-unknown.png'); + } else { + reply.code(404); + return; + } } const url = new URL('/proxy/emoji.webp', this.config.url); diff --git a/packages/frontend/src/components/global/MkEmoji.vue b/packages/frontend/src/components/global/MkEmoji.vue index bc88cf3be4..b7dd0296cd 100644 --- a/packages/frontend/src/components/global/MkEmoji.vue +++ b/packages/frontend/src/components/global/MkEmoji.vue @@ -1,5 +1,6 @@