@@ -129,7 +129,7 @@ export default class CallView extends React.Component<IProps, IState> {
129
129
constructor ( props : IProps ) {
130
130
super ( props ) ;
131
131
132
- const { primary, secondary } = this . getOrderedFeeds ( this . props . call . getFeeds ( ) ) ;
132
+ const { primary, secondary } = CallView . getOrderedFeeds ( this . props . call . getFeeds ( ) ) ;
133
133
134
134
this . state = {
135
135
isLocalOnHold : this . props . call . isLocalOnHold ( ) ,
@@ -166,7 +166,16 @@ export default class CallView extends React.Component<IProps, IState> {
166
166
dis . unregister ( this . dispatcherRef ) ;
167
167
}
168
168
169
- public componentDidUpdate ( prevProps ) {
169
+ static getDerivedStateFromProps ( props : IProps ) : Partial < IState > {
170
+ const { primary, secondary } = CallView . getOrderedFeeds ( props . call . getFeeds ( ) ) ;
171
+
172
+ return {
173
+ primaryFeed : primary ,
174
+ secondaryFeeds : secondary ,
175
+ } ;
176
+ }
177
+
178
+ public componentDidUpdate ( prevProps : IProps ) : void {
170
179
if ( this . props . call === prevProps . call ) return ;
171
180
172
181
this . setState ( {
@@ -220,7 +229,7 @@ export default class CallView extends React.Component<IProps, IState> {
220
229
} ;
221
230
222
231
private onFeedsChanged = ( newFeeds : Array < CallFeed > ) => {
223
- const { primary, secondary } = this . getOrderedFeeds ( newFeeds ) ;
232
+ const { primary, secondary } = CallView . getOrderedFeeds ( newFeeds ) ;
224
233
this . setState ( {
225
234
primaryFeed : primary ,
226
235
secondaryFeeds : secondary ,
@@ -253,7 +262,7 @@ export default class CallView extends React.Component<IProps, IState> {
253
262
this . showControls ( ) ;
254
263
} ;
255
264
256
- private getOrderedFeeds ( feeds : Array < CallFeed > ) : { primary : CallFeed , secondary : Array < CallFeed > } {
265
+ static getOrderedFeeds ( feeds : Array < CallFeed > ) : { primary : CallFeed , secondary : Array < CallFeed > } {
257
266
let primary ;
258
267
259
268
// Try to use a screensharing as primary, a remote one if possible
0 commit comments