Skip to content

Commit

Permalink
Merge pull request #1461 from bdyebd/develop
Browse files Browse the repository at this point in the history
Delay write of plist file to fix frequent notification issue on Ventura
  • Loading branch information
lkebin authored Mar 28, 2023
2 parents e42131e + 6c8c162 commit 4c731d3
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions ShadowsocksX-NG/LaunchAgentUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ func generateSSLocalLauchAgentPlist() -> Bool {
let sslocalPath = NSHomeDirectory() + APP_SUPPORT_DIR + "ss-local/ss-local"
let logFilePath = NSHomeDirectory() + "/Library/Logs/ss-local.log"
let launchAgentDirPath = NSHomeDirectory() + LAUNCH_AGENT_DIR
let plistTempFilepath = NSHomeDirectory() + APP_SUPPORT_DIR + LAUNCH_AGENT_CONF_SSLOCAL_NAME
let plistFilepath = launchAgentDirPath + LAUNCH_AGENT_CONF_SSLOCAL_NAME

// Ensure launch agent directory is existed.
Expand Down Expand Up @@ -69,9 +70,10 @@ func generateSSLocalLauchAgentPlist() -> Bool {
"ProgramArguments": arguments,
"EnvironmentVariables": ["DYLD_LIBRARY_PATH": dyld_library_paths.joined(separator: ":")]
]
dict.write(toFile: plistFilepath, atomically: true)
let Sha1Sum = getFileSHA1Sum(plistFilepath)
dict.write(toFile: plistTempFilepath, atomically: true)
let Sha1Sum = getFileSHA1Sum(plistTempFilepath)
if oldSha1Sum != Sha1Sum {
dict.write(toFile: plistFilepath, atomically: true)
NSLog("generateSSLocalLauchAgentPlist - File has been changed.")
return true
} else {
Expand Down Expand Up @@ -283,6 +285,7 @@ func generatePrivoxyLauchAgentPlist() -> Bool {
let privoxyPath = NSHomeDirectory() + APP_SUPPORT_DIR + "privoxy/privoxy"
let logFilePath = NSHomeDirectory() + "/Library/Logs/privoxy.log"
let launchAgentDirPath = NSHomeDirectory() + LAUNCH_AGENT_DIR
let plistTempFilePath = NSHomeDirectory() + APP_SUPPORT_DIR + LAUNCH_AGENT_CONF_PRIVOXY_NAME
let plistFilepath = launchAgentDirPath + LAUNCH_AGENT_CONF_PRIVOXY_NAME

// Ensure launch agent directory is existed.
Expand All @@ -303,9 +306,10 @@ func generatePrivoxyLauchAgentPlist() -> Bool {
"StandardErrorPath": logFilePath,
"ProgramArguments": arguments
]
dict.write(toFile: plistFilepath, atomically: true)
let Sha1Sum = getFileSHA1Sum(plistFilepath)
dict.write(toFile: plistTempFilePath, atomically: true)
let Sha1Sum = getFileSHA1Sum(plistTempFilePath)
if oldSha1Sum != Sha1Sum {
dict.write(toFile: plistFilepath, atomically: true)
return true
} else {
return false
Expand Down

0 comments on commit 4c731d3

Please sign in to comment.