[Client] Scope room-join heal guard to one join attempt

This commit is contained in:
Lukas Brübach 2026-09-18 14:05:14 +02:00
parent b98d725bc7
commit e1a0e35eda
2 changed files with 17 additions and 8 deletions

View file

@ -10,7 +10,7 @@
#include "tab.h"
#include <QGroupBox>
#include <QMap>
#include <QHash>
#include <QSet>
#include <QTextBrowser>
#include <QTreeWidget>
@ -67,8 +67,9 @@ private:
QTextBrowser *serverInfoBox;
bool shouldEmitUpdate = false;
/** Room ids with a join command in flight, mapped to whether the tab should be focused once it opens. */
QMap<int, bool> pendingRoomJoins;
/** Room ids for which a stale-membership heal (leave + rejoin) has already been attempted. */
QHash<int, bool> pendingRoomJoins;
/** Room ids for which a stale-membership heal (leave + rejoin) is currently in flight. Released as soon as the
* rejoin has been answered, so a heal is attempted at most once per join. */
QSet<int> healedRoomJoins;
public: