remotelink 0.4.6 → 0.4.7

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/README.md CHANGED
@@ -53,7 +53,7 @@ npx remotelink --help Show help
53
53
 
54
54
  The package also exposes the aliases `remote-link` and `remote-arc`.
55
55
 
56
- In 0.4.6, background recovery and Relay reconnect are separate. A normal npx remotelink@latest launch can safely hand off a known older background Agent to the current release without creating two executors.
56
+ In 0.4.7, background recovery and Relay reconnect are separate. A normal npx remotelink@latest launch can safely hand off a known older background Agent to the current release without creating two executors.
57
57
  Recovery installs a user service (macOS/Linux) or a hidden login supervisor
58
58
  (Windows), which takes over when the executing Agent ends. Only one updated
59
59
  Agent owns execution; additional terminals follow its operation log and offer
@@ -62,7 +62,7 @@ execution lease. Turning recovery off preserves current execution. Explicit
62
62
  Stop background Agent also ends that Agent's work. Windows recovery needs the
63
63
  supervisor to remain running; killing it requires a local relaunch or login.
64
64
  Sleep/power loss still makes the device unavailable. All concurrent instances
65
- must be updated; pre-0.4.4 Agents do not participate in the execution lease. When the installed version is identified as an older release, 0.4.6 performs a controlled handoff even when that older Agent still owns the execution lease: it stops the known Remote Arc worker and supervisor, waits for the lease to release, preserves pairing and policy, installs the replacement bundle, and verifies that the replacement worker owns execution. Unknown processes still fail closed instead of being killed automatically. Unknown legacy processes still fail closed instead of being killed automatically.
65
+ must be updated; pre-0.4.4 Agents do not participate in the execution lease. When the installed version is identified as an older release, 0.4.7 performs a controlled handoff even when that older Agent still owns the execution lease: it stops the known Remote Arc worker and supervisor, waits for the lease to release, preserves pairing and policy, installs the replacement bundle, and verifies that the replacement worker owns execution. If a saved device pairing has been revoked from Dashboard, interactive startup now validates it before viewer/background attach, stops the known local background owner, clears the revoked credential and begins fresh pairing. Unknown processes still fail closed instead of being killed automatically.
66
66
 
67
67
  ## Native execution core
68
68
 
package/dist/index.js CHANGED
@@ -7433,7 +7433,7 @@ var {
7433
7433
  } = createBackgroundController();
7434
7434
 
7435
7435
  // src/index.ts
7436
- var VERSION = "0.4.6";
7436
+ var VERSION = "0.4.7";
7437
7437
  var DEFAULT_ORIGIN = "https://mcp.remotearc.app";
7438
7438
  var CONFIG_DIR = path7.join(os4.homedir(), ".remotearc");
7439
7439
  var CONFIG_PATH = path7.join(CONFIG_DIR, "config.json");
@@ -8060,6 +8060,19 @@ async function main() {
8060
8060
  if (agentMode || supervisorMode) return;
8061
8061
  config = await pair(origin, selectedMode());
8062
8062
  }
8063
+ if (!agentMode && !supervisorMode) {
8064
+ try {
8065
+ await validateSavedPairing(config);
8066
+ } catch (error) {
8067
+ if (!(error instanceof RevokedDeviceCredentialError)) throw error;
8068
+ logLine("warn", error.message);
8069
+ await disableBackgroundAgent({ stopCurrent: true }).catch(() => void 0);
8070
+ await resetConfig();
8071
+ logLine("event", "Starting a fresh device pairing\u2026");
8072
+ config = null;
8073
+ continue;
8074
+ }
8075
+ }
8063
8076
  if (disableBackground) {
8064
8077
  config.backgroundEnabled = false;
8065
8078
  await writeConfig(config);