Table of Contents

v0.2.2 - Startup & Shutdown Fixes

Fixes

  • Fixed server hanging on startup when IRC gateway is enabled — circular DI dependency between IrcGatewayServiceIChatServiceIChatBroadcasterIrcBroadcaster caused the DI container to deadlock
  • Fixed SignalRBroadcaster eagerly resolving IHubContext<ChatHub> during DI construction, which could deadlock on some platforms — now lazy-resolves via IServiceProvider on first use
  • Simplified IRC service registration to use standard AddSingleton<IChatBroadcaster, IrcBroadcaster> instead of manual factory, breaking the circular resolution chain
  • Fixed server hanging on Ctrl+C — replaced await using with explicit dispose bounded to 3 seconds, so a stuck HubConnection can no longer block shutdown
  • Reduced host shutdown timeout from 30s (default) to 5s
  • Caught OperationCanceledException in the directory service reconnect loop so cancellation exits immediately instead of propagating through dispose

Refactoring

  • Replaced primary constructors with standard constructor injection across all server classes for consistency