From 0595dccbfd65023eb7fc2d86b8ec35b32eedc197 Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 24 Jul 2024 19:25:07 +0900 Subject: [PATCH] Revert "refactor? (backend): move consts to backend-rs" This commit partially reverts b9c3dfbd3d473cb2cee20c467eeae780bc401271. --- packages/backend-rs/index.d.ts | 23 ----- packages/backend-rs/index.js | 7 -- packages/backend-rs/src/config/constant.rs | 70 ------------- packages/backend-rs/src/config/mod.rs | 1 - packages/backend/src/const.ts | 98 +++++++++++++++++++ packages/backend/src/misc/is-mime-image.ts | 2 +- .../backend/src/misc/skipped-instances.ts | 3 +- .../backend/src/models/repositories/user.ts | 2 +- .../src/server/api/endpoints/ap/get.ts | 2 +- .../src/server/api/endpoints/ap/show.ts | 3 +- .../server/api/endpoints/blocking/create.ts | 2 +- .../server/api/endpoints/blocking/delete.ts | 2 +- .../endpoints/compatibility/custom-emojis.ts | 2 +- .../api/endpoints/drive/files/create.ts | 3 +- .../endpoints/drive/files/upload-from-url.ts | 2 +- .../api/endpoints/export-custom-emojis.ts | 2 +- .../server/api/endpoints/following/create.ts | 2 +- .../server/api/endpoints/following/delete.ts | 2 +- .../api/endpoints/following/invalidate.ts | 2 +- .../api/endpoints/gallery/posts/create.ts | 3 +- .../api/endpoints/gallery/posts/update.ts | 2 +- .../api/endpoints/get-online-users-count.ts | 2 +- .../server/api/endpoints/i/export-blocking.ts | 2 +- .../api/endpoints/i/export-followers.ts | 2 +- .../api/endpoints/i/export-following.ts | 2 +- .../src/server/api/endpoints/i/export-mute.ts | 2 +- .../server/api/endpoints/i/export-notes.ts | 2 +- .../api/endpoints/i/export-user-lists.ts | 2 +- .../server/api/endpoints/i/import-blocking.ts | 2 +- .../api/endpoints/i/import-following.ts | 2 +- .../server/api/endpoints/i/import-muting.ts | 2 +- .../server/api/endpoints/i/import-posts.ts | 3 +- .../api/endpoints/i/import-user-lists.ts | 2 +- .../src/server/api/endpoints/i/known-as.ts | 3 +- .../src/server/api/endpoints/i/move.ts | 3 +- .../server/api/endpoints/i/update-email.ts | 3 +- .../endpoints/messaging/messages/delete.ts | 2 +- .../src/server/api/endpoints/notes/create.ts | 2 +- .../src/server/api/endpoints/notes/delete.ts | 2 +- .../src/server/api/endpoints/notes/edit.ts | 3 +- .../api/endpoints/notes/make-private.ts | 2 +- .../api/endpoints/notes/reactions/delete.ts | 2 +- .../server/api/endpoints/notes/unrenote.ts | 2 +- .../src/server/api/endpoints/pages/create.ts | 3 +- .../src/server/api/endpoints/pages/update.ts | 2 +- .../api/endpoints/request-reset-password.ts | 3 +- .../api/endpoints/users/recommendation.ts | 2 +- .../src/server/api/mastodon/helpers/misc.ts | 2 +- .../src/server/file/send-drive-file.ts | 2 +- .../backend/src/server/proxy/proxy-media.ts | 2 +- packages/backend/src/server/web/index.ts | 3 +- .../backend/src/services/drive/add-file.ts | 2 +- 52 files changed, 156 insertions(+), 149 deletions(-) delete mode 100644 packages/backend-rs/src/config/constant.rs create mode 100644 packages/backend/src/const.ts diff --git a/packages/backend-rs/index.d.ts b/packages/backend-rs/index.d.ts index 728c66a6d8..cdd960a96d 100644 --- a/packages/backend-rs/index.d.ts +++ b/packages/backend-rs/index.d.ts @@ -270,8 +270,6 @@ export declare function cpuInfo(): Cpu export declare function cpuUsage(): number -export const DAY: number - export interface DbConfig { host: string port: number @@ -380,17 +378,6 @@ export declare function fetchMeta(): Promise /** Fetches and returns the NodeInfo (version 2.0) of a remote server. */ export declare function fetchNodeinfo(host: string): Promise -/** - * List of file types allowed to be viewed directly in the browser - * - * Anything not included here will be responded as application/octet-stream - * SVG is not allowed because it generates XSS (TODO: fix this and later allow it to be viewed directly) - * * - * * - * * - */ -export const FILE_TYPE_BROWSERSAFE: string[] - export interface Following { id: string createdAt: DateTimeWithTimeZone @@ -492,8 +479,6 @@ export interface Hashtag { attachedRemoteUsersCount: number } -export const HOUR: number - export interface IdConfig { length?: number fingerprint?: string @@ -754,8 +739,6 @@ export interface Migrations { name: string } -export const MINUTE: number - export interface ModerationLog { id: string createdAt: DateTimeWithTimeZone @@ -1225,8 +1208,6 @@ export interface ReplyMuting { /** Returns `true` if `src` does not contain suspicious characters like `%`. */ export declare function safeForSql(src: string): boolean -export const SECOND: number - export declare function sendPushNotification(receiverUserId: string, kind: PushNotificationKind, content: any): Promise export interface ServerConfig { @@ -1422,10 +1403,6 @@ export interface User { readCatLanguage: boolean } -export const USER_ACTIVE_THRESHOLD: number - -export const USER_ONLINE_THRESHOLD: number - export type UserEmojiModPerm = 'add'| 'full'| 'mod'| diff --git a/packages/backend-rs/index.js b/packages/backend-rs/index.js index d145b64ed9..ad7b94acd8 100644 --- a/packages/backend-rs/index.js +++ b/packages/backend-rs/index.js @@ -370,7 +370,6 @@ module.exports.countLocalUsers = nativeBinding.countLocalUsers module.exports.countReactions = nativeBinding.countReactions module.exports.cpuInfo = nativeBinding.cpuInfo module.exports.cpuUsage = nativeBinding.cpuUsage -module.exports.DAY = nativeBinding.DAY module.exports.decodeReaction = nativeBinding.decodeReaction module.exports.DriveFileEvent = nativeBinding.DriveFileEvent module.exports.DriveFileUsageHint = nativeBinding.DriveFileUsageHint @@ -379,7 +378,6 @@ module.exports.extractHashtags = nativeBinding.extractHashtags module.exports.extractHost = nativeBinding.extractHost module.exports.fetchMeta = nativeBinding.fetchMeta module.exports.fetchNodeinfo = nativeBinding.fetchNodeinfo -module.exports.FILE_TYPE_BROWSERSAFE = nativeBinding.FILE_TYPE_BROWSERSAFE module.exports.formatMilliseconds = nativeBinding.formatMilliseconds module.exports.generateSecureRandomString = nativeBinding.generateSecureRandomString module.exports.generateUserToken = nativeBinding.generateUserToken @@ -392,7 +390,6 @@ module.exports.getNoteSummary = nativeBinding.getNoteSummary module.exports.getTimestamp = nativeBinding.getTimestamp module.exports.greet = nativeBinding.greet module.exports.hashPassword = nativeBinding.hashPassword -module.exports.HOUR = nativeBinding.HOUR module.exports.Inbound = nativeBinding.Inbound module.exports.initializeRustLogger = nativeBinding.initializeRustLogger module.exports.InternalActor = nativeBinding.InternalActor @@ -409,7 +406,6 @@ module.exports.latestVersion = nativeBinding.latestVersion module.exports.loadConfig = nativeBinding.loadConfig module.exports.memoryUsage = nativeBinding.memoryUsage module.exports.metaToPugArgs = nativeBinding.metaToPugArgs -module.exports.MINUTE = nativeBinding.MINUTE module.exports.MutedNoteReason = nativeBinding.MutedNoteReason module.exports.nodeinfo_2_0 = nativeBinding.nodeinfo_2_0 module.exports.nodeinfo_2_1 = nativeBinding.nodeinfo_2_1 @@ -434,7 +430,6 @@ module.exports.PushSubscriptionType = nativeBinding.PushSubscriptionType module.exports.RelayStatus = nativeBinding.RelayStatus module.exports.removeOldAttestationChallenges = nativeBinding.removeOldAttestationChallenges module.exports.safeForSql = nativeBinding.safeForSql -module.exports.SECOND = nativeBinding.SECOND module.exports.sendPushNotification = nativeBinding.sendPushNotification module.exports.shouldNyaify = nativeBinding.shouldNyaify module.exports.showServerInfo = nativeBinding.showServerInfo @@ -450,8 +445,6 @@ module.exports.updateAntennaCache = nativeBinding.updateAntennaCache module.exports.updateAntennasOnNewNote = nativeBinding.updateAntennasOnNewNote module.exports.updateMetaCache = nativeBinding.updateMetaCache module.exports.updateNodeinfoCache = nativeBinding.updateNodeinfoCache -module.exports.USER_ACTIVE_THRESHOLD = nativeBinding.USER_ACTIVE_THRESHOLD -module.exports.USER_ONLINE_THRESHOLD = nativeBinding.USER_ONLINE_THRESHOLD module.exports.UserEmojiModPerm = nativeBinding.UserEmojiModPerm module.exports.UserProfileFfvisibility = nativeBinding.UserProfileFfvisibility module.exports.UserProfileMutingNotificationTypes = nativeBinding.UserProfileMutingNotificationTypes diff --git a/packages/backend-rs/src/config/constant.rs b/packages/backend-rs/src/config/constant.rs deleted file mode 100644 index 7e6b50fa52..0000000000 --- a/packages/backend-rs/src/config/constant.rs +++ /dev/null @@ -1,70 +0,0 @@ -//! This module is used in the TypeScript backend only. - -#[macros::ts_export] -pub const SECOND: i32 = 1000; -#[macros::ts_export] -pub const MINUTE: i32 = 60 * SECOND; -#[macros::ts_export] -pub const HOUR: i32 = 60 * MINUTE; -#[macros::ts_export] -pub const DAY: i32 = 24 * HOUR; - -#[macros::ts_export] -pub const USER_ONLINE_THRESHOLD: i32 = 10 * MINUTE; -#[macros::ts_export] -pub const USER_ACTIVE_THRESHOLD: i32 = 3 * DAY; - -/// List of file types allowed to be viewed directly in the browser -/// -/// Anything not included here will be responded as application/octet-stream -/// SVG is not allowed because it generates XSS (TODO: fix this and later allow it to be viewed directly) -/// * -/// * -/// * -#[macros::ts_export] -pub const FILE_TYPE_BROWSERSAFE: [&str; 41] = [ - // Images - "image/png", - "image/gif", // TODO: deprecated, but still used by old posts, new gifs should be converted to webp in the future - "image/jpeg", - "image/webp", // TODO: make this the default image format - "image/apng", - "image/bmp", - "image/tiff", - "image/x-icon", - "image/avif", // not as good supported now, but its good to introduce initial support for the future - // OggS - "audio/opus", - "video/ogg", - "audio/ogg", - "application/ogg", - // ISO/IEC base media file format - "video/quicktime", - "video/mp4", // TODO: we need to check for av1 later - "video/vnd.avi", // also av1 - "audio/mp4", - "video/x-m4v", - "audio/x-m4a", - "video/3gpp", - "video/3gpp2", - "video/3gp2", - "audio/3gpp", - "audio/3gpp2", - "audio/3gp2", - "video/mpeg", - "audio/mpeg", - "video/webm", - "audio/webm", - "audio/aac", - "audio/x-flac", - "audio/flac", - "audio/vnd.wave", - "audio/mod", - "audio/x-mod", - "audio/s3m", - "audio/x-s3m", - "audio/xm", - "audio/x-xm", - "audio/it", - "audio/x-it", -]; diff --git a/packages/backend-rs/src/config/mod.rs b/packages/backend-rs/src/config/mod.rs index a1cfb7fd75..e447d4b059 100644 --- a/packages/backend-rs/src/config/mod.rs +++ b/packages/backend-rs/src/config/mod.rs @@ -3,6 +3,5 @@ pub use meta::local_server_info; pub use server::CONFIG; -pub mod constant; pub mod meta; pub mod server; diff --git a/packages/backend/src/const.ts b/packages/backend/src/const.ts new file mode 100644 index 0000000000..fee1e3e1ea --- /dev/null +++ b/packages/backend/src/const.ts @@ -0,0 +1,98 @@ +import { config } from "@/config.js"; + +// If you change DB_* values, you must also change the DB schema. +/** + * Maximum note text length that can be stored in DB. + * Surrogate pairs count as one + * + * NOTE: this can hypothetically be pushed further + * (up to 250000000), but will likely cause truncations + * and incompatibilities with other servers, + * as well as potential performance issues. + */ +export const DB_MAX_NOTE_TEXT_LENGTH = 100000; + +/** + * Maximum image description length that can be stored in DB. + * Surrogate pairs count as one + */ +export const DB_MAX_IMAGE_COMMENT_LENGTH = 8192; + + +export const MAX_NOTE_TEXT_LENGTH = Math.min( + config.maxNoteLength ?? 3000, + DB_MAX_NOTE_TEXT_LENGTH, +); +export const MAX_CAPTION_TEXT_LENGTH = Math.min( + config.maxCaptionLength ?? 1500, + DB_MAX_IMAGE_COMMENT_LENGTH, +); + +export const SECOND = 1000; +export const MINUTE = 60 * SECOND; +export const HOUR = 60 * MINUTE; +export const DAY = 24 * HOUR; + +export const USER_ONLINE_THRESHOLD = 10 * MINUTE; +export const USER_ACTIVE_THRESHOLD = 3 * DAY; + +// List of file types allowed to be viewed directly in the browser +// Anything not included here will be responded as application/octet-stream +// SVG is not allowed because it generates XSS <- we need to fix this and later allow it to be viewed directly +export const FILE_TYPE_BROWSERSAFE = [ + // Images + "image/png", + "image/gif", // TODO: deprecated, but still used by old notes, new gifs should be converted to webp in the future + "image/jpeg", + "image/webp", // TODO: make this the default image format + "image/apng", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/avif", // not as good supported now, but its good to introduce initial support for the future + + // OggS + "audio/opus", + "video/ogg", + "audio/ogg", + "application/ogg", + + // ISO/IEC base media file format + "video/quicktime", + "video/mp4", // TODO: we need to check for av1 later + "video/vnd.avi", // also av1 + "audio/mp4", + "video/x-m4v", + "audio/x-m4a", + "video/3gpp", + "video/3gpp2", + "video/3gp2", + "audio/3gpp", + "audio/3gpp2", + "audio/3gp2", + + "video/mpeg", + "audio/mpeg", + + "video/webm", + "audio/webm", + + "audio/aac", + "audio/x-flac", + "audio/flac", + "audio/vnd.wave", + + "audio/mod", + "audio/x-mod", + "audio/s3m", + "audio/x-s3m", + "audio/xm", + "audio/x-xm", + "audio/it", + "audio/x-it", +]; +/* +https://github.com/sindresorhus/file-type/blob/main/supported.js +https://github.com/sindresorhus/file-type/blob/main/core.js +https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers +*/ diff --git a/packages/backend/src/misc/is-mime-image.ts b/packages/backend/src/misc/is-mime-image.ts index 83fdae442e..a8ba62ec20 100644 --- a/packages/backend/src/misc/is-mime-image.ts +++ b/packages/backend/src/misc/is-mime-image.ts @@ -1,4 +1,4 @@ -import { FILE_TYPE_BROWSERSAFE } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; const dictionary = { "safe-file": FILE_TYPE_BROWSERSAFE, diff --git a/packages/backend/src/misc/skipped-instances.ts b/packages/backend/src/misc/skipped-instances.ts index 4e720ce2d4..c57c2b9c57 100644 --- a/packages/backend/src/misc/skipped-instances.ts +++ b/packages/backend/src/misc/skipped-instances.ts @@ -1,5 +1,6 @@ import { Brackets } from "typeorm"; -import { isBlockedServer, DAY } from "backend-rs"; +import { isBlockedServer } from "backend-rs"; +import { DAY } from "@/const.js"; import { Instances } from "@/models/index.js"; import type { Instance } from "@/models/entities/instance.js"; diff --git a/packages/backend/src/models/repositories/user.ts b/packages/backend/src/models/repositories/user.ts index e6c8f2517c..c04fb9750c 100644 --- a/packages/backend/src/models/repositories/user.ts +++ b/packages/backend/src/models/repositories/user.ts @@ -7,7 +7,7 @@ import type { Packed } from "@/misc/schema.js"; import type { Promiseable } from "@/prelude/await-all.js"; import { awaitAll } from "@/prelude/await-all.js"; import { populateEmojis } from "@/misc/populate-emojis.js"; -import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from "backend-rs"; +import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from "@/const.js"; import { Cache } from "@/misc/cache.js"; import { db } from "@/db/postgre.js"; import { isActor, getApId } from "@/remote/activitypub/type.js"; diff --git a/packages/backend/src/server/api/endpoints/ap/get.ts b/packages/backend/src/server/api/endpoints/ap/get.ts index 72baadb676..5159ce3b4a 100644 --- a/packages/backend/src/server/api/endpoints/ap/get.ts +++ b/packages/backend/src/server/api/endpoints/ap/get.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import Resolver from "@/remote/activitypub/resolver.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["federation"], diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts index a24654b2dd..bf7d1a1986 100644 --- a/packages/backend/src/server/api/endpoints/ap/show.ts +++ b/packages/backend/src/server/api/endpoints/ap/show.ts @@ -4,7 +4,8 @@ import { createNote } from "@/remote/activitypub/models/note.js"; import DbResolver from "@/remote/activitypub/db-resolver.js"; import Resolver from "@/remote/activitypub/resolver.js"; import { ApiError } from "@/server/api/error.js"; -import { MINUTE, extractHost, isBlockedServer } from "backend-rs"; +import { MINUTE } from "@/const.js"; +import { extractHost, isBlockedServer } from "backend-rs"; import { Users, Notes } from "@/models/index.js"; import type { Note } from "@/models/entities/note.js"; import type { CacheableLocalUser, User } from "@/models/entities/user.js"; diff --git a/packages/backend/src/server/api/endpoints/blocking/create.ts b/packages/backend/src/server/api/endpoints/blocking/create.ts index a2c58aea50..944eb327be 100644 --- a/packages/backend/src/server/api/endpoints/blocking/create.ts +++ b/packages/backend/src/server/api/endpoints/blocking/create.ts @@ -3,7 +3,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { getUser } from "@/server/api/common/getters.js"; import { Blockings, NoteWatchings, Users } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["account"], diff --git a/packages/backend/src/server/api/endpoints/blocking/delete.ts b/packages/backend/src/server/api/endpoints/blocking/delete.ts index bdd930f0df..5304bcc7bc 100644 --- a/packages/backend/src/server/api/endpoints/blocking/delete.ts +++ b/packages/backend/src/server/api/endpoints/blocking/delete.ts @@ -3,7 +3,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { getUser } from "@/server/api/common/getters.js"; import { Blockings, Users } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["account"], diff --git a/packages/backend/src/server/api/endpoints/compatibility/custom-emojis.ts b/packages/backend/src/server/api/endpoints/compatibility/custom-emojis.ts index 2ab190ed0b..f6c5573af7 100644 --- a/packages/backend/src/server/api/endpoints/compatibility/custom-emojis.ts +++ b/packages/backend/src/server/api/endpoints/compatibility/custom-emojis.ts @@ -1,7 +1,7 @@ import { Emojis } from "@/models/index.js"; import type { Emoji } from "@/models/entities/emoji.js"; import { IsNull, In } from "typeorm"; -import { FILE_TYPE_BROWSERSAFE } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; import define from "@/server/api/define.js"; export const meta = { diff --git a/packages/backend/src/server/api/endpoints/drive/files/create.ts b/packages/backend/src/server/api/endpoints/drive/files/create.ts index e7d73513dd..f4ee2546f5 100644 --- a/packages/backend/src/server/api/endpoints/drive/files/create.ts +++ b/packages/backend/src/server/api/endpoints/drive/files/create.ts @@ -2,7 +2,8 @@ import { addFile } from "@/services/drive/add-file.js"; import { DriveFiles } from "@/models/index.js"; import { config } from "@/config.js"; import { IdentifiableError } from "@/misc/identifiable-error.js"; -import { MINUTE, fetchMeta } from "backend-rs"; +import { fetchMeta } from "backend-rs"; +import { MINUTE } from "@/const.js"; import define from "@/server/api/define.js"; import { apiLogger } from "@/server/api/logger.js"; import { ApiError } from "@/server/api/error.js"; diff --git a/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts b/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts index fea6bf8a3a..cdfcb03089 100644 --- a/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts +++ b/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts @@ -2,7 +2,7 @@ import { uploadFromUrl } from "@/services/drive/upload-from-url.js"; import define from "@/server/api/define.js"; import { DriveFiles } from "@/models/index.js"; import { publishMainStream } from "@/services/stream.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["drive"], diff --git a/packages/backend/src/server/api/endpoints/export-custom-emojis.ts b/packages/backend/src/server/api/endpoints/export-custom-emojis.ts index 8ff6afa320..ca013314e1 100644 --- a/packages/backend/src/server/api/endpoints/export-custom-emojis.ts +++ b/packages/backend/src/server/api/endpoints/export-custom-emojis.ts @@ -1,6 +1,6 @@ import { createExportCustomEmojisJob } from "@/queue/index.js"; import define from "@/server/api/define.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/following/create.ts b/packages/backend/src/server/api/endpoints/following/create.ts index 29d5d6c84c..e80c5a4350 100644 --- a/packages/backend/src/server/api/endpoints/following/create.ts +++ b/packages/backend/src/server/api/endpoints/following/create.ts @@ -4,7 +4,7 @@ import { ApiError } from "@/server/api/error.js"; import { getUser } from "@/server/api/common/getters.js"; import { Followings, Users } from "@/models/index.js"; import { IdentifiableError } from "@/misc/identifiable-error.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["following", "users"], diff --git a/packages/backend/src/server/api/endpoints/following/delete.ts b/packages/backend/src/server/api/endpoints/following/delete.ts index 95fd254f48..e8019b1c32 100644 --- a/packages/backend/src/server/api/endpoints/following/delete.ts +++ b/packages/backend/src/server/api/endpoints/following/delete.ts @@ -3,7 +3,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { getUser } from "@/server/api/common/getters.js"; import { Followings, Users } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["following", "users"], diff --git a/packages/backend/src/server/api/endpoints/following/invalidate.ts b/packages/backend/src/server/api/endpoints/following/invalidate.ts index 1baa8df64f..37478b2c93 100644 --- a/packages/backend/src/server/api/endpoints/following/invalidate.ts +++ b/packages/backend/src/server/api/endpoints/following/invalidate.ts @@ -3,7 +3,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { getUser } from "@/server/api/common/getters.js"; import { Followings, Users } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["following", "users"], diff --git a/packages/backend/src/server/api/endpoints/gallery/posts/create.ts b/packages/backend/src/server/api/endpoints/gallery/posts/create.ts index eda2d81e5c..ee237c7abb 100644 --- a/packages/backend/src/server/api/endpoints/gallery/posts/create.ts +++ b/packages/backend/src/server/api/endpoints/gallery/posts/create.ts @@ -1,6 +1,7 @@ import define from "@/server/api/define.js"; import { DriveFiles, GalleryPosts } from "@/models/index.js"; -import { HOUR, genIdAt } from "backend-rs"; +import { genIdAt } from "backend-rs"; +import { HOUR } from "@/const.js"; import { GalleryPost } from "@/models/entities/gallery-post.js"; import type { DriveFile } from "@/models/entities/drive-file.js"; diff --git a/packages/backend/src/server/api/endpoints/gallery/posts/update.ts b/packages/backend/src/server/api/endpoints/gallery/posts/update.ts index a8a3d46890..16c629706c 100644 --- a/packages/backend/src/server/api/endpoints/gallery/posts/update.ts +++ b/packages/backend/src/server/api/endpoints/gallery/posts/update.ts @@ -1,7 +1,7 @@ import define from "@/server/api/define.js"; import { DriveFiles, GalleryPosts } from "@/models/index.js"; import type { DriveFile } from "@/models/entities/drive-file.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["gallery"], diff --git a/packages/backend/src/server/api/endpoints/get-online-users-count.ts b/packages/backend/src/server/api/endpoints/get-online-users-count.ts index d6cfa14ece..633e75335a 100644 --- a/packages/backend/src/server/api/endpoints/get-online-users-count.ts +++ b/packages/backend/src/server/api/endpoints/get-online-users-count.ts @@ -1,5 +1,5 @@ import { MoreThan } from "typeorm"; -import { USER_ONLINE_THRESHOLD } from "backend-rs"; +import { USER_ONLINE_THRESHOLD } from "@/const.js"; import { Users } from "@/models/index.js"; import define from "@/server/api/define.js"; diff --git a/packages/backend/src/server/api/endpoints/i/export-blocking.ts b/packages/backend/src/server/api/endpoints/i/export-blocking.ts index 68c875aa00..30e74ab2f5 100644 --- a/packages/backend/src/server/api/endpoints/i/export-blocking.ts +++ b/packages/backend/src/server/api/endpoints/i/export-blocking.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportBlockingJob } from "@/queue/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/export-followers.ts b/packages/backend/src/server/api/endpoints/i/export-followers.ts index d14bc5b51a..2fe45455ff 100644 --- a/packages/backend/src/server/api/endpoints/i/export-followers.ts +++ b/packages/backend/src/server/api/endpoints/i/export-followers.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportFollowersJob } from "@/queue/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/export-following.ts b/packages/backend/src/server/api/endpoints/i/export-following.ts index 5bce16f0ef..07d2997a18 100644 --- a/packages/backend/src/server/api/endpoints/i/export-following.ts +++ b/packages/backend/src/server/api/endpoints/i/export-following.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportFollowingJob } from "@/queue/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/export-mute.ts b/packages/backend/src/server/api/endpoints/i/export-mute.ts index 1b1fcf7241..7d22a073e6 100644 --- a/packages/backend/src/server/api/endpoints/i/export-mute.ts +++ b/packages/backend/src/server/api/endpoints/i/export-mute.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportMuteJob } from "@/queue/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/export-notes.ts b/packages/backend/src/server/api/endpoints/i/export-notes.ts index 9984c7656b..f167bb83cb 100644 --- a/packages/backend/src/server/api/endpoints/i/export-notes.ts +++ b/packages/backend/src/server/api/endpoints/i/export-notes.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportNotesJob } from "@/queue/index.js"; -import { DAY } from "backend-rs"; +import { DAY } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/export-user-lists.ts b/packages/backend/src/server/api/endpoints/i/export-user-lists.ts index e3b30d2d98..b68d889dcd 100644 --- a/packages/backend/src/server/api/endpoints/i/export-user-lists.ts +++ b/packages/backend/src/server/api/endpoints/i/export-user-lists.ts @@ -1,6 +1,6 @@ import define from "@/server/api/define.js"; import { createExportUserListsJob } from "@/queue/index.js"; -import { MINUTE } from "backend-rs"; +import { MINUTE } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/import-blocking.ts b/packages/backend/src/server/api/endpoints/i/import-blocking.ts index b7cb6e6518..58314aced3 100644 --- a/packages/backend/src/server/api/endpoints/i/import-blocking.ts +++ b/packages/backend/src/server/api/endpoints/i/import-blocking.ts @@ -2,7 +2,7 @@ import define from "@/server/api/define.js"; import { createImportBlockingJob } from "@/queue/index.js"; import { ApiError } from "@/server/api/error.js"; import { DriveFiles } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/import-following.ts b/packages/backend/src/server/api/endpoints/i/import-following.ts index 8c20ff3591..b7c475698c 100644 --- a/packages/backend/src/server/api/endpoints/i/import-following.ts +++ b/packages/backend/src/server/api/endpoints/i/import-following.ts @@ -2,7 +2,7 @@ import define from "@/server/api/define.js"; import { createImportFollowingJob } from "@/queue/index.js"; import { ApiError } from "@/server/api/error.js"; import { DriveFiles } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/import-muting.ts b/packages/backend/src/server/api/endpoints/i/import-muting.ts index 5ff4c94a29..494fb0d420 100644 --- a/packages/backend/src/server/api/endpoints/i/import-muting.ts +++ b/packages/backend/src/server/api/endpoints/i/import-muting.ts @@ -2,7 +2,7 @@ import define from "@/server/api/define.js"; import { createImportMutingJob } from "@/queue/index.js"; import { ApiError } from "@/server/api/error.js"; import { DriveFiles } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/import-posts.ts b/packages/backend/src/server/api/endpoints/i/import-posts.ts index 01f61138f5..1d81f69c0c 100644 --- a/packages/backend/src/server/api/endpoints/i/import-posts.ts +++ b/packages/backend/src/server/api/endpoints/i/import-posts.ts @@ -2,7 +2,8 @@ import define from "@/server/api/define.js"; import { createImportPostsJob } from "@/queue/index.js"; import { ApiError } from "@/server/api/error.js"; import { DriveFiles } from "@/models/index.js"; -import { fetchMeta, DAY } from "backend-rs"; +import { fetchMeta } from "backend-rs"; +import { DAY } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/import-user-lists.ts b/packages/backend/src/server/api/endpoints/i/import-user-lists.ts index 03aa14ac2b..ed82a96054 100644 --- a/packages/backend/src/server/api/endpoints/i/import-user-lists.ts +++ b/packages/backend/src/server/api/endpoints/i/import-user-lists.ts @@ -2,7 +2,7 @@ import define from "@/server/api/define.js"; import { createImportUserListsJob } from "@/queue/index.js"; import { ApiError } from "@/server/api/error.js"; import { DriveFiles } from "@/models/index.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { secure: true, diff --git a/packages/backend/src/server/api/endpoints/i/known-as.ts b/packages/backend/src/server/api/endpoints/i/known-as.ts index 62b1cd96ad..63d21d93e3 100644 --- a/packages/backend/src/server/api/endpoints/i/known-as.ts +++ b/packages/backend/src/server/api/endpoints/i/known-as.ts @@ -4,7 +4,8 @@ import { resolveUser } from "@/remote/resolve-user.js"; import acceptAllFollowRequests from "@/services/following/requests/accept-all.js"; import { publishToFollowers } from "@/services/i/update.js"; import { publishMainStream } from "@/services/stream.js"; -import { stringToAcct, DAY } from "backend-rs"; +import { stringToAcct } from "backend-rs"; +import { DAY } from "@/const.js"; import { apiLogger } from "@/server/api/logger.js"; import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; diff --git a/packages/backend/src/server/api/endpoints/i/move.ts b/packages/backend/src/server/api/endpoints/i/move.ts index 90a0051759..e7808d7b0a 100644 --- a/packages/backend/src/server/api/endpoints/i/move.ts +++ b/packages/backend/src/server/api/endpoints/i/move.ts @@ -1,6 +1,7 @@ import type { User } from "@/models/entities/user.js"; import { resolveUser } from "@/remote/resolve-user.js"; -import { stringToAcct, DAY } from "backend-rs"; +import { stringToAcct } from "backend-rs"; +import { DAY } from "@/const.js"; import DeliverManager from "@/remote/activitypub/deliver-manager.js"; import { renderActivity } from "@/remote/activitypub/renderer/index.js"; import define from "@/server/api/define.js"; diff --git a/packages/backend/src/server/api/endpoints/i/update-email.ts b/packages/backend/src/server/api/endpoints/i/update-email.ts index 393a358545..d894eb07e9 100644 --- a/packages/backend/src/server/api/endpoints/i/update-email.ts +++ b/packages/backend/src/server/api/endpoints/i/update-email.ts @@ -6,7 +6,8 @@ import { Users, UserProfiles } from "@/models/index.js"; import { sendEmail } from "@/services/send-email.js"; import { ApiError } from "@/server/api/error.js"; import { validateEmailForAccount } from "@/services/validate-email-for-account.js"; -import { HOUR, verifyPassword } from "backend-rs"; +import { verifyPassword } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { requireCredential: true, 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 1b9734c85c..76691dd34d 100644 --- a/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts +++ b/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts @@ -2,7 +2,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { MessagingMessages } from "@/models/index.js"; import { deleteMessage } from "@/services/messages/delete.js"; -import { SECOND, HOUR } from "backend-rs"; +import { SECOND, HOUR } from "@/const.js"; export const meta = { tags: ["messaging"], diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 17f9a7ece9..0d19716806 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -15,7 +15,7 @@ import { config } from "@/config.js"; import { noteVisibilities } from "@/types.js"; import { ApiError } from "@/server/api/error.js"; import define from "@/server/api/define.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; import { getNote } from "@/server/api/common/getters.js"; import { langmap } from "firefish-js"; import { createScheduledNoteJob } from "@/queue/index.js"; diff --git a/packages/backend/src/server/api/endpoints/notes/delete.ts b/packages/backend/src/server/api/endpoints/notes/delete.ts index b5a77af094..54aad1ebad 100644 --- a/packages/backend/src/server/api/endpoints/notes/delete.ts +++ b/packages/backend/src/server/api/endpoints/notes/delete.ts @@ -3,7 +3,7 @@ import { Users } from "@/models/index.js"; import define from "@/server/api/define.js"; import { getNote } from "@/server/api/common/getters.js"; import { ApiError } from "@/server/api/error.js"; -import { SECOND, HOUR } from "backend-rs"; +import { SECOND, HOUR } from "@/const.js"; export const meta = { tags: ["notes"], diff --git a/packages/backend/src/server/api/endpoints/notes/edit.ts b/packages/backend/src/server/api/endpoints/notes/edit.ts index 547aee287c..5c014993b5 100644 --- a/packages/backend/src/server/api/endpoints/notes/edit.ts +++ b/packages/backend/src/server/api/endpoints/notes/edit.ts @@ -18,7 +18,8 @@ import { config } from "@/config.js"; import { noteVisibilities } from "@/types.js"; import { ApiError } from "@/server/api/error.js"; import define from "@/server/api/define.js"; -import { genId, HOUR } from "backend-rs"; +import { genId } from "backend-rs"; +import { HOUR } from "@/const.js"; import { getNote } from "@/server/api/common/getters.js"; import { Poll } from "@/models/entities/poll.js"; import * as mfm from "mfm-js"; diff --git a/packages/backend/src/server/api/endpoints/notes/make-private.ts b/packages/backend/src/server/api/endpoints/notes/make-private.ts index 795863b003..5ddf1f3bf1 100644 --- a/packages/backend/src/server/api/endpoints/notes/make-private.ts +++ b/packages/backend/src/server/api/endpoints/notes/make-private.ts @@ -3,7 +3,7 @@ import { Notes } from "@/models/index.js"; import define from "@/server/api/define.js"; import { getNote } from "@/server/api/common/getters.js"; import { ApiError } from "@/server/api/error.js"; -import { SECOND, HOUR } from "backend-rs"; +import { SECOND, HOUR } from "@/const.js"; import { publishNoteStream } from "@/services/stream.js"; export const meta = { diff --git a/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts b/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts index b5f942f650..f135bd7ffa 100644 --- a/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts +++ b/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts @@ -2,7 +2,7 @@ import deleteReaction from "@/services/note/reaction/delete.js"; import define from "@/server/api/define.js"; import { getNote } from "@/server/api/common/getters.js"; import { ApiError } from "@/server/api/error.js"; -import { SECOND, HOUR } from "backend-rs"; +import { SECOND, HOUR } from "@/const.js"; export const meta = { tags: ["reactions", "notes"], diff --git a/packages/backend/src/server/api/endpoints/notes/unrenote.ts b/packages/backend/src/server/api/endpoints/notes/unrenote.ts index 1b8f544f7b..3f6f260eeb 100644 --- a/packages/backend/src/server/api/endpoints/notes/unrenote.ts +++ b/packages/backend/src/server/api/endpoints/notes/unrenote.ts @@ -3,7 +3,7 @@ import { Notes, Users } from "@/models/index.js"; import define from "@/server/api/define.js"; import { getNote } from "@/server/api/common/getters.js"; import { ApiError } from "@/server/api/error.js"; -import { SECOND, HOUR } from "backend-rs"; +import { SECOND, HOUR } from "@/const.js"; export const meta = { tags: ["notes"], diff --git a/packages/backend/src/server/api/endpoints/pages/create.ts b/packages/backend/src/server/api/endpoints/pages/create.ts index 4677352258..e7eb771f31 100644 --- a/packages/backend/src/server/api/endpoints/pages/create.ts +++ b/packages/backend/src/server/api/endpoints/pages/create.ts @@ -1,5 +1,6 @@ import { Pages, DriveFiles } from "@/models/index.js"; -import { genIdAt, HOUR } from "backend-rs"; +import { genIdAt } from "backend-rs"; +import { HOUR } from "@/const.js"; import { Page } from "@/models/entities/page.js"; import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; diff --git a/packages/backend/src/server/api/endpoints/pages/update.ts b/packages/backend/src/server/api/endpoints/pages/update.ts index 7a4c47a81d..9509ebfb81 100644 --- a/packages/backend/src/server/api/endpoints/pages/update.ts +++ b/packages/backend/src/server/api/endpoints/pages/update.ts @@ -2,7 +2,7 @@ import { Not } from "typeorm"; import { Pages, DriveFiles } from "@/models/index.js"; import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; -import { HOUR } from "backend-rs"; +import { HOUR } from "@/const.js"; export const meta = { tags: ["pages"], diff --git a/packages/backend/src/server/api/endpoints/request-reset-password.ts b/packages/backend/src/server/api/endpoints/request-reset-password.ts index ed269de15f..ae6048194b 100644 --- a/packages/backend/src/server/api/endpoints/request-reset-password.ts +++ b/packages/backend/src/server/api/endpoints/request-reset-password.ts @@ -3,7 +3,8 @@ import { IsNull } from "typeorm"; import { config } from "@/config.js"; import { Users, UserProfiles, PasswordResetRequests } from "@/models/index.js"; import { sendEmail } from "@/services/send-email.js"; -import { HOUR, genIdAt } from "backend-rs"; +import { genIdAt } from "backend-rs"; +import { HOUR } from "@/const.js"; import define from "@/server/api/define.js"; export const meta = { diff --git a/packages/backend/src/server/api/endpoints/users/recommendation.ts b/packages/backend/src/server/api/endpoints/users/recommendation.ts index 1ff242b097..4ea0d618ed 100644 --- a/packages/backend/src/server/api/endpoints/users/recommendation.ts +++ b/packages/backend/src/server/api/endpoints/users/recommendation.ts @@ -5,7 +5,7 @@ import { generateBlockedUserQuery, generateBlockQueryForUsers, } from "@/server/api/common/generate-block-query.js"; -import { DAY } from "backend-rs"; +import { DAY } from "@/const.js"; export const meta = { tags: ["users"], diff --git a/packages/backend/src/server/api/mastodon/helpers/misc.ts b/packages/backend/src/server/api/mastodon/helpers/misc.ts index 96d6251252..5d43423815 100644 --- a/packages/backend/src/server/api/mastodon/helpers/misc.ts +++ b/packages/backend/src/server/api/mastodon/helpers/misc.ts @@ -1,5 +1,5 @@ import { config } from "@/config.js"; -import { FILE_TYPE_BROWSERSAFE } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; import { countLocalUsers, fetchMeta } from "backend-rs"; import { AnnouncementReads, diff --git a/packages/backend/src/server/file/send-drive-file.ts b/packages/backend/src/server/file/send-drive-file.ts index 4cfe6095cd..cef94d2659 100644 --- a/packages/backend/src/server/file/send-drive-file.ts +++ b/packages/backend/src/server/file/send-drive-file.ts @@ -15,7 +15,7 @@ import { convertToWebp } from "@/services/drive/image-processor.js"; import { GenerateVideoThumbnail } from "@/services/drive/generate-video-thumbnail.js"; import { StatusError } from "@/misc/fetch.js"; import { ByteRangeReadable } from "./byte-range-readable.js"; -import { FILE_TYPE_BROWSERSAFE } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; import { inspect } from "node:util"; const _filename = fileURLToPath(import.meta.url); diff --git a/packages/backend/src/server/proxy/proxy-media.ts b/packages/backend/src/server/proxy/proxy-media.ts index 4ede3d4bdb..bb43c21f83 100644 --- a/packages/backend/src/server/proxy/proxy-media.ts +++ b/packages/backend/src/server/proxy/proxy-media.ts @@ -9,7 +9,7 @@ import { createTemp } from "@/misc/create-temp.js"; import { downloadUrl } from "@/misc/download-url.js"; import { detectType } from "@/misc/get-file-info.js"; import { StatusError } from "@/misc/fetch.js"; -import { FILE_TYPE_BROWSERSAFE } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; import { serverLogger } from "../index.js"; import { isMimeImage } from "@/misc/is-mime-image.js"; import { inspect } from "node:util"; diff --git a/packages/backend/src/server/web/index.ts b/packages/backend/src/server/web/index.ts index af6e237be6..fe15a70a79 100644 --- a/packages/backend/src/server/web/index.ts +++ b/packages/backend/src/server/web/index.ts @@ -16,13 +16,12 @@ import { KoaAdapter } from "@bull-board/koa"; import { In, IsNull } from "typeorm"; import { - MINUTE, - DAY, getNoteSummary, stringToAcct, fetchMeta, metaToPugArgs, } from "backend-rs"; +import { MINUTE, DAY } from "@/const.js"; import { config } from "@/config.js"; import { Users, diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts index 9f4d088ef8..c729a5e7a0 100644 --- a/packages/backend/src/services/drive/add-file.ts +++ b/packages/backend/src/services/drive/add-file.ts @@ -7,11 +7,11 @@ import sharp from "sharp"; import { IsNull } from "typeorm"; import { publishMainStream } from "@/services/stream.js"; import { - FILE_TYPE_BROWSERSAFE, fetchMeta, genId, publishToDriveFileStream, } from "backend-rs"; +import { FILE_TYPE_BROWSERSAFE } from "@/const.js"; import { contentDisposition } from "@/misc/content-disposition.js"; import { getFileInfo } from "@/misc/get-file-info.js"; import {