@minhspark/codex-mcp-bridge 1.25.0 → 1.25.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-mcp-bridge",
3
- "version": "1.25.0",
3
+ "version": "1.25.1",
4
4
  "description": "Connect ChatGPT to your own Codex Desktop projects and conversations.",
5
5
  "author": {
6
6
  "name": "Bui Dang Minh"
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [SemVer](ht
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.25.1] - 2026-10-31
8
+
9
+ ### Fixed
10
+
11
+ - On Windows, Codex Desktop no longer jumps to the front and switches to another task on its own. The background relay keeper opened `codex://threads/<id>` whenever the native relay was missing, and Windows always activates the app for that link, so the window was pulled forward about once a minute while the relay stayed down. The keeper is now off by default on Windows; set `CODEX_BRIDGE_RELAY_KEEPER=1` to turn it back on. macOS is unchanged because it opens the link in the background.
12
+
13
+ ### Verification and limitations
14
+
15
+ - Focused regressions cover the Windows default, the explicit opt-in and the wake opt-out taking precedence.
16
+ - A request that needs the relay while it is missing still opens a Codex task on Windows, which brings the app to the front once for that request.
17
+
7
18
  ## [1.25.0] - 2026-10-30
8
19
 
9
20
  ### Added
package/README.md CHANGED
@@ -669,7 +669,7 @@ For a repeatable failure, capture the app/OS/Node versions, the version reported
669
669
 
670
670
  **Symptoms:** `RELAY_UNAVAILABLE`, `connect ENOENT`, a missing native relay socket, or `thread ... already has an active writer`.
671
671
 
672
- Native Desktop handoffs require Codex Desktop to be installed, signed in and open on Windows/macOS. The app runs `codex-native-relay` while a regular task has its MCP servers loaded. The bridge can wake a saved task on both platforms when the relay is absent; the background keeper requires a live bridge client and an eligible saved task. On Windows, opening the task can bring the app to the foreground. Explicit keeper/wake opt-outs remain respected.
672
+ Native Desktop handoffs require Codex Desktop to be installed, signed in and open on Windows/macOS. The app runs `codex-native-relay` while a regular task has its MCP servers loaded. The bridge can wake a saved task on both platforms when the relay is absent; the background keeper requires a live bridge client and an eligible saved task. On Windows, opening a task brings the app to the foreground, so the background keeper is off there unless `CODEX_BRIDGE_RELAY_KEEPER=1`; the relay is still woken when a request needs it. Explicit keeper/wake opt-outs remain respected.
673
673
 
674
674
  Open a regular task in the intended saved project, then check `native_relay_status` there and `codex_bridge_status` in the sending Code session. If the relay died while that task stayed loaded, reopening the same task may not restart it: reconnect its MCP or open another regular task. Do not use the internal **Native Relay** executor task as the interactive destination. Rerun setup if registration/executor configuration is missing, and verify [native relay pipe forwarding](#native-relay-pipe-forwarding). Do not persist a pipe address copied from a different app process; discovery must validate its owner.
675
675
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minhspark/codex-mcp-bridge",
3
- "version": "1.25.0",
3
+ "version": "1.25.1",
4
4
  "description": "Connect Claude, Codex, and Antigravity through MCP, with native Desktop handoffs and bridge-owned Antigravity CLI sessions.",
5
5
  "keywords": [
6
6
  "mcp",
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "codex-mcp-bridge",
4
- "version": "1.25.0",
4
+ "version": "1.25.1",
5
5
  "description": "Connect ChatGPT to your own Codex Desktop projects and conversations.",
6
6
  "author": {
7
7
  "name": "Bui Dang Minh",
@@ -25,7 +25,7 @@ import { removeRelayFile } from "../src/native-relay-files.mjs";
25
25
 
26
26
  exitForVersionRequest(import.meta.url);
27
27
 
28
- const VERSION = "1.25.0";
28
+ const VERSION = "1.25.1";
29
29
  const root = stableInstallPath(path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."));
30
30
  const entry = path.join(root, "src", "mcp-supervisor.mjs");
31
31
  const entryArgs = ["native-relay-companion.mjs"];
@@ -30,7 +30,7 @@ import { discoverClaudeProject } from "./claude-project-discovery.mjs";
30
30
 
31
31
  exitForVersionRequest(import.meta.url);
32
32
 
33
- const VERSION = "1.25.0";
33
+ const VERSION = "1.25.1";
34
34
  void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
35
35
  const FORWARD_MIN_INTERVAL_MS = 5000;
36
36
  const FORWARD_MAX_PER_SESSION = 50;
package/src/index.mjs CHANGED
@@ -41,7 +41,7 @@ import { createRelayWake, relayKeeperEnabled, relayWakeStateFile, startRelayKeep
41
41
 
42
42
  exitForVersionRequest(import.meta.url);
43
43
 
44
- const VERSION = "1.25.0";
44
+ const VERSION = "1.25.1";
45
45
  void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
46
46
  const log = (msg) => process.stderr.write(`[codex-mcp-bridge] ${msg}\n`);
47
47
 
@@ -42,7 +42,7 @@ import { remoteCodexSocketPath, remoteNativeAdapter, remoteRequestResponse } fro
42
42
 
43
43
  exitForVersionRequest(import.meta.url);
44
44
 
45
- const VERSION = "1.25.0";
45
+ const VERSION = "1.25.1";
46
46
  const log = (msg) => process.stderr.write(`[native-relay] ${msg}\n`);
47
47
 
48
48
  function errorResponse(code, message, sent, details) {
@@ -49,7 +49,9 @@ function sameProject(senderCwd, taskCwd) {
49
49
  export function relayKeeperEnabled(env = process.env, platform = process.platform) {
50
50
  const value = (env.CODEX_BRIDGE_RELAY_KEEPER ?? "").toLowerCase();
51
51
  if (["0", "off", "false"].includes(value)) return false;
52
- return relayWakeEnabled(env, platform);
52
+ if (!relayWakeEnabled(env, platform)) return false;
53
+ if (platform === "win32") return ["1", "on", "true"].includes(value);
54
+ return true;
53
55
  }
54
56
 
55
57
  export function relayWakeStateFile(env = process.env) {