From 1b87103e022377cf9a70404629ada8a16ef8eac6 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Sat, 20 Aug 2022 13:06:08 +0200 Subject: [PATCH] some fixes --- src/components/wrappers/document.ts | 5 +++++ src/helpers/fileName.ts | 2 +- src/lib/appManagers/appDownloadManager.ts | 2 +- src/lib/mtproto/mtprotoworker.ts | 12 +++++++++++- src/lib/serviceWorker/index.service.ts | 3 ++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/components/wrappers/document.ts b/src/components/wrappers/document.ts index ee09936e..1283b9d5 100644 --- a/src/components/wrappers/document.ts +++ b/src/components/wrappers/document.ts @@ -181,6 +181,11 @@ export default async function wrapDocument({message, withTime, fontWeight, voice middleEllipsisEl.textContent = fileName; // setInnerHTML(middleEllipsisEl, fileName); + // * new media popup + if(!message.mid) { + docDiv.classList.add('downloaded'); + } + nameDiv.append(middleEllipsisEl); if(showSender) { diff --git a/src/helpers/fileName.ts b/src/helpers/fileName.ts index 3d8851e8..154d1ea4 100644 --- a/src/helpers/fileName.ts +++ b/src/helpers/fileName.ts @@ -68,5 +68,5 @@ export function getFileURL(type: FileURLType, options: DownloadOptions) { const encoded = encodeURIComponent(JSON.stringify(options)); // console.log('getFileURL encode:', performance.now() - perf, encoded); - return '/' + type + '/' + encoded; + return /* '/' + */type + '/' + encoded; } diff --git a/src/lib/appManagers/appDownloadManager.ts b/src/lib/appManagers/appDownloadManager.ts index 990d02d4..a20f298a 100644 --- a/src/lib/appManagers/appDownloadManager.ts +++ b/src/lib/appManagers/appDownloadManager.ts @@ -238,7 +238,7 @@ export class AppDownloadManager { // if(downloadOptions.size && downloadOptions.size > MAX_FILE_SAVE_SIZE) { const id = '' + (Math.random() * 0x7FFFFFFF | 0); // const id = 'test'; - const url = `/download/${id}`; + const url = `download/${id}`; options.downloadId = id; const promise = this.downloadMedia(options, 'disc'); diff --git a/src/lib/mtproto/mtprotoworker.ts b/src/lib/mtproto/mtprotoworker.ts index f4fa4359..5bd18c91 100644 --- a/src/lib/mtproto/mtprotoworker.ts +++ b/src/lib/mtproto/mtprotoworker.ts @@ -285,7 +285,17 @@ class ApiManagerProxy extends MTProtoMessagePort { private async registerCryptoWorker() { const get = (url: string) => { return fetch(url).then((response) => response.text()).then((text) => { - text = 'var a = importScripts; importScripts = (url) => {console.log(`wut`, url); return a(url.slice(5));};' + text; + const pathnameSplitted = location.pathname.split('/'); + pathnameSplitted[pathnameSplitted.length - 1] = ''; + const pre = location.origin + pathnameSplitted.join('/'); + text = ` + var originalImportScripts = importScripts; + importScripts = (url) => { + console.log('importScripts', url); + var newUrl = '${pre}' + url.split('/').pop(); + return originalImportScripts(newUrl); + }; + ${text}`; const blob = new Blob([text], {type: 'application/javascript'}); return blob; }); diff --git a/src/lib/serviceWorker/index.service.ts b/src/lib/serviceWorker/index.service.ts index 0d195d10..9aa7d1f1 100644 --- a/src/lib/serviceWorker/index.service.ts +++ b/src/lib/serviceWorker/index.service.ts @@ -115,7 +115,8 @@ const onFetch = (event: FetchEvent): void => { // #endif try { - const [, url, scope, params] = /http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(event.request.url) || []; + // const [, url, scope, params] = /http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(event.request.url) || []; + const [scope, params] = event.request.url.split('/').slice(-2); // log.debug('[fetch]:', event);