дȫÏîĿÉó²éÎÊÌⲢ·¢²¼ v1.1.9
¸ÄÓñ¾»ú¶ÀÁ¢ CA£¬»ָ´ CLI TLS УÑ飬±£»¤ƾ¾ÝÓëÅäÖò¢·¢±£´档 д Cursor Êý¾ݡ¢»Ự·¾¶¡¢´úÀíÉúÃüÖÜÆڡ¢ģÐÍÇëÇóÓë Skills Îļþ²Ù×÷¡£ Ϊ¶ÀÁ¢ Tab ·þÎñÔö¼ӿͻ§¶˼øȨ£¬Éý¼¶ÒÀÀµÓ빤¾ßÁ´£¬ÍêÉƷ¢²¼ԪÐÅϢͬ²½¡£ Ñé֤£ºÁ½¸ö Go ģ¿éµIJâÊÔ/vet¡¢¹ؼüģ¿é race¡¢ǰ¶˲âÊÔ/Éú²ú¹¹½¨/Éó¼ơ¢ Go ¿ɴï©¶´ɨÃèÓë macOS/Linux ¿ÉÐÐģ¿齻²æ±àÒë¾ùͨ¹ý¡£ Windows ¸ôÀëÆô¶¯ͨ¹ý£»δÍê³ɵĵã»÷ðÑ̺ÍԭÉúƽ̨Ñé֤¼ûÉó²鱨¸档
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
goruntime "runtime"
|
||||
|
||||
@@ -10,7 +11,7 @@ import (
|
||||
|
||||
// ApplyCursorSettings 用于处理与 ApplyCursorSettings 相关的逻辑。
|
||||
func (s *ProxyService) ApplyCursorSettings() error {
|
||||
if s == nil || s.proxy == nil {
|
||||
if s == nil || s.proxyServer() == nil {
|
||||
return fmt.Errorf("proxy is not initialized")
|
||||
}
|
||||
s.caFileMu.Lock()
|
||||
@@ -37,7 +38,7 @@ func (s *ProxyService) ApplyCursorSettings() error {
|
||||
}
|
||||
}
|
||||
|
||||
proxyURL := cursor.ProxyURLFromListenAddr(s.proxy.Snapshot().ListenAddr)
|
||||
proxyURL := cursor.ProxyURLFromListenAddr(s.proxyServer().Snapshot().ListenAddr)
|
||||
|
||||
if err := cursor.WriteUserProxySettings(proxyURL); err != nil {
|
||||
return err
|
||||
@@ -48,8 +49,8 @@ func (s *ProxyService) ApplyCursorSettings() error {
|
||||
// 如果未检测到 CLI 安装,跳过但不报错
|
||||
if cliPath := cursor.DetectCLIInstallPath(); cliPath != "" {
|
||||
cliHTTPSAddr := ""
|
||||
if s.backendHost != nil {
|
||||
cliHTTPSAddr = s.backendHost.CLIHTTPSListenAddr()
|
||||
if s.backend() != nil {
|
||||
cliHTTPSAddr = s.backend().CLIHTTPSListenAddr()
|
||||
}
|
||||
if err := cursor.WriteCLIProxyWrapper(cliHTTPSAddr, caCertPath); err != nil {
|
||||
logger.Errorf("write cli proxy wrapper failed: %v", err)
|
||||
@@ -68,22 +69,21 @@ func (s *ProxyService) ApplyCursorSettings() error {
|
||||
|
||||
// ClearCursorSettings 用于处理与 ClearCursorSettings 相关的逻辑。
|
||||
func (s *ProxyService) ClearCursorSettings() error {
|
||||
var errs []error
|
||||
if goruntime.GOOS == "darwin" {
|
||||
if err := cursor.ClearSystemNodeExtraCACerts(); err != nil {
|
||||
return err
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
if err := cursor.ClearUserProxySettings(); err != nil {
|
||||
return err
|
||||
for _, clear := range []func() error{cursor.ClearUserProxySettings, cursor.ClearCLIProxyWrapper, cursor.ClearCLIAuthFile} {
|
||||
if err := clear(); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
if err := cursor.ClearCLIProxyWrapper(); err != nil {
|
||||
logger.Errorf("clear cli proxy wrapper failed: %v", err)
|
||||
if len(errs) == 0 {
|
||||
s.setCursorSettingsApplied(false)
|
||||
}
|
||||
if err := cursor.ClearCLIAuthFile(); err != nil {
|
||||
logger.Errorf("clear cli auth.json failed: %v", err)
|
||||
}
|
||||
s.setCursorSettingsApplied(false)
|
||||
return nil
|
||||
return errors.Join(errs...)
|
||||
}
|
||||
|
||||
// GetDeviceID 用于处理与 GetDeviceID 相关的逻辑。
|
||||
|
||||
Reference in New Issue
Block a user