diff --git a/locales/index.d.ts b/locales/index.d.ts index 74a8598c86..177a3c8160 100755 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -5357,14 +5357,6 @@ export interface Locale extends ILocale { "autoSuspendedForNotResponding": string; }; }; - /** - * ノートの自己消滅 - */ - "scheduledNoteDelete": string; - /** - * このノートは{time}に消滅します - */ - "noteDeletationAt": ParameterizedString<"time">; "_bubbleGame": { /** * 遊び方 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 320ca5c73b..ac182c6a7f 100755 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1337,8 +1337,6 @@ _delivery: manuallySuspended: "手動停止中" goneSuspended: "サーバー削除のため停止中" autoSuspendedForNotResponding: "サーバー応答なしのため停止中" - scheduledNoteDelete: "ノートの自己消滅" - noteDeletationAt: "このノートは{time}に消滅します" _bubbleGame: howToPlay: "遊び方" diff --git "a/packages/backend/migration/1709187210308-scheduled-note-delete.js\n" "b/packages/backend/migration/1709187210308-scheduled-note-delete.js\n" deleted file mode 100644 index 014ec53278..0000000000 --- "a/packages/backend/migration/1709187210308-scheduled-note-delete.js\n" +++ /dev/null @@ -1,11 +0,0 @@ -export class ScheduledNoteDelete1709187210308 { - name = 'ScheduledNoteDelete1709187210308' - - async up(queryRunner) { - await queryRunner.query(`ALTER TABLE "note" ADD "deleteAt" TIMESTAMP WITH TIME ZONE`); - } - - async down(queryRunner) { - await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "deleteAt"`); - } -} \ No newline at end of file diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index a0effc095a..c252336f99 100755 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -148,7 +148,6 @@ type Option = { uri?: string | null; url?: string | null; app?: MiApp | null; - deleteAt?: Date | null; }; @Injectable() @@ -368,10 +367,6 @@ export class NoteCreateService implements OnApplicationShutdown { mentionedUsers = data.apMentions ?? await this.extractMentionedUsers(user, combinedTokens); } - const willCauseNotification = mentionedUsers.some(u => u.host === null) - || (data.visibility === 'specified' && data.visibleUsers?.some(u => u.host === null)) - || data.reply?.userHost === null || (this.isRenote(data) && this.isQuote(data) && data.renote.userHost === null) || false; - // if the host is media-silenced, custom emojis are not allowed if (this.utilityService.isMediaSilencedHost(meta.mediaSilencedHosts, user.host)) emojis = []; @@ -444,7 +439,6 @@ export class NoteCreateService implements OnApplicationShutdown { name: data.name, text: data.text, hasPoll: data.poll != null, - deleteAt: data.deleteAt, cw: data.cw ?? null, tags: tags.map(tag => normalizeForSearch(tag)), emojis, @@ -620,16 +614,6 @@ export class NoteCreateService implements OnApplicationShutdown { }); } - if (data.deleteAt) { - const delay = data.deleteAt.getTime() - Date.now(); - this.queueService.scheduledNoteDeleteQueue.add(note.id, { - noteId: note.id, - }, { - delay, - removeOnComplete: true, - }); - } - if (!silent) { if (this.userEntityService.isLocalUser(user)) this.activeUsersChart.write(user); diff --git a/packages/backend/src/core/QueueModule.ts b/packages/backend/src/core/QueueModule.ts index af956b9d35..b10b8e5899 100755 --- a/packages/backend/src/core/QueueModule.ts +++ b/packages/backend/src/core/QueueModule.ts @@ -12,7 +12,6 @@ import { allSettled } from '@/misc/promise-tracker.js'; import { DeliverJobData, EndedPollNotificationJobData, - ScheduledNoteDeleteJobData, InboxJobData, RelationshipJobData, UserWebhookDeliverJobData, @@ -22,7 +21,6 @@ import type { Provider } from '@nestjs/common'; export type SystemQueue = Bull.Queue>; export type EndedPollNotificationQueue = Bull.Queue; -export type ScheduledNoteDeleteQueue = Bull.Queue; export type DeliverQueue = Bull.Queue; export type InboxQueue = Bull.Queue; export type DbQueue = Bull.Queue; @@ -43,12 +41,6 @@ const $endedPollNotification: Provider = { inject: [DI.config], }; -const $scheduledNoteDelete: Provider = { - provide: 'queue:scheduledNoteDelete', - useFactory: (config: Config) => new Bull.Queue(QUEUE.SCHEDULED_NOTE_DELETE, baseQueueOptions(config, QUEUE.SCHEDULED_NOTE_DELETE)), - inject: [DI.config], -}; - const $deliver: Provider = { provide: 'queue:deliver', useFactory: (config: Config) => new Bull.Queue(QUEUE.DELIVER, baseQueueOptions(config, QUEUE.DELIVER)), @@ -97,7 +89,6 @@ const $systemWebhookDeliver: Provider = { providers: [ $system, $endedPollNotification, - $scheduledNoteDelete, $deliver, $inbox, $db, @@ -109,7 +100,6 @@ const $systemWebhookDeliver: Provider = { exports: [ $system, $endedPollNotification, - $scheduledNoteDelete, $deliver, $inbox, $db, @@ -123,7 +113,6 @@ export class QueueModule implements OnApplicationShutdown { constructor( @Inject('queue:system') public systemQueue: SystemQueue, @Inject('queue:endedPollNotification') public endedPollNotificationQueue: EndedPollNotificationQueue, - @Inject('queue:scheduledNoteDelete') public scheduledNoteDeleteQueue: ScheduledNoteDeleteQueue, @Inject('queue:deliver') public deliverQueue: DeliverQueue, @Inject('queue:inbox') public inboxQueue: InboxQueue, @Inject('queue:db') public dbQueue: DbQueue, @@ -140,7 +129,6 @@ export class QueueModule implements OnApplicationShutdown { await Promise.all([ this.systemQueue.close(), this.endedPollNotificationQueue.close(), - this.scheduledNoteDeleteQueue.close(), this.deliverQueue.close(), this.inboxQueue.close(), this.dbQueue.close(), diff --git a/packages/backend/src/core/QueueService.ts b/packages/backend/src/core/QueueService.ts index cfabb4ef51..be5f10771a 100755 --- a/packages/backend/src/core/QueueService.ts +++ b/packages/backend/src/core/QueueService.ts @@ -26,7 +26,6 @@ import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, - ScheduledNoteDeleteQueue, InboxQueue, ObjectStorageQueue, RelationshipQueue, @@ -46,7 +45,6 @@ export class QueueService { @Inject('queue:system') public systemQueue: SystemQueue, @Inject('queue:endedPollNotification') public endedPollNotificationQueue: EndedPollNotificationQueue, - @Inject('queue:scheduledNoteDelete') public scheduledNoteDeleteQueue: ScheduledNoteDeleteQueue, @Inject('queue:deliver') public deliverQueue: DeliverQueue, @Inject('queue:inbox') public inboxQueue: InboxQueue, @Inject('queue:db') public dbQueue: DbQueue, diff --git a/packages/backend/src/core/entities/NoteEntityService.ts b/packages/backend/src/core/entities/NoteEntityService.ts index 639009405f..493723ac45 100755 --- a/packages/backend/src/core/entities/NoteEntityService.ts +++ b/packages/backend/src/core/entities/NoteEntityService.ts @@ -395,8 +395,6 @@ export class NoteEntityService implements OnModuleInit { withReactionAndUserPairCache: opts.withReactionAndUserPairCache, _hint_: options?._hint_, }) : undefined, - - deleteAt: note.deleteAt?.toISOString() ?? undefined, } : {}), }); diff --git a/packages/backend/src/models/Note.ts b/packages/backend/src/models/Note.ts index 1b9c457d3f..b11e2ec62b 100755 --- a/packages/backend/src/models/Note.ts +++ b/packages/backend/src/models/Note.ts @@ -188,11 +188,6 @@ export class MiNote { }) public hasPoll: boolean; - @Column('timestamp with time zone', { - nullable: true, - }) - public deleteAt: Date | null; - @Index() @Column({ ...id(), diff --git a/packages/backend/src/models/json-schema/note.ts b/packages/backend/src/models/json-schema/note.ts index 65cedbcf3a..432c096e48 100755 --- a/packages/backend/src/models/json-schema/note.ts +++ b/packages/backend/src/models/json-schema/note.ts @@ -152,11 +152,6 @@ export const packedNoteSchema = { }, }, }, - deleteAt: { - type: 'string', - optional: true, nullable: true, - format: 'date-time', - }, emojis: { type: 'object', optional: true, nullable: false, diff --git a/packages/backend/src/queue/QueueProcessorModule.ts b/packages/backend/src/queue/QueueProcessorModule.ts index 7b13f396f6..7daca687a1 100755 --- a/packages/backend/src/queue/QueueProcessorModule.ts +++ b/packages/backend/src/queue/QueueProcessorModule.ts @@ -10,7 +10,6 @@ import { QueueLoggerService } from './QueueLoggerService.js'; import { QueueProcessorService } from './QueueProcessorService.js'; import { DeliverProcessorService } from './processors/DeliverProcessorService.js'; import { EndedPollNotificationProcessorService } from './processors/EndedPollNotificationProcessorService.js'; -import { ScheduledNoteDeleteProcessorService } from './processors/ScheduledNoteDeleteProsessorService.js'; import { InboxProcessorService } from './processors/InboxProcessorService.js'; import { UserWebhookDeliverProcessorService } from './processors/UserWebhookDeliverProcessorService.js'; import { SystemWebhookDeliverProcessorService } from './processors/SystemWebhookDeliverProcessorService.js'; @@ -80,7 +79,6 @@ import { RelationshipProcessorService } from './processors/RelationshipProcessor UserWebhookDeliverProcessorService, SystemWebhookDeliverProcessorService, EndedPollNotificationProcessorService, - ScheduledNoteDeleteProcessorService, DeliverProcessorService, InboxProcessorService, AggregateRetentionProcessorService, diff --git a/packages/backend/src/queue/QueueProcessorService.ts b/packages/backend/src/queue/QueueProcessorService.ts index c9582505b5..7a6169bf9c 100755 --- a/packages/backend/src/queue/QueueProcessorService.ts +++ b/packages/backend/src/queue/QueueProcessorService.ts @@ -13,7 +13,6 @@ import { bindThis } from '@/decorators.js'; import { UserWebhookDeliverProcessorService } from './processors/UserWebhookDeliverProcessorService.js'; import { SystemWebhookDeliverProcessorService } from './processors/SystemWebhookDeliverProcessorService.js'; import { EndedPollNotificationProcessorService } from './processors/EndedPollNotificationProcessorService.js'; -import { ScheduledNoteDeleteProcessorService } from './processors/ScheduledNoteDeleteProsessorService.js'; import { DeliverProcessorService } from './processors/DeliverProcessorService.js'; import { InboxProcessorService } from './processors/InboxProcessorService.js'; import { DeleteDriveFilesProcessorService } from './processors/DeleteDriveFilesProcessorService.js'; @@ -85,7 +84,6 @@ export class QueueProcessorService implements OnApplicationShutdown { private relationshipQueueWorker: Bull.Worker; private objectStorageQueueWorker: Bull.Worker; private endedPollNotificationQueueWorker: Bull.Worker; - private scheduledNoteDeleteQueueWorker: Bull.Worker; constructor( @Inject(DI.config) @@ -95,7 +93,6 @@ export class QueueProcessorService implements OnApplicationShutdown { private userWebhookDeliverProcessorService: UserWebhookDeliverProcessorService, private systemWebhookDeliverProcessorService: SystemWebhookDeliverProcessorService, private endedPollNotificationProcessorService: EndedPollNotificationProcessorService, - private scheduledNoteDeleteProcessorService: ScheduledNoteDeleteProcessorService, private deliverProcessorService: DeliverProcessorService, private inboxProcessorService: InboxProcessorService, private deleteDriveFilesProcessorService: DeleteDriveFilesProcessorService, @@ -516,12 +513,6 @@ export class QueueProcessorService implements OnApplicationShutdown { }); } //#endregion - - //#region scheduled note delete - this.scheduledNoteDeleteQueueWorker = new Bull.Worker(QUEUE.SCHEDULED_NOTE_DELETE, (job) => this.scheduledNoteDeleteProcessorService.process(job), { - ...baseQueueOptions(this.config, QUEUE.SCHEDULED_NOTE_DELETE), - autorun: false, - }); } @bindThis @@ -536,7 +527,6 @@ export class QueueProcessorService implements OnApplicationShutdown { this.relationshipQueueWorker.run(), this.objectStorageQueueWorker.run(), this.endedPollNotificationQueueWorker.run(), - this.scheduledNoteDeleteQueueWorker.run(), ]); } @@ -552,7 +542,6 @@ export class QueueProcessorService implements OnApplicationShutdown { this.relationshipQueueWorker.close(), this.objectStorageQueueWorker.close(), this.endedPollNotificationQueueWorker.close(), - this.scheduledNoteDeleteQueueWorker.close(), ]); } diff --git a/packages/backend/src/queue/const.ts b/packages/backend/src/queue/const.ts index ee24c5842c..67f689b618 100755 --- a/packages/backend/src/queue/const.ts +++ b/packages/backend/src/queue/const.ts @@ -11,7 +11,6 @@ export const QUEUE = { INBOX: 'inbox', SYSTEM: 'system', ENDED_POLL_NOTIFICATION: 'endedPollNotification', - SCHEDULED_NOTE_DELETE: 'scheduledNoteDelete', DB: 'db', RELATIONSHIP: 'relationship', OBJECT_STORAGE: 'objectStorage', diff --git "a/packages/backend/src/queue/processors/ScheduledNoteDeleteProsessorService.ts\n" "b/packages/backend/src/queue/processors/ScheduledNoteDeleteProsessorService.ts\n" deleted file mode 100644 index 5f0a45205b..0000000000 --- "a/packages/backend/src/queue/processors/ScheduledNoteDeleteProsessorService.ts\n" +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import { Inject, Injectable } from '@nestjs/common'; -import { DI } from '@/di-symbols.js'; -import type { NotesRepository, UsersRepository } from '@/models/_.js'; -import type Logger from '@/logger.js'; -import { bindThis } from '@/decorators.js'; -import { NoteDeleteService } from '@/core/NoteDeleteService.js'; -import { QueueLoggerService } from '../QueueLoggerService.js'; -import type * as Bull from 'bullmq'; -import type { ScheduledNoteDeleteJobData } from '../types.js'; - -@Injectable() -export class ScheduledNoteDeleteProcessorService { - private logger: Logger; - - constructor( - @Inject(DI.notesRepository) - private notesRepository: NotesRepository, - - @Inject(DI.usersRepository) - private usersRepository: UsersRepository, - - private noteDeleteService: NoteDeleteService, - private queueLoggerService: QueueLoggerService, - ) { - this.logger = this.queueLoggerService.logger.createSubLogger('scheduled-note-delete'); - } - - @bindThis - public async process(job: Bull.Job): Promise { - const note = await this.notesRepository.findOneBy({ id: job.data.noteId }); - if (note == null) { - return; - } - - const user = await this.usersRepository.findOneBy({ id: note.userId }); - if (user == null) { - return; - } - - await this.noteDeleteService.delete(user, note); - this.logger.info(`Deleted note ${note.id}`); - } -} \ No newline at end of file diff --git a/packages/backend/src/queue/types.ts b/packages/backend/src/queue/types.ts index e783a55976..c0d246ebbc 100755 --- a/packages/backend/src/queue/types.ts +++ b/packages/backend/src/queue/types.ts @@ -131,10 +131,6 @@ export type EndedPollNotificationJobData = { noteId: MiNote['id']; }; -export type ScheduledNoteDeleteJobData = { - noteId: MiNote['id']; -}; - export type SystemWebhookDeliverJobData = { type: string; content: unknown; diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 536ee1bb6f..626f03b758 100755 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -104,18 +104,6 @@ export const meta = { id: '04da457d-b083-4055-9082-955525eda5a5', }, - cannotScheduleDeleteEarlierThanNow: { - message: 'Scheduled delete time is earlier than now.', - code: 'CANNOT_SCHEDULE_DELETE_EARLIER_THAN_NOW', - id: '05655b05-5a09-47c3-af56-de0c0900791a', - }, - - cannotScheduleDeleteLaterThanOneYear: { - message: 'Scheduled delete time is later than one year.', - code: 'CANNOT_SCHEDULE_DELETE_LATER_THAN_ONE_YEAR', - id: 'b02b5edb-2741-4841-b692-d9893f1e6515', - }, - noSuchChannel: { message: 'No such channel.', code: 'NO_SUCH_CHANNEL', @@ -209,14 +197,6 @@ export const paramDef = { }, required: ['choices'], }, - scheduledDelete: { - type: 'object', - nullable: true, - properties: { - deleteAt: { type: 'integer', nullable: true }, - deleteAfter: { type: 'integer', nullable: true, minimum: 1 }, - }, - }, }, // (re)note with text, files and poll are optional if: { @@ -385,21 +365,6 @@ export default class extends Endpoint { // eslint- } } - - if (ps.scheduledDelete) { - if (typeof ps.scheduledDelete.deleteAt === 'number') { - if (ps.scheduledDelete.deleteAt < Date.now()) { - throw new ApiError(meta.errors.cannotScheduleDeleteEarlierThanNow); - } - } else if (typeof ps.scheduledDelete.deleteAfter === 'number') { - ps.scheduledDelete.deleteAt = Date.now() + ps.scheduledDelete.deleteAfter; - } - - if (ps.scheduledDelete.deleteAt && ps.scheduledDelete.deleteAt > Date.now() + ms('1year')) { - throw new ApiError(meta.errors.cannotScheduleDeleteLaterThanOneYear); - } - } - let channel: MiChannel | null = null; if (ps.channelId != null) { channel = await this.channelsRepository.findOneBy({ id: ps.channelId, isArchived: false }); @@ -431,7 +396,6 @@ export default class extends Endpoint { // eslint- apMentions: ps.noExtractMentions ? [] : undefined, apHashtags: ps.noExtractHashtags ? [] : undefined, apEmojis: ps.noExtractEmojis ? [] : undefined, - deleteAt: ps.scheduledDelete?.deleteAt ? new Date(ps.scheduledDelete.deleteAt) : null, }); return { diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index f74d381f63..0af90a844b 100755 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -29,7 +29,6 @@ import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, - ScheduledNoteDeleteQueue, InboxQueue, ObjectStorageQueue, SystemQueue, @@ -117,7 +116,6 @@ export class ClientServerService { @Inject('queue:system') public systemQueue: SystemQueue, @Inject('queue:endedPollNotification') public endedPollNotificationQueue: EndedPollNotificationQueue, - @Inject('queue:scheduledNoteDelete') public scheduledNoteDeleteQueue: ScheduledNoteDeleteQueue, @Inject('queue:deliver') public deliverQueue: DeliverQueue, @Inject('queue:inbox') public inboxQueue: InboxQueue, @Inject('queue:db') public dbQueue: DbQueue, @@ -250,7 +248,6 @@ export class ClientServerService { queues: [ this.systemQueue, this.endedPollNotificationQueue, - this.scheduledNoteDeleteQueue, this.deliverQueue, this.inboxQueue, this.dbQueue, diff --git a/packages/frontend/src/components/MkDeleteScheduleEditor.vue b/packages/frontend/src/components/MkDeleteScheduleEditor.vue deleted file mode 100644 index dc09d66b41..0000000000 --- a/packages/frontend/src/components/MkDeleteScheduleEditor.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 3754a3dbe9..83bfd12205 100755 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -116,7 +116,6 @@ SPDX-License-Identifier: AGPL-3.0-only - {{ i18n.ts.scheduledNoteDelete }}: - @@ -112,7 +110,6 @@ import MkNoteSimple from '@/components/MkNoteSimple.vue'; import MkNotePreview from '@/components/MkNotePreview.vue'; import XPostFormAttaches from '@/components/MkPostFormAttaches.vue'; import MkPollEditor, { type PollEditorModelValue } from '@/components/MkPollEditor.vue'; -import MkDeleteScheduleEditor, { type DeleteScheduleEditorModelValue } from '@/components/MkDeleteScheduleEditor.vue'; import { host, url } from '@/config.js'; import { erase, unique } from '@/scripts/array.js'; import { extractMentions } from '@/scripts/extract-mentions.js'; @@ -185,7 +182,6 @@ const posted = ref(false); const text = ref(props.initialText ?? ''); const files = ref(props.initialFiles ?? []); const poll = ref(null); -const scheduledNoteDelete = ref(null); const useCw = ref(!!props.initialCw); const showPreview = ref(defaultStore.state.showPreview); watch(showPreview, () => defaultStore.set('showPreview', showPreview.value)); @@ -370,7 +366,6 @@ function watchForDraft() { watch(useCw, () => saveDraft()); watch(cw, () => saveDraft()); watch(poll, () => saveDraft()); - watch(scheduledNoteDelete, () => saveDraft()); watch(files, () => saveDraft(), { deep: true }); watch(visibility, () => saveDraft()); watch(localOnly, () => saveDraft()); @@ -426,17 +421,6 @@ function togglePoll() { } } -function toggleScheduledNoteDelete() { - if (scheduledNoteDelete.value) { - scheduledNoteDelete.value = null; - } else { - scheduledNoteDelete.value = { - deleteAt: null, - deleteAfter: null, - }; - } -} - function addTag(tag: string) { insertTextAtCursor(textareaEl.value, ` #${tag} `); } @@ -731,7 +715,6 @@ function saveDraft() { localOnly: localOnly.value, files: files.value, poll: poll.value, - scheduledNoteDelete: scheduledNoteDelete.value, visibleUserIds: visibility.value === 'specified' ? visibleUsers.value.map(x => x.id) : undefined, quoteId: quoteId.value, reactionAcceptance: reactionAcceptance.value, @@ -811,7 +794,6 @@ async function post(ev?: MouseEvent) { renoteId: props.renote ? props.renote.id : quoteId.value ? quoteId.value : undefined, channelId: props.channel ? props.channel.id : undefined, poll: poll.value, - scheduledDelete: scheduledNoteDelete.value, cw: useCw.value ? cw.value ?? '' : null, localOnly: localOnly.value, visibility: visibility.value, @@ -1040,9 +1022,6 @@ onMounted(() => { if (draft.data.poll) { poll.value = draft.data.poll; } - if (draft.data.scheduledNoteDelete) { - scheduledNoteDelete.value = draft.data.scheduledNoteDelete; - } if (draft.data.visibleUserIds) { misskeyApi('users/show', { userIds: draft.data.visibleUserIds }).then(users => { users.forEach(u => pushVisibleUser(u)); @@ -1070,12 +1049,6 @@ onMounted(() => { expiredAfter: null, }; } - if (init.deleteAt) { - scheduledNoteDelete.value = { - deleteAt: init.deleteAt ? (new Date(init.deleteAt)).getTime() : null, - deleteAfter: null, - }; - } if (init.visibleUserIds) { misskeyApi('users/show', { userIds: init.visibleUserIds }).then(users => { users.forEach(u => pushVisibleUser(u)); diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md index df35a13c61..87fda5568e 100755 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -2841,7 +2841,7 @@ type PartialRolePolicyOverride = Partial<{ }>; // @public (undocumented) -export const permissions: readonly ["read:account", "write:account", "read:blocks", "write:blocks", "read:drive", "write:drive", "read:favorites", "write:favorites", "read:following", "write:following", "read:messaging", "write:messaging", "read:mutes", "write:mutes", "write:notes", "read:notifications", "write:notifications", "read:reactions", "write:reactions", "write:votes", "read:pages", "write:pages", "write:page-likes", "read:page-likes", "read:user-groups", "write:user-groups", "read:channels", "write:channels", "read:gallery", "write:gallery", "read:gallery-likes", "write:gallery-likes", "read:flash", "write:flash", "read:flash-likes", "write:flash-likes", "read:admin:abuse-user-reports", "write:admin:delete-account", "write:admin:delete-all-files-of-a-user", "read:admin:index-stats", "read:admin:table-stats", "read:admin:user-ips", "read:admin:meta", "write:admin:reset-password", "write:admin:resolve-abuse-user-report", "write:admin:send-email", "read:admin:server-info", "read:admin:show-moderation-log", "read:admin:show-user", "write:admin:suspend-user", "write:admin:approve-user", "write:admin:nsfw-user", "write:admin:unnsfw-user", "write:admin:silence-user", "write:admin:unsilence-user", "write:admin:unset-user-avatar", "write:admin:unset-user-banner", "write:admin:unsuspend-user", "write:admin:meta", "write:admin:user-note", "write:admin:roles", "read:admin:roles", "write:admin:relays", "read:admin:relays", "write:admin:invite-codes", "read:admin:invite-codes", "write:admin:announcements", "read:admin:announcements", "write:admin:avatar-decorations", "read:admin:avatar-decorations", "write:admin:federation", "write:admin:account", "read:admin:account", "write:admin:emoji", "read:admin:emoji", "write:admin:queue", "read:admin:queue", "write:admin:promo", "write:admin:drive", "read:admin:drive", "write:admin:ad", "read:admin:ad", "write:invite-codes", "read:invite-codes", "write:clip-favorite", "read:clip-favorite", "read:federation", "write:report-abuse","read:integrations","write:integrations"]; +export const permissions: readonly ["read:account", "write:account", "read:blocks", "write:blocks", "read:drive", "write:drive", "read:favorites", "write:favorites", "read:following", "write:following", "read:messaging", "write:messaging", "read:mutes", "write:mutes", "write:notes", "read:notifications", "write:notifications", "read:reactions", "write:reactions", "write:votes", "read:pages", "write:pages", "write:page-likes", "read:page-likes", "read:user-groups", "write:user-groups", "read:channels", "write:channels", "read:gallery", "write:gallery", "read:gallery-likes", "write:gallery-likes", "read:flash", "write:flash", "read:flash-likes", "write:flash-likes", "read:admin:abuse-user-reports", "write:admin:delete-account", "write:admin:delete-all-files-of-a-user", "read:admin:index-stats", "read:admin:table-stats", "read:admin:user-ips", "read:admin:meta", "write:admin:reset-password", "write:admin:resolve-abuse-user-report", "write:admin:send-email", "read:admin:server-info", "read:admin:show-moderation-log", "read:admin:show-user", "write:admin:suspend-user", "write:admin:approve-user", "write:admin:nsfw-user", "write:admin:unnsfw-user", "write:admin:silence-user", "write:admin:unsilence-user", "write:admin:unset-user-avatar", "write:admin:unset-user-banner", "write:admin:unsuspend-user", "write:admin:meta", "write:admin:user-note", "write:admin:roles", "read:admin:roles", "write:admin:relays", "read:admin:relays", "write:admin:invite-codes", "read:admin:invite-codes", "write:admin:announcements", "read:admin:announcements", "write:admin:avatar-decorations", "read:admin:avatar-decorations", "write:admin:federation", "write:admin:account", "read:admin:account", "write:admin:emoji", "read:admin:emoji", "write:admin:queue", "read:admin:queue", "write:admin:promo", "write:admin:drive", "read:admin:drive", "write:admin:ad", "read:admin:ad", "write:invite-codes", "read:invite-codes", "write:clip-favorite", "read:clip-favorite", "read:federation", "write:report-abuse"]; // @public (undocumented) type PingResponse = operations['ping']['responses']['200']['content']['application/json']; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index b7482e92c5..562c498190 100755 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -4204,8 +4204,6 @@ export type components = { votes: number; }[]; }) | null; - /** Format: date-time */ - deleteAt?: string | null; emojis?: { [key: string]: string; }; @@ -5287,7 +5285,6 @@ export type operations = { tosUrl: string | null; uri: string; version: string; - blockMentionsFromUnfamiliarRemoteUsers: boolean; urlPreviewEnabled: boolean; urlPreviewTimeout: number; urlPreviewMaximumContentLength: number; @@ -9804,7 +9801,6 @@ export type operations = { perUserHomeTimelineCacheMax?: number; perUserListTimelineCacheMax?: number; notesPerOneAd?: number; - blockMentionsFromUnfamiliarRemoteUsers?: boolean; silencedHosts?: string[] | null; mediaSilencedHosts?: string[] | null; /** @description [Deprecated] Use "urlPreviewSummaryProxyUrl" instead. */ @@ -21901,10 +21897,6 @@ export type operations = { expiresAt?: number | null; expiredAfter?: number | null; }) | null; - scheduledDelete?: ({ - deleteAt?: number | null; - deleteAfter?: number | null; - }) | null; }; }; };