@@ -1555,13 +1555,19 @@ struct HomeView: View {
15551555
15561556 private func getJsCallback( _ script: Data , name: String ? = nil ) -> DebugAppCallback {
15571557 return { pid, debugProxyHandle, remoteServerHandle, semaphore in
1558- jsModel = RunJSViewModel ( pid: Int ( pid) ,
1559- debugProxy: debugProxyHandle,
1560- remoteServer: remoteServerHandle,
1561- semaphore: semaphore)
1562- scriptViewShow = true
1558+ let model = RunJSViewModel ( pid: Int ( pid) ,
1559+ debugProxy: debugProxyHandle,
1560+ remoteServer: remoteServerHandle,
1561+ semaphore: semaphore)
1562+
1563+ DispatchQueue . main. async {
1564+ jsModel = model
1565+ scriptViewShow = true
1566+ pipRequired = true
1567+ }
1568+
15631569 DispatchQueue . global ( qos: . background) . async {
1564- do { try jsModel ? . runScript ( data: script, name: name) }
1570+ do { try model . runScript ( data: script, name: name) }
15651571 catch { showAlert ( title: " Error Occurred While Executing Script. " . localized, message: error. localizedDescription, showOk: true ) }
15661572 }
15671573 }
@@ -1572,6 +1578,13 @@ struct HomeView: View {
15721578 LogManager . shared. addInfoLog ( " Starting Debug for \( bundleID ?? String ( pid ?? 0 ) ) " )
15731579
15741580 DispatchQueue . global ( qos: . background) . async {
1581+ let finishProcessing = {
1582+ DispatchQueue . main. async {
1583+ isProcessing = false
1584+ pipRequired = false
1585+ }
1586+ }
1587+
15751588 var scriptData = scriptData
15761589 var scriptName = scriptName
15771590 if scriptData == nil ,
@@ -1585,9 +1598,9 @@ struct HomeView: View {
15851598 if ProcessInfo . processInfo. hasTXM, let sd = scriptData {
15861599 callback = getJsCallback ( sd, name: scriptName ?? bundleID ?? " Script " )
15871600 if triggeredByURLScheme { usleep ( 500000 ) }
1588- pipRequired = true
1601+ DispatchQueue . main . async { pipRequired = true }
15891602 } else {
1590- pipRequired = false
1603+ DispatchQueue . main . async { pipRequired = false }
15911604 }
15921605
15931606 let logger : LogFunc = { message in if let message { LogManager . shared. addInfoLog ( message) } }
@@ -1609,7 +1622,7 @@ struct HomeView: View {
16091622 LogManager . shared. addInfoLog ( " Debug process completed for \( bundleID ?? String ( pid ?? 0 ) ) " )
16101623 }
16111624 }
1612- isProcessing = false
1625+ finishProcessing ( )
16131626 }
16141627 }
16151628
0 commit comments