Merge remote-tracking branch 'origin/develop' into gsouquet/fix-backdrop-filter

* origin/develop: (43 commits)
  Update copy to indicate debug logs contain which UI elements you last interacted with
  Fix name of Netlify workflow
  Add type declarations
  Fix pagination and improve typing
  Fix import
  Reset matrix-js-sdk back to develop branch
  v3.28.1
  Prepare changelog for v3.28.1
  Upgrade matrix-js-sdk to 12.3.1
  Explicitly handle first state change
  Properly listen for call_state
  Proper init in constructors
  Resetting package fields for development
  v3.28.0
  Prepare changelog for v3.28.0
  Fix error on accessing encrypted media without keys
  Fix call tile buttons
  Upgrade matrix-js-sdk to 12.3.0
  Remove test code; good job we have tests
  Fix dates
  ...
This commit is contained in:
Dariusz Niemczyk 2021-08-19 07:11:02 +02:00
commit 455a914cf3
No known key found for this signature in database
GPG key ID: 3E8DC619E3C59A05
23 changed files with 613 additions and 125 deletions

View file

@ -55,7 +55,7 @@ import { getKeyBindingsManager, NavigationAction, RoomAction } from '../../KeyBi
import { IOpts } from "../../createRoom";
import SpacePanel from "../views/spaces/SpacePanel";
import { replaceableComponent } from "../../utils/replaceableComponent";
import CallHandler, { CallHandlerEvent } from '../../CallHandler';
import CallHandler from '../../CallHandler';
import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call';
import AudioFeedArrayForCall from '../views/voip/AudioFeedArrayForCall';
import { OwnProfileStore } from '../../stores/OwnProfileStore';
@ -147,6 +147,7 @@ interface IState {
class LoggedInView extends React.Component<IProps, IState> {
static displayName = 'LoggedInView';
private dispatcherRef: string;
protected readonly _matrixClient: MatrixClient;
protected readonly _roomView: React.RefObject<any>;
protected readonly _resizeContainer: React.RefObject<ResizeHandle>;
@ -161,7 +162,7 @@ class LoggedInView extends React.Component<IProps, IState> {
// use compact timeline view
useCompactLayout: SettingsStore.getValue('useCompactLayout'),
usageLimitDismissed: false,
activeCalls: [],
activeCalls: CallHandler.sharedInstance().getAllActiveCalls(),
};
// stash the MatrixClient in case we log out before we are unmounted
@ -177,7 +178,7 @@ class LoggedInView extends React.Component<IProps, IState> {
componentDidMount() {
document.addEventListener('keydown', this.onNativeKeyDown, false);
CallHandler.sharedInstance().addListener(CallHandlerEvent.CallsChanged, this.onCallsChanged);
this.dispatcherRef = dis.register(this.onAction);
this.updateServerNoticeEvents();
@ -205,7 +206,7 @@ class LoggedInView extends React.Component<IProps, IState> {
componentWillUnmount() {
document.removeEventListener('keydown', this.onNativeKeyDown, false);
CallHandler.sharedInstance().removeListener(CallHandlerEvent.CallsChanged, this.onCallsChanged);
dis.unregister(this.dispatcherRef);
this._matrixClient.removeListener("accountData", this.onAccountData);
this._matrixClient.removeListener("sync", this.onSync);
this._matrixClient.removeListener("RoomState.events", this.onRoomStateEvents);
@ -224,6 +225,17 @@ class LoggedInView extends React.Component<IProps, IState> {
this.setState({
activeCalls: CallHandler.sharedInstance().getAllActiveCalls(),
});
private onAction = (payload): void => {
switch (payload.action) {
case 'call_state': {
const activeCalls = CallHandler.sharedInstance().getAllActiveCalls();
if (activeCalls !== this.state.activeCalls) {
this.setState({ activeCalls });
}
break;
}
}
};
public canResetTimelineInRoom = (roomId: string) => {