Depends on: #100, Backend subscription implementation
The frontend uses Socket.IO (lib/socket/client.ts, hooks/use-socket-sync.ts, lib/query/sync/socket-sync.ts) for real-time bounty updates. The plan is to replace this with GraphQL subscriptions.
Note: This is blocked on the backend implementing bountyCreated, bountyUpdated, bountyDeleted subscriptions.
Tasks
Acceptance Criteria
- Real-time updates work via GraphQL subscriptions
- All Socket.IO code is removed
socket.io-client is no longer a dependency
Depends on: #100, Backend subscription implementation
The frontend uses Socket.IO (
lib/socket/client.ts,hooks/use-socket-sync.ts,lib/query/sync/socket-sync.ts) for real-time bounty updates. The plan is to replace this with GraphQL subscriptions.Tasks
graphql-wsclient packagelib/graphql/subscriptions.tswith subscription documentsuseGraphQLSubscriptionwrapper hook that subscribes and invalidates React Query cacheuseSocketSyncwith the new subscription-based synclib/socket/client.ts,lib/query/sync/socket-sync.ts,lib/query/sync/handlers.tssocket.io-clientdependency frompackage.jsonAcceptance Criteria
socket.io-clientis no longer a dependency