diff --git a/packages/backend/migration/1738776889000-setFederationAvatarShape.js b/packages/backend/migration/1738776889000-setFederationAvatarShape.js index c735993cf9..801ba26b9a 100644 --- a/packages/backend/migration/1738776889000-setFederationAvatarShape.js +++ b/packages/backend/migration/1738776889000-setFederationAvatarShape.js @@ -7,8 +7,8 @@ export class setFederationAvatarShape1738776889000 { name = 'setFederationAvatarShape1738776889000' async up(queryRunner) { - await queryRunner.query(`ALTER TABLE "user" ADD "setFederationAvatarShape" boolean NOT NULL DEFAULT false`); - await queryRunner.query(`ALTER TABLE "user" ADD "isSquareAvatars" boolean NOT NULL DEFAULT false`); + await queryRunner.query(`ALTER TABLE "user" ADD "setFederationAvatarShape" boolean DEFAULT null`, undefined); + await queryRunner.query(`ALTER TABLE "user" ADD "isSquareAvatars" boolean DEFAULT null`, undefined); } async down(queryRunner) { diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts index 21de925792..54349210b0 100644 --- a/packages/backend/src/core/activitypub/ApRendererService.ts +++ b/packages/backend/src/core/activitypub/ApRendererService.ts @@ -543,8 +543,8 @@ export class ApRendererService { publicKey: this.renderKey(user, keypair, '#main-key'), isCat: user.isCat, attachment: attachment.length ? attachment : undefined, - setFederationAvatarShape: user.setFederationAvatarShape, - isSquareAvatars: user.isSquareAvatars, + setFederationAvatarShape: user.setFederationAvatarShape ? user.setFederationAvatarShape : undefined, + isSquareAvatars: user.isSquareAvatars ? user.isSquareAvatars : undefined, }; if (user.movedToUri) { diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts index 972576aa8f..184106f879 100644 --- a/packages/backend/src/core/entities/UserEntityService.ts +++ b/packages/backend/src/core/entities/UserEntityService.ts @@ -553,8 +553,8 @@ export class UserEntityService implements OnModuleInit { displayOrder: r.displayOrder, })), ) : undefined, - setFederationAvatarShape: user.setFederationAvatarShape, - isSquareAvatars: user.isSquareAvatars, + setFederationAvatarShape: user.setFederationAvatarShape || undefined, + isSquareAvatars: user.isSquareAvatars || undefined, ...(isDetailed ? { url: profile!.url, diff --git a/packages/backend/src/models/User.ts b/packages/backend/src/models/User.ts index c9c9957c4d..caa00d41f6 100644 --- a/packages/backend/src/models/User.ts +++ b/packages/backend/src/models/User.ts @@ -279,14 +279,14 @@ export class MiUser { public token: string | null; @Column('boolean', { - default: false, + nullable: true, }) - public setFederationAvatarShape: boolean; + public setFederationAvatarShape: boolean | null; @Column('boolean', { - default: false, + nullable: true, }) - public isSquareAvatars: boolean; + public isSquareAvatars: boolean | null; constructor(data: Partial) { if (data == null) return; diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index 04297187a9..1870c7436b 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -201,11 +201,11 @@ export const packedUserLiteSchema = { }, setFederationAvatarShape: { type: 'boolean', - nullable: false, optional: false, + nullable: false, optional: true, }, isSquareAvatars: { type: 'boolean', - nullable: false, optional: false, + nullable: false, optional: true, }, }, } as const; diff --git a/packages/backend/src/server/api/endpoints/admin/show-user.ts b/packages/backend/src/server/api/endpoints/admin/show-user.ts index 22d324b5b4..941d75456e 100644 --- a/packages/backend/src/server/api/endpoints/admin/show-user.ts +++ b/packages/backend/src/server/api/endpoints/admin/show-user.ts @@ -179,11 +179,11 @@ export const meta = { }, setFederationAvatarShape: { type: 'boolean', - optional: false, nullable: false, + optional: true, nullable: true, }, isSquareAvatars: { type: 'boolean', - optional: false, nullable: false, + optional: true, nullable: true, }, }, }, diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts index 576d9adca6..471429ee60 100644 --- a/packages/backend/src/server/api/endpoints/i/update.ts +++ b/packages/backend/src/server/api/endpoints/i/update.ts @@ -228,8 +228,8 @@ export const paramDef = { uniqueItems: true, items: { type: 'string' }, }, - setFederationAvatarShape: { type: 'boolean' }, - isSquareAvatars: { type: 'boolean' }, + setFederationAvatarShape: { type: 'boolean', nullable: true }, + isSquareAvatars: { type: 'boolean', nullable: true }, }, } as const; diff --git a/packages/cherrypick-js/src/autogen/types.ts b/packages/cherrypick-js/src/autogen/types.ts index dc5cd55478..486a5d9de2 100644 --- a/packages/cherrypick-js/src/autogen/types.ts +++ b/packages/cherrypick-js/src/autogen/types.ts @@ -4134,8 +4134,8 @@ export type components = { iconUrl: string | null; displayOrder: number; })[]; - setFederationAvatarShape: boolean; - isSquareAvatars: boolean; + setFederationAvatarShape?: boolean; + isSquareAvatars?: boolean; }; UserDetailedNotMeOnly: { /** Format: url */ @@ -10724,8 +10724,8 @@ export type operations = { expiresAt: string | null; roleId: string; })[]; - setFederationAvatarShape: boolean; - isSquareAvatars: boolean; + setFederationAvatarShape?: boolean | null; + isSquareAvatars?: boolean | null; }; }; }; @@ -22245,8 +22245,8 @@ export type operations = { }; emailNotificationTypes?: string[]; alsoKnownAs?: string[]; - setFederationAvatarShape?: boolean; - isSquareAvatars?: boolean; + setFederationAvatarShape?: boolean | null; + isSquareAvatars?: boolean | null; }; }; }; diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index e3bc4ba794..44c266aad7 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -425,7 +425,7 @@ export async function mainBoot() { signout(); }); - // 프로필 아이콘 모양 설정 연합 + // 프로필 아이콘 모양 설정 연합 초기화 if ($i.policies.canSetFederationAvatarShape && defaultStore.state.setFederationAvatarShape) { await misskeyApi('i/update', { setFederationAvatarShape: true,