{"action":"created","comment":{"url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/comments/103422215","pull_request_review_id":24199783,"id":103422215,"diff_hunk":"@@ -260,94 +362,134 @@ export default class RTC extends Listenable {\n      * @returns {Promise}\n      */\n     setAudioMute (value) {\n-        var mutePromises = [];\n-        for(var i = 0; i < this.localTracks.length; i++) {\n-            var track = this.localTracks[i];\n-            if(track.getType() !== MediaType.AUDIO) {\n-                continue;\n-            }\n+        const mutePromises = [];\n+        this.getLocalTracks(MediaType.AUDIO).forEach(function(audioTrack){\n             // this is a Promise\n-            mutePromises.push(value ? track.mute() : track.unmute());\n-        }\n+            mutePromises.push(value ? audioTrack.mute() : audioTrack.unmute());\n+        });\n         // we return a Promise from all Promises so we can wait for their execution\n         return Promise.all(mutePromises);\n     }\n \n     removeLocalTrack (track) {\n-        var pos = this.localTracks.indexOf(track);\n+        const pos = this.localTracks.indexOf(track);\n         if (pos === -1) {\n             return;\n         }\n \n         this.localTracks.splice(pos, 1);\n-\n-        if (track.isAudioTrack()) {\n-            this.localAudio = null;\n-        } else {\n-            this.localVideo = null;\n-        }\n     }\n \n     /**\n-     * Initializes a new JitsiRemoteTrack instance with the data provided by (a)\n-     * ChatRoom to XMPPEvents.REMOTE_TRACK_ADDED.\n+     * Initializes a new JitsiRemoteTrack instance with the data provided by\n+     * the signalling layer and SDP.\n      *\n-     * @param {Object} event the data provided by (a) ChatRoom to\n-     * XMPPEvents.REMOTE_TRACK_ADDED to (a)\n-     */\n-    createRemoteTrack (event) {\n-        var ownerJid = event.owner;\n-        var remoteTrack = new JitsiRemoteTrack(\n-            this, this.conference, ownerJid, event.stream, event.track,\n-            event.mediaType, event.videoType, event.ssrc, event.muted);\n-        var resource = Strophe.getResourceFromJid(ownerJid);\n-        var remoteTracks\n-            = this.remoteTracks[resource] || (this.remoteTracks[resource] = {});\n-        var mediaType = remoteTrack.getType();\n+     * @param {string} owner\n+     * @param {MediaStream} stream\n+     * @param {MediaStreamTrack} track\n+     * @param {MediaType} mediaType\n+     * @param {VideoType|undefined} videoType\n+     * @param {string} ssrc\n+     * @param {boolean} muted\n+     */\n+    _createRemoteTrack (owner,\n+                        stream, track, mediaType, videoType, ssrc, muted) {\n+        const remoteTrack\n+            = new JitsiRemoteTrack(\n+                this, this.conference, owner, stream, track,\n+                mediaType, videoType, ssrc, muted);\n+        const remoteTracks\n+            = this.remoteTracks[owner] || (this.remoteTracks[owner] = {});\n+\n         if (remoteTracks[mediaType]) {\n-            logger.warn(\"Overwriting remote track!\", resource, mediaType);\n+            logger.error(\"Overwriting remote track!\", owner, mediaType);\n         }\n         remoteTracks[mediaType] = remoteTrack;\n-        return remoteTrack;\n+\n+        this.eventEmitter.emit(RTCEvents.REMOTE_TRACK_ADDED, remoteTrack);\n     }\n \n     /**\n-     * Removes all JitsiRemoteTracks associated with given MUC nickname (resource\n-     * part of the JID). Returns array of removed tracks.\n+     * Removes all JitsiRemoteTracks associated with given MUC nickname\n+     * (resource part of the JID). Returns array of removed tracks.\n      *\n-     * @param {string} resource - The resource part of the MUC JID.\n+     * @param {string} owner - The resource part of the MUC JID.\n      * @returns {JitsiRemoteTrack[]}\n      */\n-    removeRemoteTracks (resource) {\n-        var removedTracks = [];\n-        var removedAudioTrack = this.removeRemoteTrack(resource, MediaType.AUDIO);\n-        var removedVideoTrack = this.removeRemoteTrack(resource, MediaType.VIDEO);\n+    removeRemoteTracks (owner) {\n+        const removedTracks = [];\n \n-        removedAudioTrack && removedTracks.push(removedAudioTrack);\n-        removedVideoTrack && removedTracks.push(removedVideoTrack);\n+        if (this.remoteTracks[owner]) {\n+            const removedAudioTrack\n+                = this.remoteTracks[owner][MediaType.AUDIO];\n+            const removedVideoTrack\n+                = this.remoteTracks[owner][MediaType.VIDEO];\n \n-        delete this.remoteTracks[resource];\n+            removedAudioTrack && removedTracks.push(removedAudioTrack);\n+            removedVideoTrack && removedTracks.push(removedVideoTrack);\n \n+            delete this.remoteTracks[owner];\n+        }\n         return removedTracks;\n     }\n \n     /**\n-     * Removes specified track type associated with given MUC nickname\n-     * (resource part of the JID). Returns removed track if any.\n+     * Finds remote track by it's stream and track ids.\n+     * @param {string} streamId the media stream id as defined by the WebRTC\n+     * @param {string} trackId the media track id as defined by the WebRTC\n+     * @return {JitsiRemoteTrack|undefined}\n+     * @private\n+     */\n+    _getRemoteTrackById (streamId, trackId) {\n+        let result = undefined;\n+\n+        // .find will break the loop once the first match is found\n+        Object.keys(this.remoteTracks).find(function(endpoint) {\n+            const endpointTracks = this.remoteTracks[endpoint];\n+\n+            return endpointTracks && Object.keys(endpointTracks).find(\n+                function (mediaType) {\n+                    const mediaTrack = endpointTracks[mediaType];\n+\n+                    if (mediaTrack\n+                        && mediaTrack.getStreamId() == streamId\n+                        && mediaTrack.getTrackId() == trackId) {\n+                        result = mediaTrack;\n+                        return true;\n+                    } else {\n+                        return false;\n+                    }\n+                });\n+        }, this);\n+\n+        return result;\n+    }\n+\n+    /**\n+     * Removes <tt>JitsiRemoteTrack</tt> identified by given stream and track\n+     * ids.\n      *\n-     * @param {string} resource - The resource part of the MUC JID.\n-     * @param {string} mediaType - Type of track to remove.\n-     * @returns {JitsiRemoteTrack|undefined}\n-     */\n-    removeRemoteTrack (resource, mediaType) {\n-        var remoteTracksForResource = this.remoteTracks[resource];\n-\n-        if (remoteTracksForResource && remoteTracksForResource[mediaType]) {\n-            var track = remoteTracksForResource[mediaType];\n-            track.dispose();\n-            delete remoteTracksForResource[mediaType];\n-            return track;\n+     * @param {string} streamId the media stream id as defined by the WebRTC\n+     * @param {string} trackId the media track id as defined by the WebRTC\n+     * @returns {JitsiRemoteTrack|undefined} the track which has been removed or\n+     * <tt>undefined</tt> if no track matching given stream and track ids was\n+     * found.\n+     */\n+    _removeRemoteTrack (streamId, trackId) {\n+","path":"modules/RTC/RTC.js","position":359,"original_position":359,"commit_id":"7c9519a0e977c1a77899a3bfc45b873413fd18ff","original_commit_id":"7c9519a0e977c1a77899a3bfc45b873413fd18ff","user":{"login":"saghul","id":317464,"avatar_url":"https://avatars.githubusercontent.com/u/317464?v=3","gravatar_id":"","url":"https://api.github.com/users/saghul","html_url":"https://github.com/saghul","followers_url":"https://api.github.com/users/saghul/followers","following_url":"https://api.github.com/users/saghul/following{/other_user}","gists_url":"https://api.github.com/users/saghul/gists{/gist_id}","starred_url":"https://api.github.com/users/saghul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saghul/subscriptions","organizations_url":"https://api.github.com/users/saghul/orgs","repos_url":"https://api.github.com/users/saghul/repos","events_url":"https://api.github.com/users/saghul/events{/privacy}","received_events_url":"https://api.github.com/users/saghul/received_events","type":"User","site_admin":false},"body":"empty line?","created_at":"2017-02-28T10:28:25Z","updated_at":"2017-02-28T10:46:51Z","html_url":"https://github.com/jitsi/lib-jitsi-meet/pull/373#discussion_r103422215","pull_request_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373","_links":{"self":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/comments/103422215"},"html":{"href":"https://github.com/jitsi/lib-jitsi-meet/pull/373#discussion_r103422215"},"pull_request":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373"}}},"pull_request":{"url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373","id":108193626,"html_url":"https://github.com/jitsi/lib-jitsi-meet/pull/373","diff_url":"https://github.com/jitsi/lib-jitsi-meet/pull/373.diff","patch_url":"https://github.com/jitsi/lib-jitsi-meet/pull/373.patch","issue_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/373","number":373,"state":"open","locked":false,"title":"Move TraceablePeerConnection to RTC","user":{"login":"paweldomas","id":2965063,"avatar_url":"https://avatars.githubusercontent.com/u/2965063?v=3","gravatar_id":"","url":"https://api.github.com/users/paweldomas","html_url":"https://github.com/paweldomas","followers_url":"https://api.github.com/users/paweldomas/followers","following_url":"https://api.github.com/users/paweldomas/following{/other_user}","gists_url":"https://api.github.com/users/paweldomas/gists{/gist_id}","starred_url":"https://api.github.com/users/paweldomas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paweldomas/subscriptions","organizations_url":"https://api.github.com/users/paweldomas/orgs","repos_url":"https://api.github.com/users/paweldomas/repos","events_url":"https://api.github.com/users/paweldomas/events{/privacy}","received_events_url":"https://api.github.com/users/paweldomas/received_events","type":"User","site_admin":false},"body":"The purpose of this PR is to move TraceablePeerConnection to the RTC module where it belongs.","created_at":"2017-02-27T20:23:06Z","updated_at":"2017-02-28T10:46:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb1f668620d6d7145c118470e70c50dac7e2b5ef","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373/commits","review_comments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373/comments","review_comment_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/373/comments","statuses_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/statuses/7c9519a0e977c1a77899a3bfc45b873413fd18ff","head":{"label":"jitsi:move_TPC","ref":"move_TPC","sha":"7c9519a0e977c1a77899a3bfc45b873413fd18ff","user":{"login":"jitsi","id":3671647,"avatar_url":"https://avatars.githubusercontent.com/u/3671647?v=3","gravatar_id":"","url":"https://api.github.com/users/jitsi","html_url":"https://github.com/jitsi","followers_url":"https://api.github.com/users/jitsi/followers","following_url":"https://api.github.com/users/jitsi/following{/other_user}","gists_url":"https://api.github.com/users/jitsi/gists{/gist_id}","starred_url":"https://api.github.com/users/jitsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jitsi/subscriptions","organizations_url":"https://api.github.com/users/jitsi/orgs","repos_url":"https://api.github.com/users/jitsi/repos","events_url":"https://api.github.com/users/jitsi/events{/privacy}","received_events_url":"https://api.github.com/users/jitsi/received_events","type":"Organization","site_admin":false},"repo":{"id":50543360,"name":"lib-jitsi-meet","full_name":"jitsi/lib-jitsi-meet","owner":{"login":"jitsi","id":3671647,"avatar_url":"https://avatars.githubusercontent.com/u/3671647?v=3","gravatar_id":"","url":"https://api.github.com/users/jitsi","html_url":"https://github.com/jitsi","followers_url":"https://api.github.com/users/jitsi/followers","following_url":"https://api.github.com/users/jitsi/following{/other_user}","gists_url":"https://api.github.com/users/jitsi/gists{/gist_id}","starred_url":"https://api.github.com/users/jitsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jitsi/subscriptions","organizations_url":"https://api.github.com/users/jitsi/orgs","repos_url":"https://api.github.com/users/jitsi/repos","events_url":"https://api.github.com/users/jitsi/events{/privacy}","received_events_url":"https://api.github.com/users/jitsi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jitsi/lib-jitsi-meet","description":"A low-level JS video API that allows adding a completely custom video experience to web apps.","fork":false,"url":"https://api.github.com/repos/jitsi/lib-jitsi-meet","forks_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/forks","keys_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/teams","hooks_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/hooks","issue_events_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/events{/number}","events_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/events","assignees_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/assignees{/user}","branches_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/branches{/branch}","tags_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/tags","blobs_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/refs{/sha}","trees_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/statuses/{sha}","languages_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/languages","stargazers_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/stargazers","contributors_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/contributors","subscribers_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/subscribers","subscription_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/subscription","commits_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/commits{/sha}","git_commits_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/commits{/sha}","comments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/comments{/number}","issue_comment_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/comments{/number}","contents_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/contents/{+path}","compare_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/merges","archive_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/downloads","issues_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues{/number}","pulls_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls{/number}","milestones_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/milestones{/number}","notifications_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/labels{/name}","releases_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/releases{/id}","deployments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/deployments","created_at":"2016-01-27T22:44:09Z","updated_at":"2017-02-23T23:04:20Z","pushed_at":"2017-02-28T06:48:01Z","git_url":"git://github.com/jitsi/lib-jitsi-meet.git","ssh_url":"git@github.com:jitsi/lib-jitsi-meet.git","clone_url":"https://github.com/jitsi/lib-jitsi-meet.git","svn_url":"https://github.com/jitsi/lib-jitsi-meet","homepage":"","size":4893,"stargazers_count":27,"watchers_count":27,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"open_issues_count":30,"forks":64,"open_issues":30,"watchers":27,"default_branch":"master"}},"base":{"label":"jitsi:master","ref":"master","sha":"d904edbc0b815fd41bd028c2f1d4df372b0bb61a","user":{"login":"jitsi","id":3671647,"avatar_url":"https://avatars.githubusercontent.com/u/3671647?v=3","gravatar_id":"","url":"https://api.github.com/users/jitsi","html_url":"https://github.com/jitsi","followers_url":"https://api.github.com/users/jitsi/followers","following_url":"https://api.github.com/users/jitsi/following{/other_user}","gists_url":"https://api.github.com/users/jitsi/gists{/gist_id}","starred_url":"https://api.github.com/users/jitsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jitsi/subscriptions","organizations_url":"https://api.github.com/users/jitsi/orgs","repos_url":"https://api.github.com/users/jitsi/repos","events_url":"https://api.github.com/users/jitsi/events{/privacy}","received_events_url":"https://api.github.com/users/jitsi/received_events","type":"Organization","site_admin":false},"repo":{"id":50543360,"name":"lib-jitsi-meet","full_name":"jitsi/lib-jitsi-meet","owner":{"login":"jitsi","id":3671647,"avatar_url":"https://avatars.githubusercontent.com/u/3671647?v=3","gravatar_id":"","url":"https://api.github.com/users/jitsi","html_url":"https://github.com/jitsi","followers_url":"https://api.github.com/users/jitsi/followers","following_url":"https://api.github.com/users/jitsi/following{/other_user}","gists_url":"https://api.github.com/users/jitsi/gists{/gist_id}","starred_url":"https://api.github.com/users/jitsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jitsi/subscriptions","organizations_url":"https://api.github.com/users/jitsi/orgs","repos_url":"https://api.github.com/users/jitsi/repos","events_url":"https://api.github.com/users/jitsi/events{/privacy}","received_events_url":"https://api.github.com/users/jitsi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jitsi/lib-jitsi-meet","description":"A low-level JS video API that allows adding a completely custom video experience to web apps.","fork":false,"url":"https://api.github.com/repos/jitsi/lib-jitsi-meet","forks_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/forks","keys_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/teams","hooks_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/hooks","issue_events_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/events{/number}","events_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/events","assignees_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/assignees{/user}","branches_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/branches{/branch}","tags_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/tags","blobs_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/refs{/sha}","trees_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/statuses/{sha}","languages_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/languages","stargazers_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/stargazers","contributors_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/contributors","subscribers_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/subscribers","subscription_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/subscription","commits_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/commits{/sha}","git_commits_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/git/commits{/sha}","comments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/comments{/number}","issue_comment_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/comments{/number}","contents_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/contents/{+path}","compare_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/merges","archive_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/downloads","issues_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues{/number}","pulls_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls{/number}","milestones_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/milestones{/number}","notifications_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/labels{/name}","releases_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/releases{/id}","deployments_url":"https://api.github.com/repos/jitsi/lib-jitsi-meet/deployments","created_at":"2016-01-27T22:44:09Z","updated_at":"2017-02-23T23:04:20Z","pushed_at":"2017-02-28T06:48:01Z","git_url":"git://github.com/jitsi/lib-jitsi-meet.git","ssh_url":"git@github.com:jitsi/lib-jitsi-meet.git","clone_url":"https://github.com/jitsi/lib-jitsi-meet.git","svn_url":"https://github.com/jitsi/lib-jitsi-meet","homepage":"","size":4893,"stargazers_count":27,"watchers_count":27,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"open_issues_count":30,"forks":64,"open_issues":30,"watchers":27,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373"},"html":{"href":"https://github.com/jitsi/lib-jitsi-meet/pull/373"},"issue":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/373"},"comments":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/issues/373/comments"},"review_comments":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373/comments"},"review_comment":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/pulls/373/commits"},"statuses":{"href":"https://api.github.com/repos/jitsi/lib-jitsi-meet/statuses/7c9519a0e977c1a77899a3bfc45b873413fd18ff"}}}}
{"actor":{"display_login":"saghul"}}