Fix bugs and clean noise reduction

This commit is contained in:
2026-03-06 02:22:43 +01:00
parent 0ed9ca93d3
commit 2d84fbd91a
39 changed files with 3443 additions and 1544 deletions

View File

@@ -19,7 +19,8 @@ export async function handleSaveRoom(command: SaveRoomCommand, dataSource: DataS
icon: room.icon ?? null,
iconUpdatedAt: room.iconUpdatedAt ?? null,
permissions: room.permissions != null ? JSON.stringify(room.permissions) : null,
channels: room.channels != null ? JSON.stringify(room.channels) : null
channels: room.channels != null ? JSON.stringify(room.channels) : null,
members: room.members != null ? JSON.stringify(room.members) : null
});
await repo.save(entity);

View File

@@ -12,7 +12,8 @@ const ROOM_TRANSFORMS: TransformMap = {
isPrivate: boolToInt,
userCount: (val) => (val ?? 0),
permissions: jsonOrNull,
channels: jsonOrNull
channels: jsonOrNull,
members: jsonOrNull
};
export async function handleUpdateRoom(command: UpdateRoomCommand, dataSource: DataSource): Promise<void> {

View File

@@ -60,7 +60,8 @@ export function rowToRoom(row: RoomEntity) {
icon: row.icon ?? undefined,
iconUpdatedAt: row.iconUpdatedAt ?? undefined,
permissions: row.permissions ? JSON.parse(row.permissions) : undefined,
channels: row.channels ? JSON.parse(row.channels) : undefined
channels: row.channels ? JSON.parse(row.channels) : undefined,
members: row.members ? JSON.parse(row.members) : undefined
};
}

View File

@@ -103,6 +103,7 @@ export interface RoomPayload {
iconUpdatedAt?: number;
permissions?: unknown;
channels?: unknown[];
members?: unknown[];
}
export interface BanPayload {

View File

@@ -47,4 +47,7 @@ export class RoomEntity {
@Column('text', { nullable: true })
channels!: string | null;
@Column('text', { nullable: true })
members!: string | null;
}

View File

@@ -0,0 +1,19 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddRoomMembers1000000000001 implements MigrationInterface {
name = 'AddRoomMembers1000000000001';
public async up(queryRunner: QueryRunner): Promise<void> {
const columns = await queryRunner.query(`PRAGMA table_info("rooms")`) as Array<{ name?: string }>;
const hasMembersColumn = Array.isArray(columns)
&& columns.some((column) => column.name === 'members');
if (!hasMembersColumn) {
await queryRunner.query(`ALTER TABLE "rooms" ADD COLUMN "members" TEXT`);
}
}
public async down(_queryRunner: QueryRunner): Promise<void> {
// Forward-only migration: SQLite column removal is intentionally omitted.
}
}