This PR resolves the main thread blocking token refresh by making it deferred and off-thread.
New exception types TwitchNotAuthenticatedException with base NotAuthenticatedException were also introduced to more transparantly communicate to consumers that certain features aren't available (yet).
This PR affects the suite of Twitch modules/services as it basically affects the shared initialization logic for said platform:
IRC
PubSub
Helix API
It's considered stable as far as my testing goes though.
This PR resolves the main thread blocking token refresh by making it deferred and off-thread. New exception types
TwitchNotAuthenticatedException
with baseNotAuthenticatedException
were also introduced to more transparantly communicate to consumers that certain features aren't available (yet).This PR affects the suite of Twitch modules/services as it basically affects the shared initialization logic for said platform:
It's considered stable as far as my testing goes though.