summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHazel K <acomputerdog@gmail.com>2024-10-03 19:53:57 -0400
committerHazel K <acomputerdog@gmail.com>2024-10-03 19:53:57 -0400
commit063b2ff2662c549cfa658b5ed8db985aa555d23d (patch)
tree85d39454a8eaa1772ad65292e5f29bea3a00fd7b
parentmerge: Feat: Implement "Show Below Avatar" for Avatar Decorations (!645) (diff)
downloadsharkey-063b2ff2662c549cfa658b5ed8db985aa555d23d.tar.gz
sharkey-063b2ff2662c549cfa658b5ed8db985aa555d23d.tar.bz2
sharkey-063b2ff2662c549cfa658b5ed8db985aa555d23d.zip
increase character limits and share between text and CW
-rw-r--r--.config/ci.yml2
-rw-r--r--.config/docker_example.yml2
-rw-r--r--.config/example.yml2
-rw-r--r--packages/backend/migration/1727998351561-increase_character_limits.js18
-rw-r--r--packages/backend/src/const.ts5
-rw-r--r--packages/backend/src/models/DriveFile.ts3
-rw-r--r--packages/backend/src/models/Note.ts4
7 files changed, 28 insertions, 8 deletions
diff --git a/.config/ci.yml b/.config/ci.yml
index 44092d3662..19ffe18d2c 100644
--- a/.config/ci.yml
+++ b/.config/ci.yml
@@ -167,7 +167,7 @@ id: 'aidx'
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
-# Amount of characters that can be used when writing notes (maximum: 8192, minimum: 1)
+# Amount of characters that can be used when writing notes (maximum: 100000, minimum: 1)
maxNoteLength: 3000
# Proxy for HTTP/HTTPS
diff --git a/.config/docker_example.yml b/.config/docker_example.yml
index de95f1b21a..b697e7dbab 100644
--- a/.config/docker_example.yml
+++ b/.config/docker_example.yml
@@ -242,7 +242,7 @@ id: 'aidx'
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
-# Amount of characters that can be used when writing notes (maximum: 8192, minimum: 1)
+# Amount of characters that can be used when writing notes (maximum: 100000, minimum: 1)
maxNoteLength: 3000
# Proxy for HTTP/HTTPS
diff --git a/.config/example.yml b/.config/example.yml
index 21e85b7b89..c87897d24c 100644
--- a/.config/example.yml
+++ b/.config/example.yml
@@ -251,7 +251,7 @@ id: 'aidx'
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
-# Amount of characters that can be used when writing notes (maximum: 8192, minimum: 1)
+# Amount of characters that can be used when writing notes (maximum: 100000, minimum: 1)
maxNoteLength: 3000
# Proxy for HTTP/HTTPS
diff --git a/packages/backend/migration/1727998351561-increase_character_limits.js b/packages/backend/migration/1727998351561-increase_character_limits.js
new file mode 100644
index 0000000000..8754163846
--- /dev/null
+++ b/packages/backend/migration/1727998351561-increase_character_limits.js
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+export class IncreaseCharacterLimits1727998351561 {
+ name = 'IncreaseCharacterLimits1727998351561'
+
+ async up(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "drive_file" ALTER COLUMN "comment" TYPE varchar(100000)`);
+ await queryRunner.query(`ALTER TABLE "note" ALTER COLUMN "cw" TYPE text`);
+ }
+
+ async down(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "note" ALTER COLUMN "cw" TYPE varchar(512)`);
+ await queryRunner.query(`ALTER TABLE "drive_file" ALTER COLUMN "comment" TYPE varchar(8192)`);
+ }
+}
diff --git a/packages/backend/src/const.ts b/packages/backend/src/const.ts
index 02c27779ca..29b796e161 100644
--- a/packages/backend/src/const.ts
+++ b/packages/backend/src/const.ts
@@ -13,15 +13,16 @@ export const USER_ACTIVE_THRESHOLD = 1000 * 60 * 60 * 24 * 3; // 3days
/**
* Maximum note text length that can be stored in DB.
+ * Content Warnings are included in this limit.
* Surrogate pairs count as one
*/
-export const DB_MAX_NOTE_TEXT_LENGTH = 8192;
+export const DB_MAX_NOTE_TEXT_LENGTH = 100_000;
/**
* 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 DB_MAX_IMAGE_COMMENT_LENGTH = 100_000;
//#endregion
// ブラウザで直接表示することを許可するファイルの種類のリスト
diff --git a/packages/backend/src/models/DriveFile.ts b/packages/backend/src/models/DriveFile.ts
index dd810681c5..f536a7e4c6 100644
--- a/packages/backend/src/models/DriveFile.ts
+++ b/packages/backend/src/models/DriveFile.ts
@@ -7,6 +7,7 @@ import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typ
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiDriveFolder } from './DriveFolder.js';
+import {DB_MAX_IMAGE_COMMENT_LENGTH} from "@/const.js";
@Entity('drive_file')
@Index(['userId', 'folderId', 'id'])
@@ -61,7 +62,7 @@ export class MiDriveFile {
public size: number;
@Column('varchar', {
- length: 8192,
+ length: DB_MAX_IMAGE_COMMENT_LENGTH,
nullable: true,
comment: 'The comment of the DriveFile.',
})
diff --git a/packages/backend/src/models/Note.ts b/packages/backend/src/models/Note.ts
index b11e2ec62b..408e023ff7 100644
--- a/packages/backend/src/models/Note.ts
+++ b/packages/backend/src/models/Note.ts
@@ -66,8 +66,8 @@ export class MiNote {
})
public name: string | null;
- @Column('varchar', {
- length: 512, nullable: true,
+ @Column('text', {
+ nullable: true,
})
public cw: string | null;