feat: implement UIEventSubscriber with per-player Wisper attachment #318

Merged
freemo merged 5 commits from feature/m2-ui-event-subscriber into master 2026-03-16 19:54:10 +00:00
Owner

Summary

  • Implements UIEventSubscriber class for per-player Wisper event subscription
  • Subscribes to: Player, Room, Area, CombatInstance, Calendar, Manager domain objects
  • Routes received events to EventProjection system (ProjectionRegistry) for rendering
  • Provides methods: #attach_all, #detach_all, #attach_combat(instance), #attach_room, #attach_area
  • Tracks active subscriptions for cleanup on player disconnect

Files Changed

  • lib/aethyr/core/render/ui_event_subscriber.rb - Main implementation
  • tests/unit/ui_event_subscriber.feature - BDD feature specification
  • tests/unit/step_definitions/ui_event_subscriber_steps.rb - Step definitions

Test Results

  • 22 scenarios (22 passed)
  • 202 steps (202 passed)
  • All rubocop checks pass

Closes

Closes #299

## Summary - Implements UIEventSubscriber class for per-player Wisper event subscription - Subscribes to: Player, Room, Area, CombatInstance, Calendar, Manager domain objects - Routes received events to EventProjection system (ProjectionRegistry) for rendering - Provides methods: `#attach_all`, `#detach_all`, `#attach_combat(instance)`, `#attach_room`, `#attach_area` - Tracks active subscriptions for cleanup on player disconnect ## Files Changed - `lib/aethyr/core/render/ui_event_subscriber.rb` - Main implementation - `tests/unit/ui_event_subscriber.feature` - BDD feature specification - `tests/unit/step_definitions/ui_event_subscriber_steps.rb` - Step definitions ## Test Results - 22 scenarios (22 passed) - 202 steps (202 passed) - All rubocop checks pass ## Closes Closes #299
freemo force-pushed feature/m2-ui-event-subscriber from 848d1f6aca to 983c0e8e4a 2026-03-16 16:55:57 +00:00 Compare
freemo changed target branch from feature/m2-event-projection to master 2026-03-16 16:56:26 +00:00
freemo force-pushed feature/m2-ui-event-subscriber from 983c0e8e4a to 8d28262b24 2026-03-16 17:07:04 +00:00 Compare
freemo force-pushed feature/m2-ui-event-subscriber from 8d28262b24 to 818cdea886 2026-03-16 17:31:06 +00:00 Compare
freemo force-pushed feature/m2-ui-event-subscriber from 818cdea886 to 4c974b6943 2026-03-16 19:53:59 +00:00 Compare
freemo merged commit 4c974b6943 into master 2026-03-16 19:54:10 +00:00
freemo deleted branch feature/m2-ui-event-subscriber 2026-03-16 19:54:10 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: aethyr/Aethyr#318
No description provided.