|  | @@ -61,6 +61,7 @@ function JitsiConference(options) {
 | 
		
	
		
			
			| 61 | 61 |          audio: undefined,
 | 
		
	
		
			
			| 62 | 62 |          video: undefined
 | 
		
	
		
			
			| 63 | 63 |      };
 | 
		
	
		
			
			|  | 64 | +    this.isMutedByFocus = false;
 | 
		
	
		
			
			| 64 | 65 |  }
 | 
		
	
		
			
			| 65 | 66 |  
 | 
		
	
		
			
			| 66 | 67 |  /**
 | 
		
	
	
		
			
			|  | @@ -308,6 +309,12 @@ JitsiConference.prototype._fireAudioLevelChangeEvent = function (audioLevel) {
 | 
		
	
		
			
			| 308 | 309 |   * @param track the JitsiTrack object related to the event.
 | 
		
	
		
			
			| 309 | 310 |   */
 | 
		
	
		
			
			| 310 | 311 |  JitsiConference.prototype._fireMuteChangeEvent = function (track) {
 | 
		
	
		
			
			|  | 312 | +    // check if track was muted by focus and now is unmuted by user
 | 
		
	
		
			
			|  | 313 | +    if (this.isMutedByFocus && track.isAudioTrack() && !track.isMuted()) {
 | 
		
	
		
			
			|  | 314 | +        this.isMutedByFocus = false;
 | 
		
	
		
			
			|  | 315 | +        // unmute local user on server
 | 
		
	
		
			
			|  | 316 | +        this.room.muteParticipant(this.room.myroomjid, false);
 | 
		
	
		
			
			|  | 317 | +    }
 | 
		
	
		
			
			| 311 | 318 |      this.eventEmitter.emit(JitsiConferenceEvents.TRACK_MUTE_CHANGED, track);
 | 
		
	
		
			
			| 312 | 319 |  };
 | 
		
	
		
			
			| 313 | 320 |  
 | 
		
	
	
		
			
			|  | @@ -794,6 +801,7 @@ function setupListeners(conference) {
 | 
		
	
		
			
			| 794 | 801 |      conference.room.addListener(XMPPEvents.AUDIO_MUTED_BY_FOCUS,
 | 
		
	
		
			
			| 795 | 802 |          function (value) {
 | 
		
	
		
			
			| 796 | 803 |              conference.rtc.setAudioMute(value);
 | 
		
	
		
			
			|  | 804 | +            conference.isMutedByFocus = true;
 | 
		
	
		
			
			| 797 | 805 |          }
 | 
		
	
		
			
			| 798 | 806 |      );
 | 
		
	
		
			
			| 799 | 807 |  
 |