diff --git a/locales/index.d.ts b/locales/index.d.ts index 8051a1f24..6760927e1 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -580,6 +580,14 @@ export interface Locale extends ILocale { * リノートのミュートを解除 */ "renoteUnmute": string; + /** + * リアクションのミュート + */ + "mutedReactions": string; + /** + * リモートの絵文字をミュート + */ + "remoteCustomEmojiMuted": string; /** * ブロック */ diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 6783a4dca..138da8e9c 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -141,6 +141,8 @@ mute: "ミュート" unmute: "ミュート解除" renoteMute: "リノートをミュート" renoteUnmute: "リノートのミュートを解除" +mutedReactions: "リアクションのミュート" +remoteCustomEmojiMuted: "リモートの絵文字をミュート" block: "ブロック" unblock: "ブロック解除" suspend: "凍結" diff --git a/package.json b/package.json index 107fc6075..82060428a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "2024.5.0-host.3a", + "version": "2024.5.0-host.3b", "codename": "nasubi", "repository": { "type": "git", diff --git a/packages/backend/src/server/sso/JWTIdentifyProviderService.ts b/packages/backend/src/server/sso/JWTIdentifyProviderService.ts index bb21a8e98..63e412ff1 100644 --- a/packages/backend/src/server/sso/JWTIdentifyProviderService.ts +++ b/packages/backend/src/server/sso/JWTIdentifyProviderService.ts @@ -64,11 +64,12 @@ export class JWTIdentifyProviderService { fastify.all<{ Params: { serviceId: string }; - Querystring?: { serviceurl?: string, return_to?: string }; - Body?: { serviceurl?: string, return_to?: string }; + Querystring?: { serviceurl?: string, return_to?: string, prompt?: string }; + Body?: { serviceurl?: string, return_to?: string, prompt?: string }; }>('/:serviceId', async (request, reply) => { const serviceId = request.params.serviceId; const returnTo = request.query?.return_to ?? request.query?.serviceurl ?? request.body?.return_to ?? request.body?.serviceurl; + const prompt = request.query?.prompt ?? request.body?.prompt ?? 'consent'; const ssoServiceProvider = await this.singleSignOnServiceProviderRepository.findOneBy({ id: serviceId, type: 'jwt' }); if (!ssoServiceProvider) { @@ -101,6 +102,7 @@ export class JWTIdentifyProviderService { transactionId: transactionId, serviceName: ssoServiceProvider.name ?? ssoServiceProvider.issuer, kind: 'jwt', + prompt: prompt, }); }); diff --git a/packages/backend/src/server/sso/SAMLIdentifyProviderService.ts b/packages/backend/src/server/sso/SAMLIdentifyProviderService.ts index 2412f0357..60ce37d8e 100644 --- a/packages/backend/src/server/sso/SAMLIdentifyProviderService.ts +++ b/packages/backend/src/server/sso/SAMLIdentifyProviderService.ts @@ -201,13 +201,14 @@ export class SAMLIdentifyProviderService { fastify.all<{ Params: { serviceId: string }; - Querystring?: { SAMLRequest?: string; RelayState?: string }; - Body?: { SAMLRequest?: string; RelayState?: string }; + Querystring?: { SAMLRequest?: string; RelayState?: string, prompt?: string }; + Body?: { SAMLRequest?: string; RelayState?: string, prompt?: string }; }>('/:serviceId', async (request, reply) => { const serviceId = request.params.serviceId; const binding = request.query?.SAMLRequest ? 'redirect' : 'post'; const samlRequest = request.query?.SAMLRequest ?? request.body?.SAMLRequest; const relayState = request.query?.RelayState ?? request.body?.RelayState; + const prompt = request.query?.prompt ?? request.body?.prompt ?? 'consent'; const ssoServiceProvider = await this.singleSignOnServiceProviderRepository.findOneBy({ id: serviceId, type: 'saml', privateKey: Not(IsNull()) }); if (!ssoServiceProvider) { @@ -268,6 +269,7 @@ export class SAMLIdentifyProviderService { transactionId: transactionId, serviceName: ssoServiceProvider.name ?? ssoServiceProvider.issuer, kind: 'saml', + prompt: prompt, }); } catch (err) { this.#logger.error('Failed to parse SAML request', { error: err }); diff --git a/packages/backend/src/server/web/views/sso.pug b/packages/backend/src/server/web/views/sso.pug index bc1248127..d929c9721 100644 --- a/packages/backend/src/server/web/views/sso.pug +++ b/packages/backend/src/server/web/views/sso.pug @@ -4,3 +4,4 @@ block meta meta(name='misskey:sso:transaction-id' content=transactionId) meta(name='misskey:sso:service-name' content=serviceName) meta(name='misskey:sso:kind' content=kind) + meta(name='misskey:sso:prompt' content=prompt) diff --git a/packages/frontend/src/components/MkEmojiPickerDialog.vue b/packages/frontend/src/components/MkEmojiPickerDialog.vue index 90b37e390..65f227e9a 100644 --- a/packages/frontend/src/components/MkEmojiPickerDialog.vue +++ b/packages/frontend/src/components/MkEmojiPickerDialog.vue @@ -29,15 +29,29 @@ SPDX-License-Identifier: AGPL-3.0-only :max-height="maxHeight" @chosen="chosen" /> +