-
Notifications
You must be signed in to change notification settings - Fork 1
Feature 13: Character State Subscriptions #138
Copy link
Copy link
Open
Labels
P2: MediumMedium priority - enhanced UXMedium priority - enhanced UXcharacter-sheetCharacter sheet featuresCharacter sheet featuresenhancementNew feature or requestNew feature or requestgame-masterGame Master mode featuresGame Master mode features
Description
Description
Subscribe to character updates in real-time so changes from other sources (AI, backend) reflect immediately.
Priority
P2 (Medium) - Real-time collaboration support
Estimated Effort
2 days
Dependencies
- Feature 1: Add GameMasterCharacter Database Model #126 (Feature 1: Add GameMasterCharacter Database Model)
Acceptance Criteria
- GraphQL subscription for character updates
- UI updates when character modified externally
- Subscription cleanup on unmount
- Works across multiple tabs/devices
- Handles subscription errors gracefully
Implementation Details
useEffect(() => {
const subscription = dataClient.models.GameMasterCharacter.observeQuery({
filter: { id: { eq: characterState.id } }
}).subscribe({
next: ({ items }) => {
if (items[0]) {
setCharacterState(items[0]);
console.log('Character updated via subscription');
}
},
error: (error) => {
console.error('Subscription error:', error);
}
});
return () => subscription.unsubscribe();
}, [characterState?.id]);Testing
- Update in one tab → reflects in other
- Backend update → UI updates
- Subscription cleans up properly
- Error handling works
Related Documentation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2: MediumMedium priority - enhanced UXMedium priority - enhanced UXcharacter-sheetCharacter sheet featuresCharacter sheet featuresenhancementNew feature or requestNew feature or requestgame-masterGame Master mode featuresGame Master mode features