From 6202ecd89529afc553479ee656eb61b42e2acd64 Mon Sep 17 00:00:00 2001 From: cyfung1031 <44498510+cyfung1031@users.noreply.github.com> Date: Sat, 25 Apr 2026 08:33:05 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9C=AC=E6=9C=BA?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E6=8B=96=E6=8B=89=E5=AE=89=E8=A3=85=E6=97=B6?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=AE=BE=E7=BD=AEorigin=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/service/service_worker/script.ts | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/app/service/service_worker/script.ts b/src/app/service/service_worker/script.ts index 227be28d1..924947730 100644 --- a/src/app/service/service_worker/script.ts +++ b/src/app/service/service_worker/script.ts @@ -409,6 +409,31 @@ export class ScriptService { if (updatetime) { script.updatetime = updatetime; } + // 拖拉安装等同本地创建脚本 + if (script.origin?.startsWith("file:///*from-local*/")) { + script.origin = ""; + script.originDomain = ""; + script.downloadUrl = ""; + script.checkUpdateUrl = ""; + } + // 处理 ScriptCat 旧版本进行安装时的 origin 错误 ( 1.2.x & 1.3.x & 1.4.x - 自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23 ) + if (oldScript?.origin?.startsWith("file:///*from-local*/") || oldScript?.origin?.startsWith("file://-/")) { + oldScript.origin = ""; + oldScript.originDomain = ""; + oldScript.downloadUrl = ""; + oldScript.checkUpdateUrl = ""; + } + // 现存的脚本:以最初的安装(即creationtime)为标准 + if (oldScript && script.createtime === oldScript.createtime) { + // 如果最初是从网络安装,之后拖拉安装本机档案,则保留origin资讯。用于更新检查。 + // 如果本机安装的版本号较低,则会在下次更新检查时提醒有更新。那个时候,用户可以选择更新至网络上最新版本,或忽略并保留本机版本 + if (oldScript && oldScript.origin && !script.origin) { + script.origin = oldScript.origin; + script.originDomain = oldScript.originDomain; + script.downloadUrl = oldScript.downloadUrl; + script.checkUpdateUrl = oldScript.checkUpdateUrl; + } + } return this.scriptDAO .save(script) .then(async () => { From b28aab2927da86590e40ebe87d540f764a35919b Mon Sep 17 00:00:00 2001 From: cyfung1031 <44498510+cyfung1031@users.noreply.github.com> Date: Sat, 25 Apr 2026 08:46:04 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/service/service_worker/script.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/service/service_worker/script.ts b/src/app/service/service_worker/script.ts index 924947730..f38827522 100644 --- a/src/app/service/service_worker/script.ts +++ b/src/app/service/service_worker/script.ts @@ -416,7 +416,7 @@ export class ScriptService { script.downloadUrl = ""; script.checkUpdateUrl = ""; } - // 处理 ScriptCat 旧版本进行安装时的 origin 错误 ( 1.2.x & 1.3.x & 1.4.x - 自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23 ) + // 处理 ScriptCat 旧版本进行安装时的 origin 错误 ( 1.0.0-beta.2 ~ 1.4.x - 自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23 ) if (oldScript?.origin?.startsWith("file:///*from-local*/") || oldScript?.origin?.startsWith("file://-/")) { oldScript.origin = ""; oldScript.originDomain = ""; From 3e636597376d93133a2de5664553f29accbbda15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=E4=B9=8B?= Date: Sat, 25 Apr 2026 12:03:30 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E7=AE=80=E5=8C=96=20o?= =?UTF-8?q?rigin=20=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=9A=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E8=84=8F=E5=89=8D=E7=BC=80=E8=BF=87=E6=BB=A4=E4=B8=8E?= =?UTF-8?q?=20createtime=20=E5=9B=9E=E5=A1=AB=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/service/service_worker/script.ts | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/app/service/service_worker/script.ts b/src/app/service/service_worker/script.ts index f38827522..6ce3f964a 100644 --- a/src/app/service/service_worker/script.ts +++ b/src/app/service/service_worker/script.ts @@ -416,23 +416,23 @@ export class ScriptService { script.downloadUrl = ""; script.checkUpdateUrl = ""; } - // 处理 ScriptCat 旧版本进行安装时的 origin 错误 ( 1.0.0-beta.2 ~ 1.4.x - 自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23 ) - if (oldScript?.origin?.startsWith("file:///*from-local*/") || oldScript?.origin?.startsWith("file://-/")) { - oldScript.origin = ""; - oldScript.originDomain = ""; - oldScript.downloadUrl = ""; - oldScript.checkUpdateUrl = ""; - } - // 现存的脚本:以最初的安装(即creationtime)为标准 - if (oldScript && script.createtime === oldScript.createtime) { - // 如果最初是从网络安装,之后拖拉安装本机档案,则保留origin资讯。用于更新检查。 - // 如果本机安装的版本号较低,则会在下次更新检查时提醒有更新。那个时候,用户可以选择更新至网络上最新版本,或忽略并保留本机版本 - if (oldScript && oldScript.origin && !script.origin) { - script.origin = oldScript.origin; - script.originDomain = oldScript.originDomain; - script.downloadUrl = oldScript.downloadUrl; - script.checkUpdateUrl = oldScript.checkUpdateUrl; - } + // 现存的脚本:以最初的安装(即 createtime)为标准,回填 origin 用于更新检查。 + // 如果最初是从网络安装,之后拖拉安装本机档案,则保留 origin 资讯。 + // 如果本机安装的版本号较低,则会在下次更新检查时提醒有更新。那个时候,用户可以选择更新至网络上最新版本,或忽略并保留本机版本。 + // 跳过 ScriptCat 旧版本 (1.0.0-beta.2 ~ 1.4.x,自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23) + // 误写入的 file:///*from-local*/ 与 file://-/ 前缀 + if ( + oldScript && + script.createtime === oldScript.createtime && + oldScript.origin && + !script.origin && + !oldScript.origin.startsWith("file:///*from-local*/") && + !oldScript.origin.startsWith("file://-/") + ) { + script.origin = oldScript.origin; + script.originDomain = oldScript.originDomain; + script.downloadUrl = oldScript.downloadUrl; + script.checkUpdateUrl = oldScript.checkUpdateUrl; } return this.scriptDAO .save(script)