Merge branch 'travis/EL-room-list/fixes1' into 'element'
Misc fixes to room list See merge request new-vector/element/element-web/matrix-react-sdk!20pull/21833/head
						commit
						7a1635e7bc
					
				|  | @ -54,6 +54,7 @@ import defaultDispatcher from "../../../dispatcher/dispatcher"; | |||
| import {ActionPayload} from "../../../dispatcher/payloads"; | ||||
| import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore"; | ||||
| import { NotificationState } from "../../../stores/notifications/NotificationState"; | ||||
| import { UPDATE_EVENT } from "../../../stores/AsyncStore"; | ||||
| 
 | ||||
| // TODO: Rename on launch: https://github.com/vector-im/riot-web/issues/14367
 | ||||
| 
 | ||||
|  | @ -128,6 +129,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> { | |||
|         }; | ||||
| 
 | ||||
|         ActiveRoomObserver.addListener(this.props.room.roomId, this.onActiveRoomUpdate); | ||||
|         MessagePreviewStore.instance.on(UPDATE_EVENT, this.onPreviewUpdated); | ||||
|         this.dispatcherRef = defaultDispatcher.register(this.onAction); | ||||
|     } | ||||
| 
 | ||||
|  | @ -150,9 +152,14 @@ export default class RoomTile2 extends React.Component<IProps, IState> { | |||
|         if (this.props.room) { | ||||
|             ActiveRoomObserver.removeListener(this.props.room.roomId, this.onActiveRoomUpdate); | ||||
|         } | ||||
|         MessagePreviewStore.instance.off(UPDATE_EVENT, this.onPreviewUpdated); | ||||
|         defaultDispatcher.unregister(this.dispatcherRef); | ||||
|     } | ||||
| 
 | ||||
|     private onPreviewUpdated = () => { | ||||
|         this.forceUpdate(); // we don't track the preview in state, so just re-render
 | ||||
|     }; | ||||
| 
 | ||||
|     private onAction = (payload: ActionPayload) => { | ||||
|         if (payload.action === "view_room" && payload.room_id === this.props.room.roomId && payload.show_room_tile) { | ||||
|             setImmediate(() => { | ||||
|  |  | |||
|  | @ -14,7 +14,8 @@ See the License for the specific language governing permissions and | |||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| import { TagID } from "./models"; | ||||
| import { DefaultTagID, TagID } from "./models"; | ||||
| import { isNullOrUndefined } from "matrix-js-sdk/src/utils"; | ||||
| 
 | ||||
| const TILE_HEIGHT_PX = 44; | ||||
| 
 | ||||
|  | @ -26,7 +27,7 @@ interface ISerializedListLayout { | |||
| 
 | ||||
| export class ListLayout { | ||||
|     private _n = 0; | ||||
|     private _previews = false; | ||||
|     private _previews: boolean | null = null; | ||||
|     private _collapsed = false; | ||||
| 
 | ||||
|     constructor(public readonly tagId: TagID) { | ||||
|  | @ -50,7 +51,12 @@ export class ListLayout { | |||
|     } | ||||
| 
 | ||||
|     public get showPreviews(): boolean { | ||||
|         return this._previews; | ||||
|         if (!isNullOrUndefined(this._previews)) { | ||||
|             return this._previews; | ||||
|         } | ||||
| 
 | ||||
|         // Turn it on for DMs by default, but not for other rooms
 | ||||
|         return this.tagId === DefaultTagID.DM; | ||||
|     } | ||||
| 
 | ||||
|     public set showPreviews(v: boolean) { | ||||
|  |  | |||
|  | @ -711,11 +711,6 @@ export class Algorithm extends EventEmitter { | |||
|                     if (!algorithm) throw new Error(`No algorithm for ${rmTag}`); | ||||
|                     await algorithm.handleRoomUpdate(room, RoomUpdateCause.RoomRemoved); | ||||
|                     this.cachedRooms[rmTag] = algorithm.orderedRooms; | ||||
| 
 | ||||
|                     // Later on we won't update the filtered rooms or sticky room for removed
 | ||||
|                     // tags, so do so now.
 | ||||
|                     this.recalculateFilteredRoomsForTag(rmTag); | ||||
|                     this.recalculateStickyRoom(rmTag); | ||||
|                 } | ||||
|                 for (const addTag of diff.added) { | ||||
|                     if (!window.mx_QuietRoomListLogging) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston