Compare commits

...

4 Commits

Author SHA1 Message Date
Hristo Terezov 27aee47554 fix(presenter): Broken stop SS + presenter.
Fixes an issue - not able to stop the screen sharing in presenter
mode from the screen sharing button.
2022-06-08 12:31:32 -05:00
Avram Tudor 86bfc88e4b fix(prejoin) fix styling of avatar (#11629) 2022-06-08 13:20:08 +03:00
Дамян Минков c9da93bcc4 feat: Fix display name in prejoin stealing focus.
When there is a password and lobby enabled, participants cannot enter password as the display name is stealing the focus.
When there is just password set the same field steals the focus from the password prompt.
2022-06-07 16:55:57 -05:00
Jaya Allamsetty d8d7224dc4 chore(deps) Cherry-pick fix for broken wireless SS on spot.
6a8d099732.
2022-06-07 11:22:35 -04:00
6 changed files with 41 additions and 16 deletions

View File

@ -1650,12 +1650,26 @@ export default {
let promise = _prevMutePresenterVideo = _prevMutePresenterVideo.then(() => {
// mute the presenter track if it exists.
if (this.localPresenterVideo) {
APP.store.dispatch(setVideoMuted(true, MEDIA_TYPE.PRESENTER));
return (
this.localPresenterVideo.dispose().then(() => {
APP.store.dispatch(trackRemoved(this.localPresenterVideo));
this.localPresenterVideo = null;
})
.then(() => {
return this.localPresenterVideo.dispose().then(() => {
APP.store.dispatch(trackRemoved(this.localPresenterVideo));
this.localPresenterVideo = null;
});
// This is needed only for setting the correct muted state in features/base/media.
// NOTE: It is important to be executed after we have disposed and removed the presenter track.
// This way all the side effects won't be executed and we won't start additional O/A cycle for
// replacing the track with video with the one without video. This O/A cycle is not needed since
// we are trying to destroy all tracks. Also due to the current async nature of muting the
// presenter, the final removal of the screen sharing track (see the code at the end of the
// function) can be executed between the removal of the stream with video and adding the
// original screen sharing stream to the peer connection. This will lead to a failure to remove
// the screen sharing track, compromising the screen sharing state in jitsi-meet and the user
// won't be able to turn off the screen sharing.
APP.store.dispatch(setVideoMuted(true, MEDIA_TYPE.PRESENTER));
})
);
}
});

View File

@ -14,6 +14,11 @@
margin-bottom: 32px;
text-align: center;
}
&-container {
display: flex;
flex-direction: column;
}
}
&-error {

11
package-lock.json generated
View File

@ -73,7 +73,7 @@
"jquery-i18next": "1.2.1",
"js-md5": "0.6.1",
"jwt-decode": "2.2.0",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1439.0.0+42f5b4bf/lib-jitsi-meet.tgz",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet#6a8d099732b01056bb2b791e281e4e0f3ef585e4",
"lodash": "4.17.21",
"moment": "2.29.2",
"moment-duration-format": "2.2.2",
@ -12132,8 +12132,8 @@
},
"node_modules/lib-jitsi-meet": {
"version": "0.0.0",
"resolved": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1439.0.0+42f5b4bf/lib-jitsi-meet.tgz",
"integrity": "sha512-wkftHl4fNF/KdkxOkvHsxZX9jof3CDr6RraIeH/nzQBIrh2MTEfAPZBv4+zaGuPoKolbiNBbkSgB9pJ8cwh03Q==",
"resolved": "git+ssh://git@github.com/jitsi/lib-jitsi-meet.git#6a8d099732b01056bb2b791e281e4e0f3ef585e4",
"integrity": "sha512-ViVoSLY8A9WQckLwxBGsSFPafQMGvZBG2V+4BHaFDmxSSgSR2CnQo7GRx8wNZKYIfRmVntQMXducY6dydC/Sfg==",
"license": "Apache-2.0",
"dependencies": {
"@jitsi/js-utils": "2.0.0",
@ -29276,8 +29276,9 @@
}
},
"lib-jitsi-meet": {
"version": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1439.0.0+42f5b4bf/lib-jitsi-meet.tgz",
"integrity": "sha512-wkftHl4fNF/KdkxOkvHsxZX9jof3CDr6RraIeH/nzQBIrh2MTEfAPZBv4+zaGuPoKolbiNBbkSgB9pJ8cwh03Q==",
"version": "git+ssh://git@github.com/jitsi/lib-jitsi-meet.git#6a8d099732b01056bb2b791e281e4e0f3ef585e4",
"integrity": "sha512-ViVoSLY8A9WQckLwxBGsSFPafQMGvZBG2V+4BHaFDmxSSgSR2CnQo7GRx8wNZKYIfRmVntQMXducY6dydC/Sfg==",
"from": "lib-jitsi-meet@https://github.com/jitsi/lib-jitsi-meet#6a8d099732b01056bb2b791e281e4e0f3ef585e4",
"requires": {
"@jitsi/js-utils": "2.0.0",
"@jitsi/logger": "2.0.0",

View File

@ -78,7 +78,7 @@
"jquery-i18next": "1.2.1",
"js-md5": "0.6.1",
"jwt-decode": "2.2.0",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1439.0.0+42f5b4bf/lib-jitsi-meet.tgz",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet#6a8d099732b01056bb2b791e281e4e0f3ef585e4",
"lodash": "4.17.21",
"moment": "2.29.2",
"moment-duration-format": "2.2.2",

View File

@ -44,9 +44,14 @@ MiddlewareRegistry.register(store => next => action => {
break;
}
case CONFERENCE_FAILED: {
enableForcedReload
&& action.error?.name === JitsiConferenceErrors.CONFERENCE_RESTARTED
&& dispatch(setSkipPrejoinOnReload(true));
const errorName = action.error?.name;
if (errorName === JitsiConferenceErrors.MEMBERS_ONLY_ERROR
|| errorName === JitsiConferenceErrors.PASSWORD_REQUIRED) {
dispatch(setPrejoinPageVisibility(false));
} else if (enableForcedReload && errorName === JitsiConferenceErrors.CONFERENCE_RESTARTED) {
dispatch(setSkipPrejoinOnReload(true));
}
break;
}

View File

@ -387,14 +387,14 @@ class Prejoin extends Component<Props, State> {
readOnly = { readOnlyName }
value = { name } />
) : (
<>
<div className = 'prejoin-avatar-container'>
<Avatar
className = 'prejoin-avatar'
displayName = { name }
participantId = { participantId }
size = { 72 } />
<div className = 'prejoin-avatar-name'>{name}</div>
</>
</div>
)}
{showError && <div