mirror of
				https://github.com/matrix-org/gomatrix
				synced 2025-11-04 06:18:05 +00:00 
			
		
		
		
	Handle leave events
This commit is contained in:
		
							parent
							
								
									f683c3da34
								
							
						
					
					
						commit
						7e21d59dca
					
				
					 2 changed files with 18 additions and 0 deletions
				
			
		
							
								
								
									
										10
									
								
								responses.go
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								responses.go
									
										
									
									
									
								
							| 
						 | 
					@ -125,6 +125,16 @@ type RespSync struct {
 | 
				
			||||||
		Events []Event `json:"events"`
 | 
							Events []Event `json:"events"`
 | 
				
			||||||
	} `json:"presence"`
 | 
						} `json:"presence"`
 | 
				
			||||||
	Rooms struct {
 | 
						Rooms struct {
 | 
				
			||||||
 | 
							Leave map[string]struct {
 | 
				
			||||||
 | 
								State struct {
 | 
				
			||||||
 | 
									Events []Event `json:"events"`
 | 
				
			||||||
 | 
								} `json:"state"`
 | 
				
			||||||
 | 
								Timeline struct {
 | 
				
			||||||
 | 
									Events    []Event `json:"events"`
 | 
				
			||||||
 | 
									Limited   bool    `json:"limited"`
 | 
				
			||||||
 | 
									PrevBatch string  `json:"prev_batch"`
 | 
				
			||||||
 | 
								} `json:"timeline"`
 | 
				
			||||||
 | 
							} `json:"leave"`
 | 
				
			||||||
		Join map[string]struct {
 | 
							Join map[string]struct {
 | 
				
			||||||
			State struct {
 | 
								State struct {
 | 
				
			||||||
				Events []Event `json:"events"`
 | 
									Events []Event `json:"events"`
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								sync.go
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								sync.go
									
										
									
									
									
								
							| 
						 | 
					@ -73,6 +73,14 @@ func (s *DefaultSyncer) ProcessResponse(res *RespSync, since string) (err error)
 | 
				
			||||||
			s.notifyListeners(&event)
 | 
								s.notifyListeners(&event)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						for roomID, roomData := range res.Rooms.Leave {
 | 
				
			||||||
 | 
							room := s.getOrCreateRoom(roomID)
 | 
				
			||||||
 | 
							for _, event := range roomData.Timeline.Events {
 | 
				
			||||||
 | 
								event.RoomID = roomID
 | 
				
			||||||
 | 
								room.UpdateState(&event)
 | 
				
			||||||
 | 
								s.notifyListeners(&event)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue