From 5836bd85df4fe511f0ab766349eb4c9d1e1e5fdf Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Mon, 20 May 2024 19:25:50 +0900 Subject: fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正 (#13765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正 * test: fix misskey js test * chore: user/showがnullを返さないように * chore: pass lambda instead of pushVisibleUser --- packages/backend/src/misc/json-schema.ts | 2 +- packages/backend/src/server/api/endpoints/users/show.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'packages/backend/src') diff --git a/packages/backend/src/misc/json-schema.ts b/packages/backend/src/misc/json-schema.ts index a620d7c94b..41e5bfe9e4 100644 --- a/packages/backend/src/misc/json-schema.ts +++ b/packages/backend/src/misc/json-schema.ts @@ -228,7 +228,7 @@ export type SchemaTypeDef

= p['items']['allOf'] extends ReadonlyArray ? UnionToIntersection>>[] : never ) : - p['items'] extends NonNullable ? SchemaTypeDef[] : + p['items'] extends NonNullable ? SchemaType[] : any[] ) : p['anyOf'] extends ReadonlyArray ? UnionSchemaType & PartialIntersection> : diff --git a/packages/backend/src/server/api/endpoints/users/show.ts b/packages/backend/src/server/api/endpoints/users/show.ts index bd81989cb9..26cfa921c5 100644 --- a/packages/backend/src/server/api/endpoints/users/show.ts +++ b/packages/backend/src/server/api/endpoints/users/show.ts @@ -110,9 +110,11 @@ export default class extends Endpoint { // eslint- }); // リクエストされた通りに並べ替え + // 順番は保持されるけど数は減ってる可能性がある const _users: MiUser[] = []; for (const id of ps.userIds) { - _users.push(users.find(x => x.id === id)!); + const user = users.find(x => x.id === id); + if (user != null) _users.push(user); } return await Promise.all(_users.map(u => this.userEntityService.pack(u, me, { -- cgit v1.2.3-freya