snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-15 15:56:32 +05:00
commit 1d2bfcac0c
3159 changed files with 464524 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
// @ts-expect-error
import { PostMessageTransportBackend, Transport } from '../../../modules/transport';
import {
CONFERENCE_JOINED,
CONFERENCE_LEFT
} from '../base/conference/actionTypes';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import { destroyLocalTracks } from '../base/tracks/actions';
import { SUSPEND_DETECTED } from './actionTypes';
import {
setTransport,
suspendDetected
} from './actions';
MiddlewareRegistry.register(store => next => action => {
const result = next(action);
const { dispatch, getState } = store;
switch (action.type) {
case CONFERENCE_JOINED: {
// listens for messages about suspend from power-monitor
const transport = new Transport({
backend: new PostMessageTransportBackend({
postisOptions: { scope: 'jitsi-power-monitor' }
})
});
transport.on('event', (event: { event: string; name: string; }) => {
if (event && event.name === 'power-monitor' && event.event === 'suspend') {
dispatch(suspendDetected());
return true;
}
return false;
});
dispatch(setTransport(transport));
break;
}
case CONFERENCE_LEFT: {
const { transport } = getState()['features/power-monitor'];
if (transport) {
transport.dispose();
}
dispatch(setTransport());
break;
}
case SUSPEND_DETECTED: {
dispatch(destroyLocalTracks());
// FIXME: when refactoring conference.js
APP.conference.onSuspendDetected();
APP.API.notifySuspendDetected();
break;
}
}
return result;
});