Skip to content

Scope conversation Zustand stores per provider#67

Draft
neubig wants to merge 1 commit intomainfrom
openhands/scoped-conversation-providers
Draft

Scope conversation Zustand stores per provider#67
neubig wants to merge 1 commit intomainfrom
openhands/scoped-conversation-providers

Conversation

@neubig
Copy link
Copy Markdown
Collaborator

@neubig neubig commented May 1, 2026

Summary

  • Add ConversationProvider and useConversationContext-backed hooks that create per-conversation Zustand store instances.
  • Convert conversation UI/hooks/routes/websocket handling to use scoped context hooks instead of importing global store singletons directly.
  • Keep home/settings/shared global stores routed through a separate global hook barrel.
  • Add regression coverage that verifies two ConversationProvider instances do not share store state.

Fixes #9.

Testing

  • npm run typecheck
  • npm test
  • npm run build

This PR was created by an AI agent (OpenHands) on behalf of the user.

@neubig can click here to continue refining the PR

Co-authored-by: openhands <openhands@all-hands.dev>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agent-server-gui Ready Ready Preview, Comment May 1, 2026 8:19pm

Request Review

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.

[Phase 3] Encapsulate conversation state in scoped providers (replace global stores)

2 participants