Skip to content

Commit 7fa91f4

Browse files
charliesantostwilio-cimhuynh5757liberty-rowlandmanjeshbhargav
authoredNov 5, 2020
Merging Preflight branch (#234)
* CLIENT-6970 | Running preflight test (#104) * MVP: Running preflight test * Review comments and complete implementation * Adding tests * Adding integration tests * PR review: separating testing option * Using cumulative average * fix merge master * CLIENT-7232 | validations, measurements, and latest report spec for preflight (#122) * CLIENT-7385 | Using twiml app that can record and play audio (#126) * CLIENT-7418 | Updating API docs and inconsistencies (#128) * Fixing typedoc so comment headers shows up * Renaming interfaces and cancel API * Updating onError API * Only ignore first sample - if there's no mos yet * Updating TS Docs * Lint, unit tests, and integration tests * Changelog and API docs for Wagtail * Removing insights error from the docs. Will remove in the code prior releasing * PR Review: Updating documentation * PR Review: Fixing typo * Bumping version for cutting 1.11 rc * 1.11.0-rc1 * 1.11.0-dev * CLIENT-7458 | Removing previously added insights error (#130) * CLIENT-7458 | Removing previously added insights error * Updating preflight to remove the insights catch * Updating tests * Log as warning when insights fail * Merge 1.11 to preflight (#161) * CLIENT-7482 | Incoming event will not trigger on rare conditions (#134) * CLIENT-7373 | [GH124] Android Chrome _updateAvailableDevices continuo… (#136) * CLIENT-7373 | [GH124] Android Chrome _updateAvailableDevices continuously throws uncaught rejection * Adding changelog * PR review: Fix typo * Update CHANGELOG.md * [CLIENT-7427] Include Typescript definitions with NPM Package (#135) * Convert library entry point to Typescript. Modify configuration files to compile this new file and include it with integration testing. * Add changelog entry for now-included Typescript declarations. * Update CHANGELOG.md * Update CHANGELOG.md * Adding reference tickets. * Fixing typedoc (#137) * 1.10.1-rc1 * 1.10.1-dev * Update changelog for 1.10.1 release * Updating version on the readme * 1.10.1 * 1.10.2-dev * CLIENT-6013 | Exception in "connected" event handler keeps ringing sound (#140) * CLIENT-6013 | Exception in "connected" event handler keeps ringing sound on * Update CHANGELOG.md * CLIENT-7544 | Fix angular build when used as npm module (#144) * CLIENT-7541 | Add appName and appVersion (#145) * CLIENT-7541 | Add appName and appVersion * Move publisher_metadata up one level * Cherry picking 2 patches from master for 1.10.2 release (#146) * Cherry picked CLIENT-6013 * Cherry picked CLIENT-7544 * 1.10.2-rc1 * 1.10.2-dev * Updating changelog for 1.10.2 release * 1.10.2 * 1.10.3-dev * Update docker tests. Disabling flaky tests for now (#153) * CLIENT-7576 | Handle VSP cancel event if offer sdp is already been an… (#152) * CLIENT-7576 | Handle VSP cancel event if offer sdp is already been answered * Updating insights so it uses cancel event * Revert "CLIENT-7541 | Add appName and appVersion (#145)" (#157) This reverts commit 3072d2f. * Revert "Revert "CLIENT-7541 | Add appName and appVersion (#145)" (#157)" This reverts commit 358463f. * Merge master to 1.10 (#158) * [CLIENT-7014] Normalize RTT values. (#125) * Normalize RTT values. * Remove `rttSeconds` member from `RTCSample` and normalize `rtt` to milliseconds for all browsers. * Remove `rttSeconds` completely and fix changelog. * Modified changelog message. * CLIENT-4533 Unit tests for PStream/VSP payloads. (#127) * CLIENT-4533 Unit tests for LISTEN, REGISTER and REINVITE payloads. * CLIENT-4533 Unit tests for INVITE and ANSWER payloads. * CLIENT-4533 Unit tests for HANGUP, DTMF and REJECT payloads. * CLIENT-4533 Incorporating initial feedback from @charliesantos. * CLIENT-6013 | Exception in "connected" event handler keeps ringing sound (#140) * CLIENT-6013 | Exception in "connected" event handler keeps ringing sound on * Update CHANGELOG.md * CLIENT-7544 | Fix angular build when used as npm module (#144) * CLIENT-7541 | Add appName and appVersion (#145) * CLIENT-7541 | Add appName and appVersion * Move publisher_metadata up one level * Update docker tests. Disabling flaky tests for now (#153) * CLIENT-7576 | Handle VSP cancel event if offer sdp is already been an… (#152) * CLIENT-7576 | Handle VSP cancel event if offer sdp is already been answered * Updating insights so it uses cancel event * Revert "CLIENT-7541 | Add appName and appVersion (#145)" (#157) This reverts commit 3072d2f. * Update CHANGELOG.md Co-authored-by: Michael Huynh <[email protected]> Co-authored-by: Manjesh Malavalli <[email protected]> Co-authored-by: Ryan Rowland <[email protected]> * Reopen PR "[CLIENT-7519] Support for edge in Device.Options" (#160) * Phase 1 Regional Add `edge` parameter to `Twilio.Device.Options`, map new edge strings to existing region strings, and add deprecation warnings if `Twilio.Device.Options.region` is used. * Update change log and docs, add deprecation warnings and insights. * Add `edge` property to `Device`. * Update change log, deprecation warning, and typing. * Update insights logic and remove unused `getRegionURI`. * `Device.edge` no longer throws. * Update insights logic. * Update change log and `edge` URI template. * Update change log and edge template. * Add doc links. * Incorporate feedback. * Update change log. Co-authored-by: Michael Huynh <[email protected]> Co-authored-by: Michael Huynh <[email protected]> * Updating 1.11-dev version Co-authored-by: Michael Huynh <[email protected]> Co-authored-by: twilio-ci <[email protected]> Co-authored-by: Ryan Rowland <[email protected]> Co-authored-by: Manjesh Malavalli <[email protected]> Co-authored-by: Michael Huynh <[email protected]> * CLIENT-7501 | Fail the test on websocket timeout (#165) * CLIENT-7501 | Fail the test on websocket timeout * Renaming to signalingTimeoutMs * [CLIENT-7483] Implement region in Preflight Test. (#142) * Implement selected and connected region in Preflight Test report. * Update Preflight docs and add region support. * Update Preflight docs * Update docs typo. * Update to `edge` in Preflight Test. * Fix tests. * Fix tests. * Update region references to edge. * Update preflight.ts * [CLIENT-7502] Emit samples even when MOS is `null`. (#170) * Emit samples even when MOS is `null`. * Extend TwiML duration. * CLIENT-7627 | Remove mic dependency on preflight (#169) * CLIENT-7627 | Remove mic dependency on preflight * PR Review: Using AudioContext and renaming parameter * Addressing PR review * Lint * Updating tests * CLIENT-7608 | Adding call quality (#174) * CLIENT-7627 | Remove mic dependency on preflight * Adding call quality in report * Fixing merge commit * Adding tests * Addressing PR review * Exposing PreflightTest and CallQuality * CLIENT-7676 | Report iceServers, isTurnRequired and iceCandidates (#177) * CLIENT-7479 | Browser restriction for accessing microphone not handled (#179) * Disabling flaky firefox test for now (#180) * Handle scenario where no candidates are selected on preflight. (#184) * Fix error if no candidates were selected for preflight * Adding tests * PR Reviews * Updating null references * Updating null references * Lint error * bumping up version for 1.13 rc * 1.13.0-rc1 * 1.13.0-dev * Fixing typo on readme. * Using twilio release tool to support preview * 1.13.0-preview1 * 1.13.0-dev * CLIENT-7786 | [Preflight] Fix output not muting for non default device (#196) * CLIENT-7786 | Fix output not muting for non default device * Removing accessing internals * Mute all audio outputs without accesing internals * Updating tests * Adding more comments and tests * 1.13.0-rc2 * 1.13.0-dev * 1.13.0-rc3 * 1.13.0-dev * Update changelog for 1.13.0-beta1 * 1.13.0-beta1 * 1.13.0-dev * CLIENT-7923 | Rename ICE Candidates to ICE Candidate Stats (#203) * CLIENT-7726 | Add signaling timing in the Preflight report (#204) * CLIENT-7725 | Add insights-connection-error warning (#200) * CLIENT-7725 | Add insights-connection-error warning * Address feedback * Update PREFLIGHT.md Co-authored-by: Charlemagne Santos <[email protected]> Co-authored-by: Charlemagne Santos <[email protected]> * CLIENT-7480 | Preflight network handover results with error message flooding (#216) * 1.13.0-rc4 * 1.13.0-dev * Update changelog for beta2 release * 1.13.0-beta2 * 1.13.0-dev * Updating base on latest master * CLIENT-8132 | Adding outgoing event with preflight info (#231) * CLIENT-8132 | Adding outgoing event with preflight info * Moving twiml doc * CLIENT-8168 | Adding preflight boolean to signaling invite (#233) Co-authored-by: twilio-ci <[email protected]> Co-authored-by: Michael Huynh <[email protected]> Co-authored-by: Ryan Rowland <[email protected]> Co-authored-by: Manjesh Malavalli <[email protected]> Co-authored-by: Michael Huynh <[email protected]>
1 parent b93718d commit 7fa91f4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4353
-198
lines changed
 

‎CHANGELOG.md

+122-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,133 @@
1-
1.12.6 (In Progress)
1+
1.13.0 (In Progress)
22
====================
33

44
Changes
55
-------
66

77
* Added `high-packets-lost-fraction` [network warning](https://www.twilio.com/docs/voice/insights/call-quality-events-twilio-client-sdk#network-warnings). This new warning is raised when the average of the most recent seven seconds of packet-loss samples is greater than `3%`. When the average packet-loss over the most recent seven seconds is less than or equal to `1%`, then the warning is cleared.
8+
89
* The behavior for raising the `constant-audio-level` warning has been updated. Now, the most recent ten seconds of volume values are recorded and then analyzed. If the standard deviation of these samples is less than 1% of the maximum audio value, then the warning is raised. When the standard deviation is greater than 1% and the warning has already been raised, then the warning is cleared.
910

11+
* We now log an `outgoing` event to Insights when making an outbound call. This event also contains information whether the call is a preflight or not.
12+
13+
* Added a boolean field to the signaling payload for calls initiated by `Device.testPreflight` for debugging purposes.
14+
15+
1.13.0-beta2 (Sept 10, 2020)
16+
============================
17+
18+
Breaking Changes
19+
----------------
20+
21+
* We now emit `(warning: PreflightTest.Warning)` object from PreflightTest.on('warning'),
22+
rather than `(name: string, data: RTCWarning)`. The `PreflightTest.Warning` object has been updated
23+
to match the following interface:
24+
```ts
25+
export interface Warning {
26+
description: string;
27+
name: string;
28+
rtcWarning?: RTCWarning;
29+
}
30+
```
31+
* Renamed the following `PreflightTest.Report` fields to reflect the correct object types.
32+
| Old field name | New field name |
33+
|:------------------------------------------------|:-----------------------------------------------------|
34+
| `PreflightTest.Report.iceCandidates` | `PreflightTest.Report.iceCandidateStats` |
35+
| `PreflightTest.Report.selectedIceCandidatePair` | `PreflightTest.Report.selectedIceCandidatePairStats` |
36+
37+
Additions
38+
---------
39+
40+
* We now emit a PreflightTest.Warning (`insights-connection-error`) the first time Insights emits an
41+
error, and add that Warning in `Report.warnings`.
42+
* Added signaling timing information in the `PreflightTest.Report.networkTiming` object.
43+
44+
Example:
45+
46+
```ts
47+
const preflightTest = Device.testPreflight(token, options);
48+
49+
preflightTest.on(PreflightTest.Events.Completed, (report) => {
50+
console.log(report.networkTiming);
51+
});
52+
/* Outputs the following
53+
{
54+
"signaling": {
55+
"start": 1595885835227,
56+
"end": 1595885835573,
57+
"duration": 346
58+
}
59+
...
60+
}
61+
*/
62+
```
63+
64+
Bug Fixes
65+
---------
66+
67+
* Fixed an issue where the browser console is flooded with errors after a network handover.
68+
69+
1.13.0-beta1 (July 7, 2020)
70+
=============================
71+
72+
Bug Fixes
73+
---------
74+
75+
* Fixed an issue where preflight is not muting the audio output after output audio devices are updated.
76+
77+
1.13.0-preview1 (June 17, 2020)
78+
===============================
79+
80+
New Features - Preview
81+
----------------------
82+
83+
* The SDK now supports a preflight test API which can help determine Voice calling readiness. The API creates a test call and will provide information to help troubleshoot call related issues. This new API is a static member of the [Device](https://www.twilio.com/docs/voice/client/javascript/device#twilio-device) class and can be used like the example below. Please see [API Docs](PREFLIGHT.md) for more details about this new API.
84+
85+
```ts
86+
// Initiate the test
87+
const preflight = Device.testPreflight(token, options);
88+
89+
// Subscribe to events
90+
preflight.on('completed', (report) => console.log(report));
91+
preflight.on('failed', (error) => console.log(error));
92+
```
93+
94+
* [Connection.on('warning')](https://www.twilio.com/docs/voice/client/javascript/connection#onwarning-handlerwarningname) now provides data associated with the warning. This data can provide more details about the warning such as thresholds and WebRTC samples collected that caused the warning. The example below is a warning for high jitter. Please see [Voice Insights SDK Events Reference](https://www.twilio.com/docs/voice/insights/call-quality-events-twilio-client-sdk#warning-events) for a list of possible warnings.
95+
96+
```ts
97+
connection.on('warning', (warningName, warningData) => {
98+
console.log({ warningName, warningData });
99+
});
100+
```
101+
Example output:
102+
```js
103+
{
104+
"warningName": "high-jitter",
105+
"warningData": {
106+
"name": "jitter",
107+
108+
/**
109+
* Array of jitter values in the past 5 samples that triggered the warning
110+
*/
111+
"values": [35, 44, 31, 32, 32],
112+
113+
/**
114+
* Array of samples collected that triggered the warning.
115+
* See sample object format here https://www.twilio.com/docs/voice/client/javascript/connection#sample
116+
*/
117+
"samples": [...],
118+
119+
/**
120+
* The threshold configuration.
121+
* In this example, high-jitter warning will be raised if the value exceeded more than 30
122+
*/
123+
"threshold": {
124+
"name": "max",
125+
"value": 30
126+
}
127+
}
128+
}
129+
```
130+
10131
1.12.5 (Sept 22, 2020)
11132
====================
12133

0 commit comments

Comments
 (0)
Please sign in to comment.