mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-17 17:43:51 +01:00
SYWEB-14: BF: rooms invitations were not visible in recents after launching/refreshing the web page
This commit is contained in:
parent
e0f060d89b
commit
26dda48e50
3 changed files with 22 additions and 3 deletions
|
@ -99,7 +99,7 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
|
||||||
};
|
};
|
||||||
reset();
|
reset();
|
||||||
|
|
||||||
var initRoom = function(room_id) {
|
var initRoom = function(room_id, room) {
|
||||||
if (!(room_id in $rootScope.events.rooms)) {
|
if (!(room_id in $rootScope.events.rooms)) {
|
||||||
console.log("Creating new handler entry for " + room_id);
|
console.log("Creating new handler entry for " + room_id);
|
||||||
$rootScope.events.rooms[room_id] = {
|
$rootScope.events.rooms[room_id] = {
|
||||||
|
@ -112,6 +112,17 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (room) {
|
||||||
|
// Report all other metadata of the room object (membership, inviter, visibility, ...)
|
||||||
|
for (var field in room) {
|
||||||
|
if (-1 === ["room_id", "messages", "state"].indexOf(field)) {
|
||||||
|
console.log("#### " + field);
|
||||||
|
$rootScope.events.rooms[room_id][field] = room[field];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$rootScope.events.rooms[room_id].membership = room.membership;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var resetRoomMessages = function(room_id) {
|
var resetRoomMessages = function(room_id) {
|
||||||
|
@ -328,6 +339,10 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
|
||||||
$rootScope.$broadcast(RESET_EVENT);
|
$rootScope.$broadcast(RESET_EVENT);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
initRoom: function(room) {
|
||||||
|
initRoom(room.room_id, room);
|
||||||
|
},
|
||||||
|
|
||||||
handleEvent: function(event, isLiveEvent, isStateEvent) {
|
handleEvent: function(event, isLiveEvent, isStateEvent) {
|
||||||
|
|
||||||
// FIXME: /initialSync on a particular room is not yet available
|
// FIXME: /initialSync on a particular room is not yet available
|
||||||
|
|
|
@ -113,6 +113,8 @@ angular.module('eventStreamService', [])
|
||||||
for (var i = 0; i < rooms.length; ++i) {
|
for (var i = 0; i < rooms.length; ++i) {
|
||||||
var room = rooms[i];
|
var room = rooms[i];
|
||||||
|
|
||||||
|
eventHandlerService.initRoom(room);
|
||||||
|
|
||||||
if ("messages" in room) {
|
if ("messages" in room) {
|
||||||
eventHandlerService.handleRoomMessages(room.room_id, room.messages, false);
|
eventHandlerService.handleRoomMessages(room.room_id, room.messages, false);
|
||||||
}
|
}
|
||||||
|
@ -120,8 +122,6 @@ angular.module('eventStreamService', [])
|
||||||
if ("state" in room) {
|
if ("state" in room) {
|
||||||
eventHandlerService.handleEvents(room.state, false, true);
|
eventHandlerService.handleEvents(room.state, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
eventHandlerService.setRoomVisibility(room.room_id, room.visibility);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var presence = response.data.presence;
|
var presence = response.data.presence;
|
||||||
|
|
|
@ -37,6 +37,10 @@ angular.module('RecentsController')
|
||||||
|
|
||||||
filtered.push(room);
|
filtered.push(room);
|
||||||
}
|
}
|
||||||
|
else if ("invite" === room.membership) {
|
||||||
|
// The only information we have about the room is that the user has been invited
|
||||||
|
filtered.push(room);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// And time sort them
|
// And time sort them
|
||||||
|
|
Loading…
Reference in a new issue