| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-07-22 19:22:17 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-07-22 19:22:17 UTC |
| parent | 5844b8e8257f8c2c62fa3bc9352c096564a8a82b |
| borogove/streams/XmppJsStream.hx | +11 | -7 |
diff --git a/borogove/streams/XmppJsStream.hx b/borogove/streams/XmppJsStream.hx index 1faddce..be7b922 100644 --- a/borogove/streams/XmppJsStream.hx +++ b/borogove/streams/XmppJsStream.hx @@ -508,13 +508,17 @@ class XmppJsStream extends GenericStream { } private function onError(event: FSMEvent) { - final xmppError = Std.downcast(event.toAttr?.error, XmppJsError); - if (xmppError?.name == "SASLError") { - this.trigger("auth/fail", xmppError); - } else { - // If everConnected then we are retrying so not fatal - if (!everConnected) trigger("status/error", event.toAttr?.error); - } + // This happens before error FSM has finished + // So force follow up triggers to happen after + haxe.Timer.delay(() -> { + final xmppError = Std.downcast(event.toAttr?.error, XmppJsError); + if (xmppError?.name == "SASLError") { + this.trigger("auth/fail", xmppError); + } else { + // If everConnected then we are retrying so not fatal + if (!everConnected) trigger("status/error", event.toAttr?.error); + } + }, 0); return true; }