mirror of
				https://github.com/matrix-org/synapse.git
				synced 2025-10-31 20:28:16 +00: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
					
				| @ -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) { | ||||||
| @ -327,6 +338,10 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) { | |||||||
|             reset(); |             reset(); | ||||||
|             $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) { | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -112,6 +112,8 @@ angular.module('eventStreamService', []) | |||||||
|                 var rooms = response.data.rooms; |                 var rooms = response.data.rooms; | ||||||
|                 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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user