Skip to content

RetroChess gxs tunnel integration#8

Open
jolavillette wants to merge 4 commits into
RetroShare:mainfrom
jolavillette:RetroChessGxsTunnelIntegration
Open

RetroChess gxs tunnel integration#8
jolavillette wants to merge 4 commits into
RetroShare:mainfrom
jolavillette:RetroChessGxsTunnelIntegration

Conversation

@jolavillette
Copy link
Copy Markdown

RetroChess gxs tunnel integration

Here is a summary of the work performed to integrate and stabilize GXS tunnels in the RetroChess plugin:

  1. GXS Tunnel Integration
    Network Routing: Replaced direct SSL transmission with RsGxsTunnelService. The plugin now successfully requests, stores, and reuses secured tunnels between GXS identities.
    Pseudo-ID System: Implemented a canonical mapping between GXS IDs and PeerIDs using HEX string conversion. This allows the chess engine (originally designed for SSL PeerIDs) to identify GXS players correctly.
    Robust Move Routing: Updated raw_msg_peer to automatically intercept moves intended for GXS players and route them through the appropriate GXS tunnel using real-time tunnel information from the service.

  2. GUI Stability & UX Improvements
    Invitation Popup: Replaced the unreliable "green button" in the chat with a standard QMessageBox dialog. This ensures invitations are always visible and 100% responsive to clicks, bypassing chat focus issues.
    Identity Resolution: Fixed the "playing against [empty]" bug by ensuring GXS nicknames are correctly resolved and displayed on the game board title.
    Deadlock Prevention: Refined mutex locking scopes (RsStackMutex) in critical network handlers to ensure the UI thread never freezes when receiving data or invitations.

  3. Gameplay Synchronization
    Role Assignment: Fixed player role synchronization (White/Black). The guest node now correctly receives its role, ensuring that boards are properly oriented for both players.
    Protocol Alignment: Standardized the JSON message format for invitations, acceptances, and moves to ensure full interoperability over GXS tunnels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant