aws / amazon-chime-sdk-js

A JavaScript client library for integrating multi-party communications powered by the Amazon Chime service.
Apache License 2.0
713 stars 475 forks source link

Add null check for DefaultBrowserBehavior.majorVersion() #2686

Closed xuesichao closed 1 year ago

xuesichao commented 1 year ago

Issue #1856, #2674 :

Description of changes: According to detect-library the detect() could return browser info with the value of version being null.

For example: https://github.com/DamonOehlman/detect-browser/blob/546e6f1348375d8a486f21da07b20717267f6c49/src/index.ts#L59-L65.

export class ReactNativeInfo
  implements DetectedInfo<'react-native', 'react-native', null, null> {
  public readonly type = 'react-native';
  public readonly name: 'react-native' = 'react-native';
  public readonly version: null = null;
  public readonly os: null = null;
}

In this case our majorVersion() will throw an error because it try execute null.split('.'). This change add a null check to avoid such case.

Testing:

Can these tested using a demo application? Please provide reproducible step-by-step instructions. No. The change has been covered by unit test.

Checklist:

  1. Have you successfully run npm run build:release locally? Yes

  2. Do you add, modify, or delete public API definitions? If yes, has that been reviewed and approved? No

  3. Do you change the wire protocol, e.g. the request method? If yes, has that been reviewed and approved? No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.