From 6dc539c7d58fe4c8d9428939b583dd9299f3780a Mon Sep 17 00:00:00 2001 From: tycrek Date: Sat, 24 Dec 2022 20:08:36 -0700 Subject: [PATCH] fix: show original if user overrode with zws --- src/generators/zws.ts | 1 + src/routers/resource.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/generators/zws.ts b/src/generators/zws.ts index 9f54cbe..4d91d23 100644 --- a/src/generators/zws.ts +++ b/src/generators/zws.ts @@ -1,3 +1,4 @@ import lengthGen from './lengthGen'; const zeroWidthChars = ['\u200B', '\u200C', '\u200D', '\u2060']; export default ({ length }: { length: number }) => lengthGen(length, zeroWidthChars); +export const checkIfZws = (str: string) => str.split('').every(char => zeroWidthChars.includes(char)); diff --git a/src/routers/resource.ts b/src/routers/resource.ts index 82b0b7c..b818972 100644 --- a/src/routers/resource.ts +++ b/src/routers/resource.ts @@ -7,6 +7,7 @@ import fetch, { Response as FetchResponse } from 'node-fetch'; import { Request, Response } from 'express'; import { deleteS3 } from '../storage'; import { SkynetDelete, SkynetDownload } from '../skynet'; +import { checkIfZws } from '../generators/zws'; import { path, log, getTrueHttp, getTrueDomain, formatBytes, formatTimestamp, getS3url, getDirectUrl, getResourceColor, replaceholder } from '../utils'; const { diskFilePath, s3enabled, viewDirect, useIdInViewer, idInViewerExtension, useSia }: Config = fs.readJsonSync(path('config.json')); const { CODE_UNAUTHORIZED, CODE_NOT_FOUND, }: MagicNumbers = fs.readJsonSync(path('MagicNumbers.json')); @@ -47,7 +48,7 @@ router.get('/', (req: Request, res: Response, next) => data().get(req.ass.resour // Send the view to the client res.render('view', { fileIs: fileData.is, - title: useIdInViewer ? `${resourceId}${idInViewerExtension ? `${fileData.ext}` : ''}` : escape(fileData.originalname), + title: useIdInViewer && !checkIfZws(resourceId) ? `${resourceId}${idInViewerExtension ? `${fileData.ext}` : ''}` : escape(fileData.originalname), mimetype: fileData.mimetype, uploader: users.find(user => user.unid === fileData.uploader)?.username || 'Unknown', timestamp: formatTimestamp(fileData.timestamp, fileData.timeoffset),