Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 23 additions & 9 deletions src/controllers/Realtime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -226,8 +226,13 @@ export class RealtimeController extends BaseController {
* Called when kuzzle is disconnected
*/
private saveSubscriptions () {
for (const roomId of this._subscriptions.keys()) {
for (const room of this._subscriptions.get(roomId)) {
/**
* Use forEach instead of iterating over Map.keys() because the Webpack
* transpilation is producing bad code leading to a loop not iterating.
*/
this._subscriptions.forEach((rooms, roomId) => {

for (const room of rooms) {
room.removeListeners();

if (room.autoResubscribe) {
Expand All @@ -239,15 +244,20 @@ export class RealtimeController extends BaseController {
}

this._subscriptions.delete(roomId);
}

});
}

/**
* Called on kuzzle reconnection
*/
private resubscribe () {
for (const roomId of this._subscriptionsOff.keys()) {
for (const room of this._subscriptionsOff.get(roomId)) {
/**
* Use forEach instead of iterating over Map.keys() because the Webpack
* transpilation is producing bad code leading to a loop not iterating.
*/
this._subscriptionsOff.forEach((rooms, roomId) => {
for (const room of rooms) {
if (!this._subscriptions.has(roomId)) {
this._subscriptions.set(roomId, []);
}
Expand All @@ -258,18 +268,22 @@ export class RealtimeController extends BaseController {
}

this._subscriptionsOff.delete(roomId);
}
});
}

/**
* Called when a token expire
*/
private removeSubscriptions() {
for (const roomId of this._subscriptions.keys()) {
for (const room of this._subscriptions.get(roomId)) {
/**
* Use forEach instead of iterating over Map.keys() because the Webpack
* transpilation is producing bad code leading to a loop not iterating.
*/
this._subscriptions.forEach((rooms) => {
for (const room of rooms) {
room.removeListeners();
}
}
});

this._subscriptions = new Map();
this._subscriptionsOff = new Map();
Expand Down