Procházet zdrojové kódy

fix: MacOS service install error

MystiPanda před 10 měsíci
rodič
revize
ff28aab56e

+ 4 - 2
src-tauri/src/core/service.rs

@@ -141,7 +141,8 @@ pub async fn install_service(passwd: String) -> Result<()> {
     )
     .output()?;
 
-    if output.stderr.len() > 0 {
+    // MacOS default outout "Password:" in stderr
+    if output.stderr.len() > 10 {
         bail!(
             "failed to install service with error: {}",
             String::from_utf8_lossy(&output.stderr)
@@ -247,7 +248,8 @@ pub async fn uninstall_service(passwd: String) -> Result<()> {
     )
     .output()?;
 
-    if output.stderr.len() > 0 {
+    // MacOS default outout "Password:" in stderr
+    if output.stderr.len() > 10 {
         bail!(
             "failed to uninstall service with error: {}",
             String::from_utf8_lossy(&output.stderr)

+ 6 - 0
src/components/setting/mods/service-switcher.tsx

@@ -40,6 +40,9 @@ export const ServiceSwitcher = (props: Props) => {
       setServiceLoading(false);
     } catch (err: any) {
       await mutate();
+      setTimeout(() => {
+        mutate();
+      }, 2000);
       Notice.error(err.message || err.toString());
       setServiceLoading(false);
     }
@@ -57,6 +60,9 @@ export const ServiceSwitcher = (props: Props) => {
       setUninstallServiceLoading(false);
     } catch (err: any) {
       await mutate();
+      setTimeout(() => {
+        mutate();
+      }, 2000);
       Notice.error(err.message || err.toString());
       setUninstallServiceLoading(false);
     }