Compare commits

..

1 Commits

Author SHA1 Message Date
Jaya Allamsetty
94243c797c feat(tracks) Adds UI notification when SS is killed by macOS.
* feat(tracks) Adds UI notification when SS is killed by macOS.
2026-03-17 16:13:56 -04:00
3 changed files with 11 additions and 2 deletions

View File

@@ -174,7 +174,7 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
- name: Cache CocoaPods
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 #v5.0.3
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 #v4.2.0
with:
path: |
ios/Pods

View File

@@ -469,6 +469,8 @@
"screenSharingFailed": "Oops! Something went wrong, we weren't able to start screen sharing!",
"screenSharingFailedTitle": "Screen sharing failed!",
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing permissions. Please reload and try again.",
"screenshareStoppedDiskSpace": "This happens if you used the macOS's floating toolbar to stop screen sharing. It may also be due to low disk space.",
"screenshareStoppedTitle": "Screen sharing stopped via system",
"searchInSalesforce": "Search in Salesforce",
"searchResults": "Search results({{count}})",
"searchResultsDetailsError": "Something went wrong while retrieving owner data.",

View File

@@ -1,10 +1,11 @@
import { createTrackMutedEvent } from '../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../analytics/functions';
import { IStore } from '../../app/types';
import { showErrorNotification, showNotification } from '../../notifications/actions';
import { showErrorNotification, showNotification, showWarningNotification } from '../../notifications/actions';
import { NOTIFICATION_TIMEOUT, NOTIFICATION_TIMEOUT_TYPE } from '../../notifications/constants';
import { getCurrentConference } from '../conference/functions';
import { IJitsiConference } from '../conference/reducer';
import { isMacOS } from '../environment/environment';
import { JitsiTrackErrors, JitsiTrackEvents } from '../lib-jitsi-meet';
import { setAudioMuted, setScreenshareMuted, setVideoMuted } from '../media/actions';
import {
@@ -439,6 +440,12 @@ export function trackAdded(track: any) {
track.on(JitsiTrackEvents.LOCAL_TRACK_STOPPED,
() => {
logger.debug(`Local track stopped: ${track}, removing it from the conference`);
if (mediaType === MEDIA_TYPE.SCREENSHARE && isMacOS()) {
dispatch(showWarningNotification({
descriptionKey: 'dialog.screenshareStoppedDiskSpace',
titleKey: 'dialog.screenshareStoppedTitle'
}, NOTIFICATION_TIMEOUT_TYPE.LONG));
}
dispatch({
type: TRACK_STOPPED,
track: {