You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(sdk): revert to full fire('reset') — _reconnectStopper is needed
The 'skip _reconnectStopper' approach broke force-logout coverage:
e2ee-key-reset, account-manage-devices, admin-device-management all
failed because, even with the ddp-streamer ws.close() server fix, the
notify-user/<uid>/force_logout stream message still races with the
close in microservices (it travels rocketchat-main → broker → ddp-streamer
→ WS, while the close listener fires directly on ddp-streamer). The
graceful close only flushes what's already in the WS buffer at that
moment — if the stream message is still in transit, it's still lost.
So the per-call _reconnectStopper from callLoginMethod IS the
load-bearing failsafe in microservices: it retries login with the
latest stored token and calls makeClientLoggedOut on auth failure,
which is what drives the user to /login when the stream message is
lost.
Restore the full fire('reset'). :87 is the only remaining EE 2/5
regression and a separate problem to solve.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments