{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":526127405,"defaultBranch":"master","name":"twilio-voice.js","ownerLogin":"salemove","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-08-18T08:40:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5281619?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1709193775.0","currentOid":""},"activityList":{"items":[{"before":"39392ad614eb6f6e0795f74b657f929e528bb191","after":null,"ref":"refs/heads/MED-706-always-update-all-speaker-sinks","pushedAt":"2024-02-29T08:02:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"}},{"before":"a78137bd73dbcbd1281502d862fe1d03a787e08d","after":"d510c69a649b2b8a7ac8353c2466f02e61e39c5b","ref":"refs/heads/master","pushedAt":"2024-02-28T11:47:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ostap0207","name":"Ostap","path":"/ostap0207","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2852092?s=80&v=4"},"commit":{"message":"Merge pull request #3 from salemove/MED-706-always-update-all-speaker-sinks-2\n\nConsider device key '' when evaluating for 'default' device","shortMessageHtmlLink":"Merge pull request #3 from salemove/MED-706-always-update-all-speaker…"}},{"before":null,"after":"04bd8ca5d59184846981e3fc90dffdcd7e348c7f","ref":"refs/heads/MED-706-always-update-all-speaker-sinks-2","pushedAt":"2024-02-28T09:49:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ostap0207","name":"Ostap","path":"/ostap0207","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2852092?s=80&v=4"},"commit":{"message":"Build 2.10.3-dev-echo-fix","shortMessageHtmlLink":"Build 2.10.3-dev-echo-fix"}},{"before":"04bd8ca5d59184846981e3fc90dffdcd7e348c7f","after":null,"ref":"refs/heads/MED-706-always-update-all-speaker-sinks-2","pushedAt":"2024-02-28T09:48:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ostap0207","name":"Ostap","path":"/ostap0207","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2852092?s=80&v=4"}},{"before":null,"after":"04bd8ca5d59184846981e3fc90dffdcd7e348c7f","ref":"refs/heads/MED-706-always-update-all-speaker-sinks-2","pushedAt":"2024-02-28T09:48:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ostap0207","name":"Ostap","path":"/ostap0207","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2852092?s=80&v=4"},"commit":{"message":"Build 2.10.3-dev-echo-fix","shortMessageHtmlLink":"Build 2.10.3-dev-echo-fix"}},{"before":"2451e8ec570266511712371ea2a25b39eaa2d6ad","after":"a78137bd73dbcbd1281502d862fe1d03a787e08d","ref":"refs/heads/master","pushedAt":"2024-02-28T08:30:44.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"ostap0207","name":"Ostap","path":"/ostap0207","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2852092?s=80&v=4"},"commit":{"message":"2.10.3-dev","shortMessageHtmlLink":"2.10.3-dev"}},{"before":null,"after":"86553b1db124264eef93d755636f3b09303ae9f9","ref":"refs/heads/prevent-duplicate-audio-playback","pushedAt":"2024-01-26T14:19:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"},"commit":{"message":"Consider device key '' when evaluating for 'default' device\n\nOn Chrome, if no media device permissions are given, the devices are\nexposed with minimal info:\n```\n[\n {deviceId:'',kind:'audioinput',label:'',groupId:''},\n {deviceId:'',kind:'videoinput',label:'',groupId:''},\n {deviceId:'',kind:'audiooutput',label:'',groupId:''}\n]\n```\n\nAfter the media device permissions have been granted, a `devicechange`\nevent is triggered and the previous device `''` is supposed to be\nremoved but never is.\n\nThis resulted in duplicate audio for users who are presented with\nthe microphone permissions on their first call as the previous output\ndevice `''` never got properly removed.","shortMessageHtmlLink":"Consider device key '' when evaluating for 'default' device"}},{"before":"25cf0b461e88492c2f2ecba91eb4f29a4ade38e2","after":"39392ad614eb6f6e0795f74b657f929e528bb191","ref":"refs/heads/MED-706-always-update-all-speaker-sinks","pushedAt":"2024-01-26T12:57:04.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"},"commit":{"message":"Build branch again","shortMessageHtmlLink":"Build branch again"}},{"before":"9aa83bd87ab03d90702618b451ef05f924cdca6f","after":"25cf0b461e88492c2f2ecba91eb4f29a4ade38e2","ref":"refs/heads/MED-706-always-update-all-speaker-sinks","pushedAt":"2024-01-25T12:36:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"},"commit":{"message":"Build branch","shortMessageHtmlLink":"Build branch"}},{"before":null,"after":"9aa83bd87ab03d90702618b451ef05f924cdca6f","ref":"refs/heads/MED-706-always-update-all-speaker-sinks","pushedAt":"2024-01-25T12:09:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"},"commit":{"message":"Update all call speaker sinks instead of just active call\n\nThis is required to prevent degraded audio if permissions are requested.\n\nIf a Chrome user has not given audio device permissions to a site before\na call comes in, the call audio is initiated with the output device ''\nas that is the ID Chrome exposes.\n\nThe call requires a microphone and requests the user for microphone\npermissions. If these are accepted, the computer's full output device\nlist is available and a `devicechange` browser event is triggered.\n\nThis event is solved in the Device and Call classes before the call\nis set as the device's `_activeCall` and Call's sinks will not be\nupdated.\n\nTo overcome this, all call sinks can be updated.\n\nThere could be a Chrome bug here that is causing this as the degradation\nis reverby audio like the track is being played twice. Is Chrome\ncontinuing to play to the (deleted) '' audio device as well as then\nswitching to play on the 'default' audio device?\n\nMED-706","shortMessageHtmlLink":"Update all call speaker sinks instead of just active call"}},{"before":"35e2fe1ab8cc91258dfb38ef3c4a8280757f4004","after":"2451e8ec570266511712371ea2a25b39eaa2d6ad","ref":"refs/heads/master","pushedAt":"2024-01-25T11:47:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kmteras","name":"Karl Martin Teras","path":"/kmteras","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8247600?s=80&v=4"},"commit":{"message":"VBLOCKS-1118 Fix rtcConstraints error (#238)","shortMessageHtmlLink":"VBLOCKS-1118 Fix rtcConstraints error (twilio#238)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAECHPnsQA","startCursor":null,"endCursor":null}},"title":"Activity · salemove/twilio-voice.js"}