mirror of https://github.com/vector-im/riot-web
				
				
				
			Fix regression around haveRendererForEvent for hidden events (#8379)
							parent
							
								
									399ac618c7
								
							
						
					
					
						commit
						bbe0c945d3
					
				|  | @ -452,14 +452,6 @@ export default class MessagePanel extends React.Component<IProps, IState> { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /* check the scroll state and send out pagination requests if necessary. | ||||
|      */ | ||||
|     public checkFillState(): void { | ||||
|         if (this.scrollPanel.current) { | ||||
|             this.scrollPanel.current.checkFillState(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private isUnmounting = (): boolean => { | ||||
|         return !this.isMounted; | ||||
|     }; | ||||
|  |  | |||
|  | @ -393,6 +393,8 @@ export function haveRendererForEvent(mxEvent: MatrixEvent, showHiddenEvents: boo | |||
|         return hasText(mxEvent, showHiddenEvents); | ||||
|     } else if (handler === STATE_EVENT_TILE_TYPES[EventType.RoomCreate]) { | ||||
|         return Boolean(mxEvent.getContent()['predecessor']); | ||||
|     } else if (handler === JSONEventFactory) { | ||||
|         return false; | ||||
|     } else { | ||||
|         return true; | ||||
|     } | ||||
|  |  | |||
|  | @ -44,6 +44,8 @@ class WrappedMessagePanel extends React.Component { | |||
|     callEventGroupers = new Map(); | ||||
| 
 | ||||
|     render() { | ||||
|         const { showHiddenEvents, ...props } = this.props; | ||||
| 
 | ||||
|         const roomContext = { | ||||
|             room, | ||||
|             roomId: room.roomId, | ||||
|  | @ -54,13 +56,14 @@ class WrappedMessagePanel extends React.Component { | |||
|             showJoinLeaves: false, | ||||
|             showAvatarChanges: false, | ||||
|             showDisplaynameChanges: true, | ||||
|             showHiddenEvents, | ||||
|         }; | ||||
| 
 | ||||
|         return <MatrixClientContext.Provider value={client}> | ||||
|             <RoomContext.Provider value={roomContext}> | ||||
|                 <MessagePanel | ||||
|                     room={room} | ||||
|                     {...this.props} | ||||
|                     {...props} | ||||
|                     resizeNotifier={this.resizeNotifier} | ||||
|                     callEventGroupers={this.callEventGroupers} | ||||
|                 /> | ||||
|  | @ -633,6 +636,40 @@ describe('MessagePanel', function() { | |||
|         expect(settingsSpy).not.toHaveBeenCalledWith("showHiddenEventsInTimeline"); | ||||
|         settingsSpy.mockRestore(); | ||||
|     }); | ||||
| 
 | ||||
|     it("should group hidden event reactions into an event list summary", () => { | ||||
|         const events = [ | ||||
|             TestUtilsMatrix.mkEvent({ | ||||
|                 event: true, | ||||
|                 type: "m.reaction", | ||||
|                 room: "!room:id", | ||||
|                 user: "@user:id", | ||||
|                 content: {}, | ||||
|                 ts: 1, | ||||
|             }), | ||||
|             TestUtilsMatrix.mkEvent({ | ||||
|                 event: true, | ||||
|                 type: "m.reaction", | ||||
|                 room: "!room:id", | ||||
|                 user: "@user:id", | ||||
|                 content: {}, | ||||
|                 ts: 2, | ||||
|             }), | ||||
|             TestUtilsMatrix.mkEvent({ | ||||
|                 event: true, | ||||
|                 type: "m.reaction", | ||||
|                 room: "!room:id", | ||||
|                 user: "@user:id", | ||||
|                 content: {}, | ||||
|                 ts: 3, | ||||
|             }), | ||||
|         ]; | ||||
|         const res = mount(<WrappedMessagePanel showHiddenEvents={true} events={events} />); | ||||
| 
 | ||||
|         const els = res.find("EventListSummary"); | ||||
|         expect(els.length).toEqual(1); | ||||
|         expect(els.prop("events").length).toEqual(3); | ||||
|     }); | ||||
| }); | ||||
| 
 | ||||
| describe("shouldFormContinuation", () => { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski