Skip to content

Commit 7aee86b

Browse files
chiba233claude
andcommitted
docs(comments): 收紧 URL 密钥相关注释为纯技术描述
去掉注释中与代码无关的叙述,只留「做什么」+ 必要的技术设计理由 (按密钥而非发起进程身份判定 —— GURL 事件发起方是转瞬即逝的系统运行器, 事后不可靠)。仅注释,无逻辑改动。 Co-Authored-By: Claude Opus 4.8 <[email protected]>
1 parent 5c0db7f commit 7aee86b

3 files changed

Lines changed: 8 additions & 8 deletions

File tree

SimpleZip/App/AppDelegate.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
391391
func application(_ application: NSApplication, open urls: [URL]) {
392392
for url in urls {
393393
if FinderServiceActionQueue.shared.enqueue(fromCallbackURL: url) { continue }
394-
// #16:simplezip://… —— 任何进程都能发。URL 带正确的自动化密钥(用户放进自己的快捷指令)= 可信、直接执行;
394+
// #16:simplezip://… —— 任何进程都能发。带正确自动化密钥 = 可信、直接执行;
395395
// 否则在「其它来源运行前确认」开关开时弹确认(列动作 + 完整路径)。
396396
if let command = SimpleZipURLCommand.parse(url) {
397397
handleURLCommand(command, trusted: Self.urlHasValidAutomationKey(url))
@@ -404,8 +404,8 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
404404
}
405405

406406
/// URL 是否带正确的自动化「可信密钥」(`key=<AppPreferences.urlSchemeAutomationKey>`)。
407-
/// 用户把设置里那串密钥放进自己的快捷指令 URL → 视为可信、跳过二次确认;别的 app 不知道密钥 → 仍需确认
408-
/// (为什么不认进程:Shortcuts 的「打开 URL」运行器发完事件即退出,app 处理到时它已消失,事后查不到是谁。)
407+
/// 匹配 → 视为可信、跳过确认;不匹配或缺失 → 交由「其它来源运行前确认」开关决定
408+
/// 按密钥而非发起进程身份判定:GURL 事件的发起方是转瞬即逝的系统运行器,事后不可靠。
409409
private static func urlHasValidAutomationKey(_ url: URL) -> Bool {
410410
guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
411411
let provided = components.queryItems?.first(where: { $0.name == "key" })?.value,

SimpleZip/Core/Support/AppPreferences.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,11 @@ enum AppPreferences {
348348
/// 0.4.4 #1:自动化通道(CLI / Shortcuts)允许使用预设密码(默认 true 保持现行为)。
349349
nonisolated static let automationAllowPresetPassword = "automationAllowPresetPassword"
350350
/// URL scheme(simplezip://)动作执行前是否弹确认框(默认 true=安全)。**只对没带正确密钥的来源**生效;
351-
/// 带 `key=<urlSchemeAutomationKey>` 的 URL(用户把密钥放进自己的快捷指令里)视为可信、直接执行。
351+
/// 带 `key=<urlSchemeAutomationKey>` 的 URL 视为可信、直接执行。
352352
/// 关掉此开关 = 信任本机所有进程发来的 simplezip://、不再弹框。
353353
nonisolated static let urlSchemeRequireConfirmation = "urlSchemeRequireConfirmation"
354-
/// 自动化「可信密钥」:随机生成、首次读取时落库(每装机一份;**不进备份**,换机重生成)。URL 带
355-
/// `key=<它>` 即免确认 —— 用户把这串密钥放进自己的快捷指令 URL,别的 app 不知道密钥 → 仍弹确认
354+
/// 自动化「可信密钥」:随机生成、首次读取时落库(每装机一份;**不进备份**,换机重生成)。
355+
/// URL 带 `key=<它>` 即免确认直接执行
356356
nonisolated static let urlSchemeAutomationKey = "urlSchemeAutomationKey"
357357
/// 0.4.4 macOS 26 AI:把发布包 / 活动中心任务捐献进 Spotlight 语义索引(默认 true = 便利;关 = 更私密)。
358358
nonisolated static let spotlightIndexingEnabled = "spotlightIndexingEnabled"
@@ -486,7 +486,7 @@ enum AppPreferences {
486486
}
487487

488488
/// 自动化「可信密钥」—— 随机生成、首次读取即落库(每装机一份)。URL 带 `key=<它>` 即免确认。
489-
/// 不进备份(换机重生成,用户重新从设置复制进快捷指令)。空/缺失则即时生成并存。
489+
/// 不进备份(换机重生成)。空/缺失则即时生成并存。
490490
nonisolated static var urlSchemeAutomationKey: String {
491491
if let existing = defaults.string(forKey: Key.urlSchemeAutomationKey), !existing.isEmpty {
492492
return existing

SimpleZip/Features/Settings/Panes/AutomationPane.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ struct AutomationPane: View {
308308
systemImage: "link.circle", iconTint: .cyan,
309309
isOn: $urlSchemeRequireConfirmation
310310
)
311-
// 可信密钥:URL 末尾加 &key=<它> 即免确认。用户把它放进自己的快捷指令 / 脚本;别的 app 不知道密钥 → 仍弹确认
311+
// 可信密钥:URL 末尾加 &key=<它> 即免确认直接执行
312312
SettingsControlRow(
313313
title: L10n.text("settings.automation.urlScheme.key"),
314314
description: L10n.text("settings.automation.urlScheme.key.desc"),

0 commit comments

Comments
 (0)