Fix bugs identified by the typescripting
							parent
							
								
									0ae4e7b11d
								
							
						
					
					
						commit
						233e2aa425
					
				|  | @ -15,10 +15,12 @@ limitations under the License. | |||
| */ | ||||
| 
 | ||||
| import React from 'react'; | ||||
| import { MatrixClientPeg } from "../../../MatrixClientPeg"; | ||||
| import { Room } from 'matrix-js-sdk/src/models/room' | ||||
| import AppsDrawer from './AppsDrawer'; | ||||
| import classNames from 'classnames'; | ||||
| import { lexicographicCompare } from 'matrix-js-sdk/src/utils'; | ||||
| import { Room } from 'matrix-js-sdk/src/models/room' | ||||
| 
 | ||||
| import { MatrixClientPeg } from "../../../MatrixClientPeg"; | ||||
| import AppsDrawer from './AppsDrawer'; | ||||
| import RateLimitedFunc from '../../../ratelimitedfunc'; | ||||
| import SettingsStore from "../../../settings/SettingsStore"; | ||||
| import AutoHideScrollbar from "../../structures/AutoHideScrollbar"; | ||||
|  | @ -106,9 +108,7 @@ export default class AuxPanel extends React.Component<IProps, IState> { | |||
| 
 | ||||
|         if (this.props.room && SettingsStore.getValue("feature_state_counters")) { | ||||
|             const stateEvs = this.props.room.currentState.getStateEvents('re.jki.counter'); | ||||
|             stateEvs.sort((a, b) => { | ||||
|                 return a.getStateKey() < b.getStateKey(); | ||||
|             }); | ||||
|             stateEvs.sort((a, b) => lexicographicCompare(a.getStateKey(), b.getStateKey())); | ||||
| 
 | ||||
|             for (const ev of stateEvs) { | ||||
|                 const title = ev.getContent().title; | ||||
|  |  | |||
|  | @ -119,7 +119,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> { | |||
|     }; | ||||
| 
 | ||||
|     private onLocalEchoUpdated = (ev: MatrixEvent, room: Room) => { | ||||
|         if (!room?.roomId === this.props.room.roomId) return; | ||||
|         if (room?.roomId !== this.props.room.roomId) return; | ||||
|         this.setState({hasUnsentEvents: this.countUnsentEvents() > 0}); | ||||
|     }; | ||||
| 
 | ||||
|  | @ -316,7 +316,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> { | |||
|                 0, | ||||
|             )); | ||||
|         } else { | ||||
|             console.warn(`Unexpected tag ${tagId} applied to ${this.props.room.room_id}`); | ||||
|             console.warn(`Unexpected tag ${tagId} applied to ${this.props.room.roomId}`); | ||||
|         } | ||||
| 
 | ||||
|         if ((ev as React.KeyboardEvent).key === Key.ENTER) { | ||||
|  |  | |||
|  | @ -107,8 +107,9 @@ export class CommunityPrototypeStore extends AsyncStoreWithClient<IState> { | |||
| 
 | ||||
|         const pl = generalChat.currentState.getStateEvents("m.room.power_levels", ""); | ||||
|         if (!pl) return this.isAdminOf(communityId); | ||||
|         const plContent = pl.getContent(); | ||||
| 
 | ||||
|         const invitePl = isNullOrUndefined(pl.invite) ? 50 : Number(pl.invite); | ||||
|         const invitePl = isNullOrUndefined(plContent.invite) ? 50 : Number(plContent.invite); | ||||
|         return invitePl <= myMember.powerLevel; | ||||
|     } | ||||
| 
 | ||||
|  | @ -159,10 +160,16 @@ export class CommunityPrototypeStore extends AsyncStoreWithClient<IState> { | |||
|         if (SettingsStore.getValue("feature_communities_v2_prototypes")) { | ||||
|             const data = this.matrixClient.getAccountData("im.vector.group_info." + roomId); | ||||
|             if (data && data.getContent()) { | ||||
|                 return {displayName: data.getContent().name, avatarMxc: data.getContent().avatar_url}; | ||||
|                 return { | ||||
|                     displayName: data.getContent().name, | ||||
|                     avatarMxc: data.getContent().avatar_url, | ||||
|                 }; | ||||
|             } | ||||
|         } | ||||
|         return {displayName: room.name, avatarMxc: room.avatar_url}; | ||||
|         return { | ||||
|             displayName: room.name, | ||||
|             avatarMxc: room.getMxcAvatarUrl(), | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     protected async onReady(): Promise<any> { | ||||
|  |  | |||
|  | @ -133,7 +133,7 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> { | |||
|             // if the space being selected is an invite then always view that invite
 | ||||
|             // else if the last viewed room in this space is joined then view that
 | ||||
|             // else view space home or home depending on what is being clicked on
 | ||||
|             if (space?.getMyMembership !== "invite" && | ||||
|             if (space?.getMyMembership() !== "invite" && | ||||
|                 this.matrixClient?.getRoom(roomId)?.getMyMembership() === "join" | ||||
|             ) { | ||||
|                 defaultDispatcher.dispatch({ | ||||
|  | @ -423,8 +423,14 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> { | |||
|             parent = this.rootSpaces.find(s => this.spaceFilteredRooms.get(s.roomId)?.has(roomId)); | ||||
|         } | ||||
|         if (!parent) { | ||||
|             const parents = Array.from(this.parentMap.get(roomId) || []); | ||||
|             parent = parents.find(p => this.matrixClient.getRoom(p)); | ||||
|             const parentIds = Array.from(this.parentMap.get(roomId) || []); | ||||
|             for (const parentId of parentIds) { | ||||
|                 const room = this.matrixClient.getRoom(parentId); | ||||
|                 if (room) { | ||||
|                     parent = room; | ||||
|                     break; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // don't trigger a context switch when we are switching a space to match the chosen room
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski