Skip to content

Commit d8fb8df

Browse files
maxwellmooney13PureCloud Jenkinssverity77Steve VININDevEvangelists
authored
Release/v2.5.0 (#102)
* Prep v2.4.5 and merging master back into develop * no-jira nullify active conversationId upon disconnect (#100) * no-jira nullify active conversationId upon disconnect * no-jira added in unit test coverage for new line * CyberAcoustics first pull request (#94) * CyberAcoustics first pull request * Fixed various codacy warnings * fixed more codacy warnings * Fixed even more codacy warnings * More codacy warnings fixed. There are some bogus warnings which will not be addressed. * fixed bug: double notifications from device sometimes, added Timeout when requesting WebHIDPermissions * Added logging message to detect multiple EventListeners on device input reports. * added code to deal with occasional unstable button presses on the device. * no-jira tweaking gitignores and dependencies * no-jira code cleanup and removal of trailing spaces; updated unit tests --------- Co-authored-by: Steve V <sverity77@gmail.com> Co-authored-by: maxwellmooney13 <83785824+maxwellmooney13@users.noreply.github.com> * no-jira release prep * Updating to standard MIT license * Updating to standard MIT license * Updating to standard MIT license * Updating to standard MIT license * Updating to standard MIT license * no-jira added nexus change to Jenkins? * no-jira put Nexus change into Jenkins * no-jira linting fix and code cleanup * no-jira fix deps to not use nexus * no-jira updated dep for react-app --------- Co-authored-by: PureCloud Jenkins <jenkins@genesys.com> Co-authored-by: sverity77 <fxworks@fxworks.com> Co-authored-by: Steve V <sverity77@gmail.com> Co-authored-by: Genesys Developer Evangelists <developerevangelists@genesys.com>
1 parent d36a2f1 commit d8fb8df

File tree

11 files changed

+14276
-10983
lines changed

11 files changed

+14276
-10983
lines changed

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 Genesys Cloud Services, Inc.
3+
Copyright (c) 2024 Genesys Cloud Services, Inc.
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@ At this moment (12/10/2021) there are three supported vendors already handled wi
1313
As of 11/3/2022 we now support:
1414
- Yealink
1515

16+
As of 2/12/24 we now support:
17+
- VBeT
18+
- CyberAcoustics
19+
1620
## Installation
1721

1822
``` sh
1923
# npm
20-
npm install --save softphone-headset-vendors
24+
npm install --save softphone-vendor-headsets
2125
# yarn
22-
yarn softphone-headset-vendors
26+
yarn add softphone-vendor-headsets
2327
```
2428

2529
## Documentation

changelog.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ All notable changes to this project will be documented in this file.
33
The format is based on [Keepa Changelog](https://keepachangelog.com/en/1.0.0/),
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6-
# [Unreleased](https://github.com/purecloudlabs/softphone-vendor-headsets/compare/v2.4.5...HEAD)
6+
# [Unreleased](https://github.com/purecloudlabs/softphone-vendor-headsets/compare/v2.5.0...HEAD)
7+
8+
# [v2.5.0](https://github.com/purecloudlabs/softphone-vendor-headsets/compare/v2.4.5...v2.5.0)
9+
## Added
10+
* [no-jira] Support added for two new vendors VBeT and CyberAcoustics
711

812
# [v2.4.5](https://github.com/purecloudlabs/softphone-vendor-headsets/compare/v2.4.4...v2.4.5)
913
## Fixed

package-lock.json

+3,486-3,867
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "softphone-vendor-headsets",
3-
"version": "2.4.5",
3+
"version": "2.5.0",
44
"author": "Genesys",
55
"license": "MIT",
66
"cjs": "dist/cjs/src/library/index.js",

react-app/package-lock.json

+9,127-7,107
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

react-app/src/library/services/headset.test.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import PlantronicsService from './vendor-implementations/plantronics/plantronics
44
import SennheiserService from './vendor-implementations/sennheiser/sennheiser';
55
import JabraNativeService from './vendor-implementations/jabra/jabra-native/jabra-native';
66
import YealinkService from './vendor-implementations/yealink/yealink';
7+
import CyberAcousticsService from './vendor-implementations/CyberAcoustics/CyberAcoustics';
78
import { CallInfo } from '../types/call-info';
89
import { EventInfoWithConversationId, VendorEvent } from '../types/emitted-headset-events';
910
import JabraService from './vendor-implementations/jabra/jabra';
@@ -16,6 +17,7 @@ import { filter } from 'rxjs';
1617
jest.mock('broadcast-channel');
1718

1819
describe('HeadsetService', () => {
20+
let cyberacoustics: VendorImplementation;
1921
let plantronics: VendorImplementation;
2022
let sennheiser: VendorImplementation;
2123
/* eslint-disable @typescript-eslint/no-unused-vars */
@@ -31,6 +33,8 @@ describe('HeadsetService', () => {
3133
sennheiser = SennheiserService.getInstance({ ...config, vendorName: 'Sennheiser' });
3234
jabraNative = JabraNativeService.getInstance({ ...config, vendorName: 'JabraNative' });
3335
yealink = YealinkService.getInstance({ ...config, vendorName: 'Yealink' });
36+
cyberacoustics = CyberAcousticsService.getInstance({ ...config, vendorName: 'CyberAcoustics' });
37+
3438
/* eslint-enable */
3539
jabra = JabraService.getInstance({ ...config, vendorName: 'Jabra' });
3640

@@ -80,12 +84,12 @@ describe('HeadsetService', () => {
8084

8185
headsetService['_implementations'] = [];
8286

83-
expect(headsetService.implementations.length).toBe(6);
87+
expect(headsetService.implementations.length).toBe(7);
8488

8589
[headsetService['jabra'], headsetService['jabraNative']].forEach((impl) => (impl.isSupported as jest.Mock).mockReturnValue(false));
8690
headsetService['_implementations'] = [];
8791

88-
expect(headsetService.implementations.length).toBe(4);
92+
expect(headsetService.implementations.length).toBe(5);
8993
});
9094
});
9195

react-app/src/library/services/headset.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Observable, Subject } from 'rxjs';
22
import { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';
3+
import CyberAcousticsService from './vendor-implementations/CyberAcoustics/CyberAcoustics';
34
import PlantronicsService from './vendor-implementations/plantronics/plantronics';
45
import SennheiserService from './vendor-implementations/sennheiser/sennheiser';
56
import JabraService from './vendor-implementations/jabra/jabra';
@@ -26,6 +27,7 @@ export default class HeadsetService {
2627
sennheiser: VendorImplementation;
2728
yealink: VendorImplementation;
2829
vbet:VendorImplementation;
30+
cyberAcoustics: VendorImplementation;
2931
selectedImplementation: VendorImplementation;
3032
headsetEvents$: Observable<ConsumedHeadsetEvents>;
3133

@@ -44,7 +46,9 @@ export default class HeadsetService {
4446
this.sennheiser = SennheiserService.getInstance({ logger: this.logger });
4547
this.yealink = YealinkService.getInstance({ logger: this.logger });
4648
this.vbet = VBetService.getInstance({ logger: this.logger });
47-
[this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink, this.vbet].forEach(implementation => this.subscribeToHeadsetEvents(implementation));
49+
this.cyberAcoustics = CyberAcousticsService.getInstance({ logger: this.logger });
50+
51+
[this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink, this.vbet, this.cyberAcoustics].forEach(implementation => this.subscribeToHeadsetEvents(implementation));
4852
}
4953

5054
static getInstance (config: ImplementationConfig): HeadsetService {
@@ -62,7 +66,8 @@ export default class HeadsetService {
6266
this.jabra,
6367
this.jabraNative,
6468
this.yealink,
65-
this.vbet
69+
this.vbet,
70+
this.cyberAcoustics
6671
].filter((impl) => impl.isSupported());
6772

6873
return implementations;

0 commit comments

Comments
 (0)