This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit bdaf2e9e5885b812f854cdc2ba4702862cc74667
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sun May 24 15:10:43 2026 -0400

    a more reliable MCP handshake read
---
 .../apache/cayenne/mcp/tools/openproject/HandshakeWatcher.java    | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git 
a/cayenne-mcp-server/src/main/java/org/apache/cayenne/mcp/tools/openproject/HandshakeWatcher.java
 
b/cayenne-mcp-server/src/main/java/org/apache/cayenne/mcp/tools/openproject/HandshakeWatcher.java
index 358987f4b..842589db6 100644
--- 
a/cayenne-mcp-server/src/main/java/org/apache/cayenne/mcp/tools/openproject/HandshakeWatcher.java
+++ 
b/cayenne-mcp-server/src/main/java/org/apache/cayenne/mcp/tools/openproject/HandshakeWatcher.java
@@ -107,6 +107,14 @@ class HandshakeWatcher {
     }
 
     private static HandshakeData readHandshake(Preferences node) {
+        try {
+            // Force a backing-store reload so keys written by the Modeler 
process are
+            // visible here — nodeExists() can return true before the reader's 
cache is
+            // refreshed on macOS CFPreferences.
+            node.sync();
+        } catch (BackingStoreException e) {
+            LOGGER.debug("sync before handshake read failed, proceeding with 
cached values: {}", e.toString());
+        }
         long pid = node.getLong("pid", -1L);
         String startedAt = node.get("startedAt", null);
         String resolvedProjectPath = node.get("projectPath", null);

Reply via email to