You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2026/05/24 19:11:25 UTC
(cayenne) 06/06: a more reliable MCP handshake read
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 <an...@objectstyle.com>
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);