ispyx 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/core/launcher.js +4 -1
- package/src/core/panel/page.html +4 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ispyx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Local desktop-control MCP server: lets an AI use your keyboard, mouse and screen (windows, screenshots, clicks, typing, clipboard). stdio only, Windows and macOS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/server.js",
|
package/src/core/launcher.js
CHANGED
|
@@ -120,7 +120,10 @@ export async function runQuit() {
|
|
|
120
120
|
// macOS: the app would start its resident again; quitting the app ends it and the forwarders
|
|
121
121
|
useMacAppResident();
|
|
122
122
|
if (process.platform === 'darwin' && (macApp() || process.env.ISPYX_PIPE === macAppPipe())) {
|
|
123
|
-
|
|
123
|
+
// inside the app: its own id (a dev build is com.ispyx.app.dev)
|
|
124
|
+
let id = MAC_BUNDLE_ID;
|
|
125
|
+
try { id = /<key>CFBundleIdentifier<\/key>\s*<string>([^<]+)</.exec(fs.readFileSync(path.join(macApp(), 'Contents', 'Info.plist'), 'utf8'))?.[1] ?? id; } catch { /* npm copy: the installed app */ }
|
|
126
|
+
spawnSync('osascript', ['-e', `quit app id "${id}"`], { stdio: 'ignore', timeout: 10000 });
|
|
124
127
|
process.exit(0);
|
|
125
128
|
}
|
|
126
129
|
try { await callOwner(pipeName(), '__quit', {}); } catch { /* not running, or gone before answering */ }
|
package/src/core/panel/page.html
CHANGED
|
@@ -429,9 +429,12 @@ $("showAll").addEventListener("click",function(){expanded=!expanded;if(last&&las
|
|
|
429
429
|
$("clearAct").addEventListener("click",function(){act("clearRecent").then(poll)});
|
|
430
430
|
// the update quits and restarts ispyx: this window then reports it has quit (macOS opens it again)
|
|
431
431
|
var updating=false;
|
|
432
|
+
function updateFailed(msg){updating=false;$("updBtn").disabled=false;setText("updTxt",msg)}
|
|
432
433
|
$("updBtn").addEventListener("click",function(){
|
|
433
434
|
updating=true;$("updBtn").disabled=true;setText("updTxt","Updating, ispyx restarts in a moment…");
|
|
434
|
-
act("update").catch(function(err){
|
|
435
|
+
act("update").catch(function(err){updateFailed(err.message)});
|
|
436
|
+
// a successful update quits this ispyx; still here after two minutes means it did not go through
|
|
437
|
+
setTimeout(function(){if(updating)updateFailed("The update did not finish. Details: update.log in the ispyx data folder.")},120000);
|
|
435
438
|
});
|
|
436
439
|
$("end").addEventListener("click",function(){
|
|
437
440
|
if(last&&last.platform==="darwin"){act("close");return}
|