diff options
| author | anatawa12 <anatawa12@icloud.com> | 2025-04-13 18:34:33 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-13 18:34:33 +0900 |
| commit | 4c473eb76d77736ce4c46a7d0c967f3a872cd769 (patch) | |
| tree | 576aa54338e2fb8d8e9c63ea6ffeaf79469c178f | |
| parent | fix(frontend): 自動バックアップが設定されていない環境で... (diff) | |
| download | sharkey-4c473eb76d77736ce4c46a7d0c967f3a872cd769.tar.gz sharkey-4c473eb76d77736ce4c46a7d0c967f3a872cd769.tar.bz2 sharkey-4c473eb76d77736ce4c46a7d0c967f3a872cd769.zip | |
fix: resolve with non-lowercased acct is broken (#15813)
* fix: resolve with non-lowercased acct is broken
* docs(changelog): Fix: 大文字を含むユーザの URL で紹介された場合に 404 エラーを返す問題
| -rw-r--r-- | CHANGELOG.md | 2 | ||||
| -rw-r--r-- | packages/backend/src/server/ActivityPubServerService.ts | 2 | ||||
| -rw-r--r-- | packages/backend/src/server/WellKnownServerService.ts | 2 | ||||
| -rw-r--r-- | packages/backend/test/unit/AnnouncementService.ts | 2 | ||||
| -rw-r--r-- | packages/backend/test/unit/SigninWithPasskeyApiService.ts | 6 | ||||
| -rw-r--r-- | packages/backend/test/unit/entities/UserEntityService.ts | 2 |
6 files changed, 8 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c57d2ee56..3a4c155a26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ ### Server - Fix: システムアカウントの名前がサーバー名と同期されない問題を修正 - +- Fix: 大文字を含むユーザの URL で紹介された場合に 404 エラーを返す問題 #15813 ## 2025.4.0 diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts index 48c80e5e61..72d57a9b1b 100644 --- a/packages/backend/src/server/ActivityPubServerService.ts +++ b/packages/backend/src/server/ActivityPubServerService.ts @@ -735,7 +735,7 @@ export class ActivityPubServerService { const acct = Acct.parse(request.params.acct); const user = await this.usersRepository.findOneBy({ - usernameLower: acct.username, + usernameLower: acct.username.toLowerCase(), host: acct.host ?? IsNull(), isSuspended: false, }); diff --git a/packages/backend/src/server/WellKnownServerService.ts b/packages/backend/src/server/WellKnownServerService.ts index d106be5bc8..ebfd1a421d 100644 --- a/packages/backend/src/server/WellKnownServerService.ts +++ b/packages/backend/src/server/WellKnownServerService.ts @@ -138,7 +138,7 @@ fastify.get('/.well-known/change-password', async (request, reply) => { const fromAcct = (acct: Acct.Acct): FindOptionsWhere<MiUser> | number => !acct.host || acct.host === this.config.host.toLowerCase() ? { - usernameLower: acct.username, + usernameLower: acct.username.toLowerCase(), host: IsNull(), isSuspended: false, } : 422; diff --git a/packages/backend/test/unit/AnnouncementService.ts b/packages/backend/test/unit/AnnouncementService.ts index 81da0fac31..a79655c9aa 100644 --- a/packages/backend/test/unit/AnnouncementService.ts +++ b/packages/backend/test/unit/AnnouncementService.ts @@ -44,7 +44,7 @@ describe('AnnouncementService', () => { return usersRepository.insert({ id: genAidx(Date.now()), username: un, - usernameLower: un, + usernameLower: un.toLowerCase(), ...data, }) .then(x => usersRepository.findOneByOrFail(x.identifiers[0])); diff --git a/packages/backend/test/unit/SigninWithPasskeyApiService.ts b/packages/backend/test/unit/SigninWithPasskeyApiService.ts index bae2b88c60..0687ed8437 100644 --- a/packages/backend/test/unit/SigninWithPasskeyApiService.ts +++ b/packages/backend/test/unit/SigninWithPasskeyApiService.ts @@ -89,8 +89,8 @@ describe('SigninWithPasskeyApiService', () => { app = await Test.createTestingModule({ imports: [GlobalModule, CoreModule], providers: [ - SigninWithPasskeyApiService, - { provide: RateLimiterService, useClass: FakeLimiter }, + SigninWithPasskeyApiService, + { provide: RateLimiterService, useClass: FakeLimiter }, { provide: SigninService, useClass: FakeSigninService }, ], }).useMocker((token) => { @@ -115,7 +115,7 @@ describe('SigninWithPasskeyApiService', () => { jest.spyOn(webAuthnService, 'verifySignInWithPasskeyAuthentication').mockImplementation(FakeWebauthnVerify); const dummyUser = { - id: uid, username: uid, usernameLower: uid.toLocaleLowerCase(), uri: null, host: null, + id: uid, username: uid, usernameLower: uid.toLowerCase(), uri: null, host: null, }; const dummyProfile = { userId: uid, diff --git a/packages/backend/test/unit/entities/UserEntityService.ts b/packages/backend/test/unit/entities/UserEntityService.ts index 6b7eedff55..ce3f931bb0 100644 --- a/packages/backend/test/unit/entities/UserEntityService.ts +++ b/packages/backend/test/unit/entities/UserEntityService.ts @@ -74,7 +74,7 @@ describe('UserEntityService', () => { ...userData, id: genAidx(Date.now()), username: un, - usernameLower: un, + usernameLower: un.toLowerCase(), }) .then(x => usersRepository.findOneByOrFail(x.identifiers[0])); |