From 39b974876e4ab1284d0ffad43eb833fdb11b5938 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Wed, 1 Jan 2025 15:37:45 +0800 Subject: [PATCH] fix: Unescape html character in eh metadata on server side --- db.ts | 6 +++++- page/GalleryMetadata.ts | 2 +- routes/api/eh/metadata.ts | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/db.ts b/db.ts index 533bacd..d36782d 100644 --- a/db.ts +++ b/db.ts @@ -351,7 +351,7 @@ export class EhDb { #base_path: string; #db_path: string; #use_ffi = false; - readonly version = parse_ver("1.0.0-14"); + readonly version = parse_ver("1.0.0-15"); constructor(base_path: string) { this.#base_path = base_path; this.#db_path = join(base_path, "data.db"); @@ -509,6 +509,10 @@ export class EhDb { if (compare_ver(v, parse_ver("1.0.0-14")) === -1) { this.db.execute(PMETA_INDEX); } + if (compare_ver(v, parse_ver("1.0.0-15")) === -1) { + this.db.execute("DELETE FROM ehmeta;"); + need_optimize = true; + } this.#write_version(); if (need_optimize) this.optimize(); } diff --git a/page/GalleryMetadata.ts b/page/GalleryMetadata.ts index 11f73fa..457a530 100644 --- a/page/GalleryMetadata.ts +++ b/page/GalleryMetadata.ts @@ -12,7 +12,7 @@ export type GalleryMetadataTorrentInfo = { export type GalleryMetadataSingle = { gid: number; token: string; - archiver_key: string; + archiver_key?: string; /// HTML escaped title: string; /// HTML escaped diff --git a/routes/api/eh/metadata.ts b/routes/api/eh/metadata.ts index 2970ea7..5800ed8 100644 --- a/routes/api/eh/metadata.ts +++ b/routes/api/eh/metadata.ts @@ -11,6 +11,7 @@ import { return_error, } from "../../../server/utils.ts"; import { base_logger } from "../../../utils/logger.ts"; +import { unescape } from "@std/html"; const logger = base_logger.get_logger("api-eh-metadata"); @@ -73,6 +74,9 @@ export const handler: Handlers = { if (typeof v === "string") { data[k.toString()] = gen_error(2, v); } else { + v.title = unescape(v.title); + v.title_jpn = unescape(v.title_jpn); + v.uploader = unescape(v.uploader); data[k.toString()] = gen_data(v); m.db.add_ehmeta(v); }