diff --git a/packages/backend/migration/1629387925000-disableRightClick.js b/packages/backend/migration/1629387925000-disableRightClick.js index 24dd4fef74..a4f9da6d52 100644 --- a/packages/backend/migration/1629387925000-disableRightClick.js +++ b/packages/backend/migration/1629387925000-disableRightClick.js @@ -1,4 +1,7 @@ - +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ export class disableRightClick1629387925000 { constructor() { diff --git a/packages/backend/migration/1654589815249-increase-smtp-char-limit.js b/packages/backend/migration/1654589815249-increase-smtp-char-limit.js index 0140dd7988..cdcffa98cd 100644 --- a/packages/backend/migration/1654589815249-increase-smtp-char-limit.js +++ b/packages/backend/migration/1654589815249-increase-smtp-char-limit.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class increaseSmtpCharLimit1654589815249 { name = 'increaseSmtpCharLimit1654589815249' @@ -9,7 +14,7 @@ export class increaseSmtpCharLimit1654589815249 { async down(queryRunner) { // It's safe to keep extended character limit, rather than shrinking with risk of breaking settings - + // await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpHost" TYPE character varying(128)`); // await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpUser" TYPE character varying(128)`); // await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpPass" TYPE character varying(128)`); diff --git a/packages/backend/migration/1660183643857-multipleTranslationServices.js b/packages/backend/migration/1660183643857-multipleTranslationServices.js index 9f2b6ce725..e06a9a2019 100644 --- a/packages/backend/migration/1660183643857-multipleTranslationServices.js +++ b/packages/backend/migration/1660183643857-multipleTranslationServices.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class multipleTranslationServices1660183643857 { name = 'multipleTranslationServices1660183643857' diff --git a/packages/backend/migration/1681429921400-Event.js b/packages/backend/migration/1681429921400-Event.js index 9dc2eb39b6..dd5166eace 100644 --- a/packages/backend/migration/1681429921400-Event.js +++ b/packages/backend/migration/1681429921400-Event.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class Event1681429921400 { name = 'Event1681429921400' diff --git a/packages/backend/migration/1681673280586-event.js b/packages/backend/migration/1681673280586-event.js index 7e464dbcf9..58cb9f6c8a 100644 --- a/packages/backend/migration/1681673280586-event.js +++ b/packages/backend/migration/1681673280586-event.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class Event1681673280586 { name = 'Event1681673280586' diff --git a/packages/backend/migration/1681675881633-event.js b/packages/backend/migration/1681675881633-event.js index 562d04be0d..4869ab3f77 100644 --- a/packages/backend/migration/1681675881633-event.js +++ b/packages/backend/migration/1681675881633-event.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class Event1681675881633 { name = 'Event1681675881633' diff --git a/packages/backend/migration/1684231006000-tweak-varchar-length2.js b/packages/backend/migration/1684231006000-tweak-varchar-length2.js index bbfda17e2d..af58cf578a 100644 --- a/packages/backend/migration/1684231006000-tweak-varchar-length2.js +++ b/packages/backend/migration/1684231006000-tweak-varchar-length2.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class tweakVarcharLength21684231006000 { name = 'tweakVarcharLength21684231006000' diff --git a/packages/backend/migration/1685378242713-multipleTranslationServices.js b/packages/backend/migration/1685378242713-multipleTranslationServices.js index d85191e4bb..ea97170a8f 100644 --- a/packages/backend/migration/1685378242713-multipleTranslationServices.js +++ b/packages/backend/migration/1685378242713-multipleTranslationServices.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class MultipleTranslationServices1685378242713 { name = 'MultipleTranslationServices1685378242713' diff --git a/packages/backend/migration/1689580926821-ObjectStorageRemoteSetting.js b/packages/backend/migration/1689580926821-ObjectStorageRemoteSetting.js index a27fda3e70..d0307bae7a 100644 --- a/packages/backend/migration/1689580926821-ObjectStorageRemoteSetting.js +++ b/packages/backend/migration/1689580926821-ObjectStorageRemoteSetting.js @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export class ObjectStorageRemoteSetting1689580926821 { name = 'ObjectStorageRemoteSetting1689580926821' diff --git a/packages/backend/src/core/MessagingService.ts b/packages/backend/src/core/MessagingService.ts index ca4082b23f..33412e531a 100644 --- a/packages/backend/src/core/MessagingService.ts +++ b/packages/backend/src/core/MessagingService.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { In, Not } from 'typeorm'; import { DI } from '@/di-symbols.js'; @@ -61,11 +66,11 @@ export class MessagingService { reads: [] as any[], uri, } as MessagingMessage; - + await this.messagingMessagesRepository.insert(message); - + const messageObj = await this.messagingMessageEntityService.pack(message); - + if (recipientUser) { if (this.userEntityService.isLocalUser(user)) { // 自分のストリーム @@ -73,7 +78,7 @@ export class MessagingService { this.globalEventService.publishMessagingIndexStream(message.userId, 'message', messageObj); this.globalEventService.publishMainStream(message.userId, 'messagingMessage', messageObj); } - + if (this.userEntityService.isLocalUser(recipientUser)) { // 相手のストリーム this.globalEventService.publishMessagingStream(recipientUser.id, message.userId, 'message', messageObj); @@ -83,7 +88,7 @@ export class MessagingService { } else if (recipientGroup) { // グループのストリーム this.globalEventService.publishGroupMessagingStream(recipientGroup.id, 'message', messageObj); - + // メンバーのストリーム const joinings = await this.userGroupJoiningsRepository.findBy({ userGroupId: recipientGroup.id }); for (const joining of joinings) { @@ -91,22 +96,22 @@ export class MessagingService { this.globalEventService.publishMainStream(joining.userId, 'messagingMessage', messageObj); } } - + // 2秒経っても(今回作成した)メッセージが既読にならなかったら「未読のメッセージがありますよ」イベントを発行する setTimeout(async () => { const freshMessage = await this.messagingMessagesRepository.findOneBy({ id: message.id }); if (freshMessage == null) return; // メッセージが削除されている場合もある - + if (recipientUser && this.userEntityService.isLocalUser(recipientUser)) { if (freshMessage.isRead) return; // 既読 - + //#region ただしミュートされているなら発行しない const mute = await this.mutingsRepository.findBy({ muterId: recipientUser.id, }); if (mute.map(m => m.muteeId).includes(user.id)) return; //#endregion - + this.globalEventService.publishMainStream(recipientUser.id, 'unreadMessagingMessage', messageObj); this.pushNotificationService.pushNotification(recipientUser.id, 'unreadMessagingMessage', messageObj); } else if (recipientGroup) { @@ -118,7 +123,7 @@ export class MessagingService { } } }, 2000); - + if (recipientUser && this.userEntityService.isLocalUser(user) && this.userEntityService.isRemoteUser(recipientUser)) { const note = { id: message.id, @@ -134,9 +139,9 @@ export class MessagingService { host: u.host, }))), } as Note; - + const activity = this.apRendererService.addContext(this.apRendererService.renderCreate(await this.apRendererService.renderNote(note, false, true), note)); - + this.queueService.deliver(user, activity, recipientUser.inbox, false); } return messageObj; @@ -147,16 +152,16 @@ export class MessagingService { await this.messagingMessagesRepository.delete(message.id); this.postDeleteMessage(message); } - + @bindThis private async postDeleteMessage(message: MessagingMessage) { if (message.recipientId) { const user = await this.usersRepository.findOneByOrFail({ id: message.userId }); const recipient = await this.usersRepository.findOneByOrFail({ id: message.recipientId }); - + if (this.userEntityService.isLocalUser(user)) this.globalEventService.publishMessagingStream(message.userId, message.recipientId, 'deleted', message.id); if (this.userEntityService.isLocalUser(recipient)) this.globalEventService.publishMessagingStream(message.recipientId, message.userId, 'deleted', message.id); - + if (this.userEntityService.isLocalUser(user) && this.userEntityService.isRemoteUser(recipient)) { const activity = this.apRendererService.addContext(this.apRendererService.renderDelete(this.apRendererService.renderTombstone(`${this.config.url}/notes/${message.id}`), user)); this.queueService.deliver(user, activity, recipient.inbox, false); diff --git a/packages/backend/src/core/activitypub/models/ApEventService.ts b/packages/backend/src/core/activitypub/models/ApEventService.ts index c6f7020364..9f353fd747 100644 --- a/packages/backend/src/core/activitypub/models/ApEventService.ts +++ b/packages/backend/src/core/activitypub/models/ApEventService.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; import type { EventsRepository, NotesRepository } from '@/models/index.js'; diff --git a/packages/backend/src/core/entities/MessagingMessageEntityService.ts b/packages/backend/src/core/entities/MessagingMessageEntityService.ts index 31bd79ed7d..f19021d297 100644 --- a/packages/backend/src/core/entities/MessagingMessageEntityService.ts +++ b/packages/backend/src/core/entities/MessagingMessageEntityService.ts @@ -1,9 +1,12 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; import type { MessagingMessagesRepository } from '@/models/index.js'; -import { awaitAll } from '@/misc/prelude/await-all.js'; import type { Packed } from '@/misc/json-schema.js'; -import type { } from '@/models/entities/Blocking.js'; import type { User } from '@/models/entities/User.js'; import type { MessagingMessage } from '@/models/entities/MessagingMessage.js'; import { UserEntityService } from './UserEntityService.js'; diff --git a/packages/backend/src/core/entities/UserGroupEntityService.ts b/packages/backend/src/core/entities/UserGroupEntityService.ts index f001f622ad..f0650ec51f 100644 --- a/packages/backend/src/core/entities/UserGroupEntityService.ts +++ b/packages/backend/src/core/entities/UserGroupEntityService.ts @@ -1,10 +1,12 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; import type { UserGroupJoiningsRepository, UserGroupsRepository } from '@/models/index.js'; -import { awaitAll } from '@/misc/prelude/await-all.js'; import type { Packed } from '@/misc/json-schema.js'; -import type { } from '@/models/entities/Blocking.js'; -import type { User } from '@/models/entities/User.js'; import type { UserGroup } from '@/models/entities/UserGroup.js'; import { UserEntityService } from './UserEntityService.js'; import { bindThis } from '@/decorators.js'; @@ -37,7 +39,7 @@ export class UserGroupEntityService { createdAt: userGroup.createdAt.toISOString(), name: userGroup.name, ownerId: userGroup.userId, - userIds: users.map(x => x.userId), + userIds: users.map((x: { userId: any; }) => x.userId), }; } } diff --git a/packages/backend/src/core/entities/UserGroupInvitationEntityService.ts b/packages/backend/src/core/entities/UserGroupInvitationEntityService.ts index 60569bd4ed..04d0c3e021 100644 --- a/packages/backend/src/core/entities/UserGroupInvitationEntityService.ts +++ b/packages/backend/src/core/entities/UserGroupInvitationEntityService.ts @@ -1,12 +1,12 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; import type { UserGroupInvitationsRepository } from '@/models/index.js'; -import { awaitAll } from '@/misc/prelude/await-all.js'; -import type { Packed } from '@/misc/json-schema.js'; -import type { } from '@/models/entities/Blocking.js'; -import type { User } from '@/models/entities/User.js'; import type { UserGroupInvitation } from '@/models/entities/UserGroupInvitation.js'; -import { UserEntityService } from './UserEntityService.js'; import { UserGroupEntityService } from './UserGroupEntityService.js'; import { bindThis } from '@/decorators.js'; diff --git a/packages/backend/src/misc/flash-token.ts b/packages/backend/src/misc/flash-token.ts index 2622f955df..bd7f2ce0aa 100644 --- a/packages/backend/src/misc/flash-token.ts +++ b/packages/backend/src/misc/flash-token.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import type { LocalUser } from '@/models/entities/User.js'; export type FlashToken = { diff --git a/packages/backend/src/models/entities/Event.ts b/packages/backend/src/models/entities/Event.ts index f06669dd53..63e196de92 100644 --- a/packages/backend/src/models/entities/Event.ts +++ b/packages/backend/src/models/entities/Event.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Entity, Index, Column, PrimaryColumn, OneToOne, JoinColumn } from 'typeorm'; import { id } from '../id.js'; import { noteVisibilities } from '../../types.js'; diff --git a/packages/backend/src/models/entities/MessagingMessage.ts b/packages/backend/src/models/entities/MessagingMessage.ts index 69fc9815d4..66adc3b694 100644 --- a/packages/backend/src/models/entities/MessagingMessage.ts +++ b/packages/backend/src/models/entities/MessagingMessage.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm'; import { id } from '../id.js'; import { User } from './User.js'; diff --git a/packages/backend/src/models/entities/UserGroup.ts b/packages/backend/src/models/entities/UserGroup.ts index 328a1883cb..91de0df399 100644 --- a/packages/backend/src/models/entities/UserGroup.ts +++ b/packages/backend/src/models/entities/UserGroup.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm'; import { id } from '../id.js'; import { User } from './User.js'; diff --git a/packages/backend/src/models/entities/UserGroupInvitation.ts b/packages/backend/src/models/entities/UserGroupInvitation.ts index e4aa3ccae1..6899fc0153 100644 --- a/packages/backend/src/models/entities/UserGroupInvitation.ts +++ b/packages/backend/src/models/entities/UserGroupInvitation.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm'; import { id } from '../id.js'; import { User } from './User.js'; diff --git a/packages/backend/src/models/entities/UserGroupJoining.ts b/packages/backend/src/models/entities/UserGroupJoining.ts index fae7241525..4a062b290d 100644 --- a/packages/backend/src/models/entities/UserGroupJoining.ts +++ b/packages/backend/src/models/entities/UserGroupJoining.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm'; import { id } from '../id.js'; import { User } from './User.js'; diff --git a/packages/backend/src/models/json-schema/messaging-message.ts b/packages/backend/src/models/json-schema/messaging-message.ts index b1ffa45955..74caa0ed76 100644 --- a/packages/backend/src/models/json-schema/messaging-message.ts +++ b/packages/backend/src/models/json-schema/messaging-message.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export const packedMessagingMessageSchema = { type: 'object', properties: { diff --git a/packages/backend/src/models/json-schema/user-group.ts b/packages/backend/src/models/json-schema/user-group.ts index a73bf82bb8..63eeeb59d3 100644 --- a/packages/backend/src/models/json-schema/user-group.ts +++ b/packages/backend/src/models/json-schema/user-group.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + export const packedUserGroupSchema = { type: 'object', properties: { diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/adds.ts b/packages/backend/src/server/api/endpoints/admin/emoji/adds.ts index ce23203dad..23904edc38 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/adds.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/adds.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { DriveFilesRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/admin/invite/revoke.ts b/packages/backend/src/server/api/endpoints/admin/invite/revoke.ts index e2fe46898a..95d3fb9f8b 100644 --- a/packages/backend/src/server/api/endpoints/admin/invite/revoke.ts +++ b/packages/backend/src/server/api/endpoints/admin/invite/revoke.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { RegistrationTicketsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/flash/gen-token.ts b/packages/backend/src/server/api/endpoints/flash/gen-token.ts index bcbce360f1..9322f94fc1 100644 --- a/packages/backend/src/server/api/endpoints/flash/gen-token.ts +++ b/packages/backend/src/server/api/endpoints/flash/gen-token.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Injectable } from '@nestjs/common'; import ms from 'ms'; import { secureRndstr } from '@/misc/secure-rndstr.js'; diff --git a/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts b/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts index 109d6d1068..caf11a72c5 100644 --- a/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts +++ b/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { MessagingMessagesRepository, UserGroupJoiningsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/i/user-group-invites.ts b/packages/backend/src/server/api/endpoints/i/user-group-invites.ts index 63fa3d0262..50d7fe5552 100644 --- a/packages/backend/src/server/api/endpoints/i/user-group-invites.ts +++ b/packages/backend/src/server/api/endpoints/i/user-group-invites.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { UserGroupInvitationsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/messaging/history.ts b/packages/backend/src/server/api/endpoints/messaging/history.ts index 0b6099d4ac..a742cc7f77 100644 --- a/packages/backend/src/server/api/endpoints/messaging/history.ts +++ b/packages/backend/src/server/api/endpoints/messaging/history.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Brackets } from 'typeorm'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/messaging/messages.ts b/packages/backend/src/server/api/endpoints/messaging/messages.ts index f061db3d52..a08cf8ab22 100644 --- a/packages/backend/src/server/api/endpoints/messaging/messages.ts +++ b/packages/backend/src/server/api/endpoints/messaging/messages.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Brackets } from 'typeorm'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/messaging/messages/create.ts b/packages/backend/src/server/api/endpoints/messaging/messages/create.ts index d8da5c202e..3d887a2277 100644 --- a/packages/backend/src/server/api/endpoints/messaging/messages/create.ts +++ b/packages/backend/src/server/api/endpoints/messaging/messages/create.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import ms from 'ms'; import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts b/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts index cd74f5f197..f815a9f22c 100644 --- a/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts +++ b/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import ms from 'ms'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/messaging/messages/read.ts b/packages/backend/src/server/api/endpoints/messaging/messages/read.ts index bddb6d932d..f411338de3 100644 --- a/packages/backend/src/server/api/endpoints/messaging/messages/read.ts +++ b/packages/backend/src/server/api/endpoints/messaging/messages/read.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { MessagingMessagesRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/notes/cat-timeline.ts b/packages/backend/src/server/api/endpoints/notes/cat-timeline.ts index 158d4eaaa3..9d83f417b3 100644 --- a/packages/backend/src/server/api/endpoints/notes/cat-timeline.ts +++ b/packages/backend/src/server/api/endpoints/notes/cat-timeline.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Brackets } from 'typeorm'; import { Inject, Injectable } from '@nestjs/common'; import type { NotesRepository, FollowingsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/notes/events/search.ts b/packages/backend/src/server/api/endpoints/notes/events/search.ts index d0688f3c7b..746f5db591 100644 --- a/packages/backend/src/server/api/endpoints/notes/events/search.ts +++ b/packages/backend/src/server/api/endpoints/notes/events/search.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import { Brackets } from 'typeorm'; import { Event } from '@/models/entities/Event.js'; diff --git a/packages/backend/src/server/api/endpoints/notes/media-timeline.ts b/packages/backend/src/server/api/endpoints/notes/media-timeline.ts index 79fe2d79b4..357c9192e5 100644 --- a/packages/backend/src/server/api/endpoints/notes/media-timeline.ts +++ b/packages/backend/src/server/api/endpoints/notes/media-timeline.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Brackets } from 'typeorm'; import { Inject, Injectable } from '@nestjs/common'; import type { NotesRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/create.ts b/packages/backend/src/server/api/endpoints/users/groups/create.ts index 24dbf5ca3c..3177a2e15c 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/create.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/create.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import ms from 'ms'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/delete.ts b/packages/backend/src/server/api/endpoints/users/groups/delete.ts index d238ae9f16..2f91eb18d2 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/delete.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/delete.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts index 08b3da7a1f..040aea4a12 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupInvitationsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; import { IdService } from '@/core/IdService.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts index f8290f7c0c..898f306a3f 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupInvitationsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/invite.ts b/packages/backend/src/server/api/endpoints/users/groups/invite.ts index 13d67e39fc..93b9ce03a0 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/invite.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/invite.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository, UserGroupInvitationsRepository } from '@/models/index.js'; import { IdService } from '@/core/IdService.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/joined.ts b/packages/backend/src/server/api/endpoints/users/groups/joined.ts index 8daee3a6f5..300620b3d8 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/joined.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/joined.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Not, In } from 'typeorm'; import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/leave.ts b/packages/backend/src/server/api/endpoints/users/groups/leave.ts index 846f80e64d..b729524d04 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/leave.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/leave.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/owned.ts b/packages/backend/src/server/api/endpoints/users/groups/owned.ts index 0bc6e8b3fc..6bf7f279a1 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/owned.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/owned.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/pull.ts b/packages/backend/src/server/api/endpoints/users/groups/pull.ts index 409006b0b0..9163d5bff2 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/pull.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/pull.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/show.ts b/packages/backend/src/server/api/endpoints/users/groups/show.ts index 2b0f403f33..723e783190 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/show.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/show.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/transfer.ts b/packages/backend/src/server/api/endpoints/users/groups/transfer.ts index 3130d98ed1..63983bb792 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/transfer.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/transfer.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository, UserGroupJoiningsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/groups/update.ts b/packages/backend/src/server/api/endpoints/users/groups/update.ts index 5af849de14..598329c22d 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/update.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/update.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupsRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; diff --git a/packages/backend/src/server/api/endpoints/users/translate.ts b/packages/backend/src/server/api/endpoints/users/translate.ts index 6195fed265..ceb753bd8b 100644 --- a/packages/backend/src/server/api/endpoints/users/translate.ts +++ b/packages/backend/src/server/api/endpoints/users/translate.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { URLSearchParams } from 'node:url'; import fs from 'node:fs'; import { Inject, Injectable } from '@nestjs/common'; @@ -140,11 +145,11 @@ export default class extends Endpoint { }); const json = (await res.json()) as { - translations: { - detected_source_language: string; - text: string; - }[]; - }; + translations: { + detected_source_language: string; + text: string; + }[]; + }; return { sourceLang: json.translations[0].detected_source_language, @@ -156,9 +161,8 @@ export default class extends Endpoint { private async apiCloudTranslationAdvanced(text: string, targetLang: string, saKey: string, projectId: string, location: string, model: string | null, glossary: string | null, provider: string) { const [path, cleanup] = await createTemp(); fs.writeFileSync(path, saKey); - process.env.GOOGLE_APPLICATION_CREDENTIALS = path; - const translationClient = new TranslationServiceClient(); + const translationClient = new TranslationServiceClient({ keyFilename: path }); const detectRequest = { parent: `projects/${projectId}/locations/${location}`, @@ -193,8 +197,8 @@ export default class extends Endpoint { const translatedText = translateResponse.translations && translateResponse.translations[0]?.translatedText; const detectedLanguageCode = translateResponse.translations && translateResponse.translations[0]?.detectedLanguageCode; - delete process.env.GOOGLE_APPLICATION_CREDENTIALS; cleanup(); + return { sourceLang: detectedLanguage !== null ? detectedLanguage : detectedLanguageCode, text: translatedText, diff --git a/packages/backend/src/server/api/stream/channels/cat-timeline.ts b/packages/backend/src/server/api/stream/channels/cat-timeline.ts index 1351b27fd6..e08e62b555 100644 --- a/packages/backend/src/server/api/stream/channels/cat-timeline.ts +++ b/packages/backend/src/server/api/stream/channels/cat-timeline.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Injectable } from '@nestjs/common'; import { checkWordMute } from '@/misc/check-word-mute.js'; import { isUserRelated } from '@/misc/is-user-related.js'; diff --git a/packages/backend/src/server/api/stream/channels/media-timeline.ts b/packages/backend/src/server/api/stream/channels/media-timeline.ts index ed0d62a445..539dc809b9 100644 --- a/packages/backend/src/server/api/stream/channels/media-timeline.ts +++ b/packages/backend/src/server/api/stream/channels/media-timeline.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Injectable } from '@nestjs/common'; import { checkWordMute } from '@/misc/check-word-mute.js'; import { isUserRelated } from '@/misc/is-user-related.js'; diff --git a/packages/backend/src/server/api/stream/channels/messaging-index.ts b/packages/backend/src/server/api/stream/channels/messaging-index.ts index 66cb79f7a7..7f26b37353 100644 --- a/packages/backend/src/server/api/stream/channels/messaging-index.ts +++ b/packages/backend/src/server/api/stream/channels/messaging-index.ts @@ -1,4 +1,9 @@ -import { Inject, Injectable } from '@nestjs/common'; +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; import { bindThis } from '@/decorators.js'; import Channel from '../channel.js'; diff --git a/packages/backend/src/server/api/stream/channels/messaging.ts b/packages/backend/src/server/api/stream/channels/messaging.ts index b544e297c5..39d9ca71e1 100644 --- a/packages/backend/src/server/api/stream/channels/messaging.ts +++ b/packages/backend/src/server/api/stream/channels/messaging.ts @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: syuilo and noridev and other misskey, cherrypick contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + import { Inject, Injectable } from '@nestjs/common'; import type { UserGroupJoiningsRepository, UsersRepository, MessagingMessagesRepository } from '@/models/index.js'; import type { User, LocalUser, RemoteUser } from '@/models/entities/User.js'; diff --git a/packages/frontend/src/components/MkDetailsButton.vue b/packages/frontend/src/components/MkDetailsButton.vue index b434d8c437..6a145bed24 100644 --- a/packages/frontend/src/components/MkDetailsButton.vue +++ b/packages/frontend/src/components/MkDetailsButton.vue @@ -1,3 +1,8 @@ + +