Skip to content

v0.0.5 release#15

Merged
pnwmatt merged 17 commits intomainfrom
v0.0.5
Oct 3, 2025
Merged

v0.0.5 release#15
pnwmatt merged 17 commits intomainfrom
v0.0.5

Conversation

@pnwmatt
Copy link
Contributor

@pnwmatt pnwmatt commented Oct 3, 2025

This pull request introduces workspace/client identification and improved error handling across the sync and subscription flows. The main changes are the addition of a persistent workspace ID (wsID) and client version tracking, which are now sent to the server for all sync and subscription operations. Additionally, error messages for WebSocket connections are now more detailed and user-friendly.

Workspace/client identification and tracking:

  • Added a persistent wsID field to the defaults config (DefaultsConfig), generated as a combination of hostname and UUID, and ensured it is saved and loaded automatically (client/config.go, client/auth/config.go). [1] [2] [3] [4]
  • Included wsID and ClientVersion in all major configuration structs (CoordinatorConfig, ManagerConfig, and Config in sync, subscription, and remote client logic) for consistent propagation throughout the client codebase (client/sync/coordinator.go, client/subscription/manager.go, client/remote/client.go). [1] [2] [3]

Propagation of identification to server:

  • Updated all WebSocket connection logic to send X-ClientID (workspace ID) and X-ClientVersion headers, both for sync and subscription operations. Connections now fail if wsID is missing, ensuring every client is uniquely identified (client/remote/client.go, client/subscription/manager.go). [1] [2]

Improved error handling:

  • Enhanced error reporting for WebSocket connection failures, providing more detailed and actionable messages for common issues (bad handshake, timeout, DNS errors, etc.) in both sync and subscription flows (client/remote/client.go, client/subscription/manager.go). [1] [2]

Version bump and dependency update:

  • Bumped client version to 0.0.5 and added the github.com/google/uuid dependency for workspace ID generation (client/main.go, client/go.mod). [1] [2]

Integration throughout sync and subscription flows:

  • Ensured wsID and ClientVersion are passed into all coordinator and manager constructors and used in all sync/pull/push/subscribe operations (client/main.go, client/sync/coordinator.go). [1] [2] [3] [4] [5]

These changes ensure every client instance is uniquely tracked and identified by the server, and users receive clearer feedback when connection issues occur.

@pnwmatt pnwmatt merged commit 62e3f2b into main Oct 3, 2025
4 checks passed
pnwmatt added a commit that referenced this pull request Oct 6, 2025
pnwmatt added a commit that referenced this pull request Oct 14, 2025
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