openclaw-navigator 5.7.2 → 5.7.3

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.
Files changed (2) hide show
  1. package/cli.mjs +19 -0
  2. package/package.json +1 -1
package/cli.mjs CHANGED
@@ -2165,6 +2165,25 @@ module.exports = {
2165
2165
  console.log(`${BOLD}${GREEN}Bridge is running.${RESET} Waiting for Navigator to connect...`);
2166
2166
  console.log(`${DIM}Press Ctrl+C to stop.${RESET}\n`);
2167
2167
 
2168
+ // ── Relay heartbeat — re-register every 5 minutes to prevent expiry ──
2169
+ // Cloudflare KV entries may expire. This keeps our pairing code fresh
2170
+ // so Navigator can always resolve it, even after long idle periods.
2171
+ if (tunnelURL || gatewayURL) {
2172
+ const relayHeartbeat = async () => {
2173
+ const currentURL = tunnelURL || gatewayURL;
2174
+ const ok = await registerWithRelay(pairingCode, currentURL, token, displayName);
2175
+ if (ok) {
2176
+ info(` ${DIM}Relay heartbeat: code ${pairingCode} refreshed${RESET}`);
2177
+ } else {
2178
+ warn(`Relay heartbeat failed — Navigator may not be able to resolve code`);
2179
+ }
2180
+ };
2181
+ // First heartbeat immediately (in case initial registration failed)
2182
+ relayHeartbeat();
2183
+ // Then every 5 minutes
2184
+ setInterval(relayHeartbeat, 5 * 60 * 1000);
2185
+ }
2186
+
2168
2187
  // ── Step 6 (optional): Start MCP server + register with mcporter ────
2169
2188
  let mcpProcess = null;
2170
2189
  if (withMcp) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-navigator",
3
- "version": "5.7.2",
3
+ "version": "5.7.3",
4
4
  "description": "One-command bridge + tunnel for the Navigator browser — works on any machine, any OS",
5
5
  "keywords": [
6
6
  "browser",