softphone-vendor-headsets 1.0.1 → 2.0.0-develop.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +319 -3
  2. package/dist/1.softhphone-vendor-headsets.js +1 -1
  3. package/dist/1.softhphone-vendor-headsets.js.map +1 -1
  4. package/dist/2.softhphone-vendor-headsets.js +1 -1
  5. package/dist/2.softhphone-vendor-headsets.js.map +1 -1
  6. package/dist/3.softhphone-vendor-headsets.js +1 -1
  7. package/dist/3.softhphone-vendor-headsets.js.map +1 -1
  8. package/dist/cjs/src/config/i18n.js +1 -0
  9. package/dist/cjs/src/config/i18n.js.map +1 -1
  10. package/dist/cjs/src/library/index.d.ts +0 -1
  11. package/dist/cjs/src/library/index.js +5 -2
  12. package/dist/cjs/src/library/index.js.map +1 -1
  13. package/dist/cjs/src/library/services/headset.d.ts +5 -1
  14. package/dist/cjs/src/library/services/headset.js +170 -18
  15. package/dist/cjs/src/library/services/headset.js.map +1 -1
  16. package/dist/cjs/src/library/services/headset.test.js +503 -21
  17. package/dist/cjs/src/library/services/headset.test.js.map +1 -1
  18. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +5 -4
  19. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +75 -54
  20. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -1
  21. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +72 -62
  22. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -1
  23. package/dist/{es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts → cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts} +10 -0
  24. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/{jabra-native-types.js → types.js} +9 -2
  25. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  26. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +15 -14
  27. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +177 -118
  28. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -1
  29. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +371 -258
  30. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -1
  31. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  32. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +11 -0
  33. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  34. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +11 -1
  35. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +39 -39
  36. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -1
  37. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +35 -35
  38. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -1
  39. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +101 -9
  40. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +168 -51
  41. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -1
  42. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +6 -2
  43. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +56 -36
  44. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  45. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +408 -221
  46. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  47. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +1 -3
  48. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +61 -87
  49. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -1
  50. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +140 -233
  51. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  52. package/dist/{es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts → cjs/src/library/services/vendor-implementations/sennheiser/types.d.ts} +19 -0
  53. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/{sennheiser-events.js → types.js} +8 -2
  54. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  55. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +7 -27
  56. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +6 -6
  57. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  58. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -1
  59. package/dist/{es/src/library/test-utils.test.d.ts → cjs/src/library/test-utils.d.ts} +1 -1
  60. package/dist/cjs/src/library/{test-utils.test.js → test-utils.js} +12 -9
  61. package/dist/cjs/src/library/test-utils.js.map +1 -0
  62. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +8 -22
  63. package/dist/cjs/src/library/types/consumed-headset-events.js +0 -1
  64. package/dist/cjs/src/library/types/consumed-headset-events.js.map +1 -1
  65. package/dist/cjs/src/library/types/emitted-headset-events.d.ts +14 -11
  66. package/dist/cjs/src/library/types/headset-states.d.ts +10 -0
  67. package/dist/cjs/src/library/types/{jabra-request.js → headset-states.js} +1 -1
  68. package/dist/cjs/src/library/types/headset-states.js.map +1 -0
  69. package/dist/cjs/src/library/utils.js.map +1 -1
  70. package/dist/cjs/src/library/utils.test.js +2 -2
  71. package/dist/cjs/src/library/utils.test.js.map +1 -1
  72. package/dist/cjs/src/mocks/call.js +2 -1
  73. package/dist/cjs/src/mocks/call.js.map +1 -1
  74. package/dist/cjs/src/mocks/device-service.js +1 -0
  75. package/dist/cjs/src/mocks/device-service.js.map +1 -1
  76. package/dist/deploy-info.json +33 -195
  77. package/dist/es/src/config/i18n.js +1 -0
  78. package/dist/es/src/config/i18n.js.map +1 -1
  79. package/dist/es/src/library/index.d.ts +0 -1
  80. package/dist/es/src/library/index.js +0 -1
  81. package/dist/es/src/library/index.js.map +1 -1
  82. package/dist/es/src/library/services/headset.d.ts +5 -1
  83. package/dist/es/src/library/services/headset.js +170 -18
  84. package/dist/es/src/library/services/headset.js.map +1 -1
  85. package/dist/es/src/library/services/headset.test.js +503 -21
  86. package/dist/es/src/library/services/headset.test.js.map +1 -1
  87. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +5 -4
  88. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +60 -39
  89. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -1
  90. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +20 -14
  91. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -1
  92. package/dist/{cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts → es/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts} +10 -0
  93. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/{jabra-native-types.js → types.js} +8 -1
  94. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  95. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +15 -14
  96. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +181 -122
  97. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -1
  98. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +373 -260
  99. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -1
  100. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  101. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +7 -0
  102. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  103. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +11 -1
  104. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +38 -38
  105. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -1
  106. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +36 -36
  107. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -1
  108. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +101 -9
  109. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +169 -52
  110. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -1
  111. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +6 -2
  112. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +56 -36
  113. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  114. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +403 -216
  115. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  116. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +1 -3
  117. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +16 -46
  118. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -1
  119. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +37 -134
  120. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  121. package/dist/{cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts → es/src/library/services/vendor-implementations/sennheiser/types.d.ts} +19 -0
  122. package/dist/es/src/library/services/vendor-implementations/sennheiser/{sennheiser-events.js → types.js} +7 -1
  123. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  124. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +7 -27
  125. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +6 -6
  126. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  127. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -1
  128. package/dist/{cjs/src/library/test-utils.test.d.ts → es/src/library/test-utils.d.ts} +1 -1
  129. package/dist/es/src/library/{test-utils.test.js → test-utils.js} +10 -8
  130. package/dist/es/src/library/test-utils.js.map +1 -0
  131. package/dist/es/src/library/types/consumed-headset-events.d.ts +8 -22
  132. package/dist/es/src/library/types/consumed-headset-events.js +0 -1
  133. package/dist/es/src/library/types/consumed-headset-events.js.map +1 -1
  134. package/dist/es/src/library/types/emitted-headset-events.d.ts +14 -11
  135. package/dist/es/src/library/types/headset-states.d.ts +10 -0
  136. package/dist/es/src/library/types/headset-states.js +2 -0
  137. package/dist/es/src/library/types/headset-states.js.map +1 -0
  138. package/dist/es/src/library/utils.js.map +1 -1
  139. package/dist/es/src/mocks/call.js +1 -0
  140. package/dist/es/src/mocks/call.js.map +1 -1
  141. package/dist/es/src/mocks/device-service.js +1 -0
  142. package/dist/es/src/mocks/device-service.js.map +1 -1
  143. package/dist/softhphone-vendor-headsets.js +4 -19
  144. package/dist/softhphone-vendor-headsets.js.map +1 -1
  145. package/package.json +82 -88
  146. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
  147. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -18
  148. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
  149. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
  150. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -16
  151. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
  152. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
  153. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -10
  154. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
  155. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
  156. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -251
  157. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
  158. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
  159. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -573
  160. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
  161. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
  162. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -18
  163. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
  164. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
  165. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -11
  166. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
  167. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
  168. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -3
  169. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
  170. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
  171. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
  172. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -10
  173. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
  174. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
  175. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
  176. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -3
  177. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
  178. package/dist/cjs/src/library/test-utils.test.js.map +0 -1
  179. package/dist/cjs/src/library/types/jabra-request.d.ts +0 -3
  180. package/dist/cjs/src/library/types/jabra-request.js.map +0 -1
  181. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
  182. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -15
  183. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
  184. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
  185. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -13
  186. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
  187. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
  188. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -7
  189. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
  190. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
  191. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -248
  192. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
  193. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
  194. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -568
  195. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
  196. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
  197. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -15
  198. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
  199. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
  200. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -8
  201. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
  202. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
  203. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -2
  204. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
  205. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
  206. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
  207. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -7
  208. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
  209. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
  210. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
  211. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -2
  212. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
  213. package/dist/es/src/library/test-utils.test.js.map +0 -1
  214. package/dist/es/src/library/types/jabra-request.d.ts +0 -3
  215. package/dist/es/src/library/types/jabra-request.js +0 -2
  216. package/dist/es/src/library/types/jabra-request.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/web-hid-transport-3d30e3bd.js"],"names":["o","s","i","r","this","webHidHandler","logger","recorder","events","consoleAppEvent","webHidConnected","context","WEB_HID","Promise","reject","UNEXPECTED_ERROR","subscribe","e","t","recordInput","next","start","resolve","ERROR","INIT_ERROR","recordOutput","sendMessage"],"mappings":"uIAAA,kEAA2E,MAAMA,EAAE,YAAYC,EAAEC,EAAEC,GAAGC,KAAKC,cAAcJ,EAAEG,KAAKE,OAAOJ,EAAEE,KAAKG,SAASJ,EAAEC,KAAKI,OAAO,IAAI,IAAEJ,KAAKK,gBAAgBL,KAAKI,OAAOJ,KAAKM,iBAAgB,EAAGN,KAAKO,QAAQ,IAAEC,QAAQ,UAAU,OAAOR,KAAKM,gBAAgBG,QAAQC,OAAO,IAAI,IAAE,oBAAoB,IAAEC,oBAAoBX,KAAKC,cAAcG,OAAOQ,UAAWC,IAAI,IAAIC,EAAE,IAAIjB,EAAEgB,EAAEb,KAAKG,WAAWN,EAAE,QAAQiB,EAAEd,KAAKG,gBAAW,IAASW,OAAE,EAAOA,EAAEC,YAAYlB,IAAIG,KAAKI,OAAOY,KAAKnB,KAAMG,KAAKC,cAAcgB,QAAQjB,KAAKM,iBAAgB,EAAGG,QAAQS,WAAW,YAAYL,GAAG,IAAIC,EAAE,IAAId,KAAKM,gBAAgB,CAAC,MAAMO,EAAE,2BAA2B,MAAM,YAAEA,EAAEb,KAAKE,OAAO,IAAEiB,OAAO,IAAI,IAAEN,EAAE,IAAEO,YAAY,QAAQN,EAAEd,KAAKG,gBAAW,IAASW,GAAGA,EAAEO,aAAaR,GAAGb,KAAKC,cAAcqB,YAAYT","file":"3.softhphone-vendor-headsets.js","sourcesContent":["import{S as e,T as t,J as s,E as i,l as r,L as n}from\"./index-697967ac.js\";class o{constructor(s,i,r){this.webHidHandler=s,this.logger=i,this.recorder=r,this.events=new e,this.consoleAppEvent=this.events,this.webHidConnected=!1,this.context=t.WEB_HID}connect(){return this.webHidConnected?Promise.reject(new s(\"Already connected\",i.UNEXPECTED_ERROR)):(this.webHidHandler.events.subscribe((e=>{var t;let s=e;this.recorder&&(s=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(s)),this.events.next(s)})),this.webHidHandler.start(),this.webHidConnected=!0,Promise.resolve())}writeAction(e){var t;if(!this.webHidConnected){const e=\"WebHID is uninitialized.\";throw r(e,this.logger,n.ERROR),new s(e,i.INIT_ERROR)}null===(t=this.recorder)||void 0===t||t.recordOutput(e),this.webHidHandler.sendMessage(e)}}export{o as WebHidTransport};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/web-hid-transport-58a9d844.js"],"names":["o","s","i","r","this","webHidHandler","logger","recorder","events","consoleAppEvent","webHidConnected","context","WEB_HID","Promise","reject","UNEXPECTED_ERROR","subscribe","e","t","recordInput","next","start","resolve","ERROR","INIT_ERROR","recordOutput","sendMessage"],"mappings":"uIAAA,kEAA2E,MAAMA,EAAE,YAAYC,EAAEC,EAAEC,GAAGC,KAAKC,cAAcJ,EAAEG,KAAKE,OAAOJ,EAAEE,KAAKG,SAASJ,EAAEC,KAAKI,OAAO,IAAI,IAAEJ,KAAKK,gBAAgBL,KAAKI,OAAOJ,KAAKM,iBAAgB,EAAGN,KAAKO,QAAQ,IAAEC,QAAQ,UAAU,OAAOR,KAAKM,gBAAgBG,QAAQC,OAAO,IAAI,IAAE,oBAAoB,IAAEC,oBAAoBX,KAAKC,cAAcG,OAAOQ,UAAWC,IAAI,IAAIC,EAAE,IAAIjB,EAAEgB,EAAEb,KAAKG,WAAWN,EAAE,QAAQiB,EAAEd,KAAKG,gBAAW,IAASW,OAAE,EAAOA,EAAEC,YAAYlB,IAAIG,KAAKI,OAAOY,KAAKnB,KAAMG,KAAKC,cAAcgB,QAAQjB,KAAKM,iBAAgB,EAAGG,QAAQS,WAAW,YAAYL,GAAG,IAAIC,EAAE,IAAId,KAAKM,gBAAgB,CAAC,MAAMO,EAAE,2BAA2B,MAAM,YAAEA,EAAEb,KAAKE,OAAO,IAAEiB,OAAO,IAAI,IAAEN,EAAE,IAAEO,YAAY,QAAQN,EAAEd,KAAKG,gBAAW,IAASW,GAAGA,EAAEO,aAAaR,GAAGb,KAAKC,cAAcqB,YAAYT","file":"3.softhphone-vendor-headsets.js","sourcesContent":["import{S as e,T as t,J as s,E as i,l as r,L as n}from\"./index-923cf570.js\";class o{constructor(s,i,r){this.webHidHandler=s,this.logger=i,this.recorder=r,this.events=new e,this.consoleAppEvent=this.events,this.webHidConnected=!1,this.context=t.WEB_HID}connect(){return this.webHidConnected?Promise.reject(new s(\"Already connected\",i.UNEXPECTED_ERROR)):(this.webHidHandler.events.subscribe((e=>{var t;let s=e;this.recorder&&(s=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(s)),this.events.next(s)})),this.webHidHandler.start(),this.webHidConnected=!0,Promise.resolve())}writeAction(e){var t;if(!this.webHidConnected){const e=\"WebHID is uninitialized.\";throw r(e,this.logger,n.ERROR),new s(e,i.INIT_ERROR)}null===(t=this.recorder)||void 0===t||t.recordOutput(e),this.webHidHandler.sendMessage(e)}}export{o as WebHidTransport};\n"],"sourceRoot":""}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* istanbul ignore file */
6
7
  const i18next_1 = __importDefault(require("i18next"));
7
8
  const i18next_http_backend_1 = __importDefault(require("i18next-http-backend"));
8
9
  const i18next_browser_languagedetector_1 = __importDefault(require("i18next-browser-languagedetector"));
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../react-app/src/config/i18n.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,gFAA2C;AAC3C,wGAAgE;AAChE,iDAAiD;AAEjD,MAAM,cAAc,GAAG;IACnB,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,mBAAmB;CACzD,CAAC;AAEF,iBAAI;KACC,GAAG,CAAC,8BAAO,CAAC;KACZ,GAAG,CAAC,0CAAgB,CAAC;KACrB,GAAG,CAAC,gCAAgB,CAAC;KACrB,IAAI,CAAC;IACF,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE;QACX,WAAW,EAAE,KAAK;KACrB;CACJ,CAAC,CAAC;AAEP,kBAAe,iBAAI,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../react-app/src/config/i18n.ts"],"names":[],"mappings":";;;;;AAAA,0BAA0B;AAC1B,sDAA2B;AAC3B,gFAA2C;AAC3C,wGAAgE;AAChE,iDAAiD;AAEjD,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,mBAAmB;CACvD,CAAC;AAEF,iBAAI;KACD,GAAG,CAAC,8BAAO,CAAC;KACZ,GAAG,CAAC,0CAAgB,CAAC;KACrB,GAAG,CAAC,gCAAgB,CAAC;KACrB,IAAI,CAAC;IACJ,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;CACF,CAAC,CAAC;AAEL,kBAAe,iBAAI,CAAC"}
@@ -4,6 +4,5 @@ export * from './types/call-info';
4
4
  export * from './types/consumed-headset-events';
5
5
  export * from './types/device-info';
6
6
  export * from './types/emitted-headset-events';
7
- export * from './types/jabra-request';
8
7
  export { VendorImplementation };
9
8
  export default HeadsetService;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -21,6 +25,5 @@ __exportStar(require("./types/call-info"), exports);
21
25
  __exportStar(require("./types/consumed-headset-events"), exports);
22
26
  __exportStar(require("./types/device-info"), exports);
23
27
  __exportStar(require("./types/emitted-headset-events"), exports);
24
- __exportStar(require("./types/jabra-request"), exports);
25
28
  exports.default = headset_1.default;
26
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../react-app/src/library/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAgD;AAChD,mGAA+F;AAOtF,qGAPA,4CAAoB,OAOA;AAL7B,oDAAkC;AAClC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAC/C,wDAAsC;AAEtC,kBAAe,iBAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../react-app/src/library/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iEAAgD;AAChD,mGAA+F;AAMtF,qGANA,4CAAoB,OAMA;AAJ7B,oDAAkC;AAClC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAE/C,kBAAe,iBAAc,CAAC"}
@@ -10,11 +10,14 @@ export default class HeadsetService {
10
10
  sennheiser: VendorImplementation;
11
11
  selectedImplementation: VendorImplementation;
12
12
  headsetEvents$: Observable<ConsumedHeadsetEvents>;
13
+ private headsetConversationStates;
13
14
  private _headsetEvents$;
14
15
  private logger;
15
16
  private constructor();
16
17
  static getInstance(config: ImplementationConfig): HeadsetService;
17
18
  get implementations(): VendorImplementation[];
19
+ private isDifferentState;
20
+ private updateHeadsetState;
18
21
  activeMicChange(newMicLabel: string): void;
19
22
  changeImplementation(implementation: VendorImplementation | null, deviceLabel: string): Promise<void>;
20
23
  incomingCall(callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any>;
@@ -27,9 +30,10 @@ export default class HeadsetService {
27
30
  endAllCalls(): Promise<any>;
28
31
  retryConnection(micLabel: string): Promise<void>;
29
32
  connectionStatus(): DeviceConnectionStatus;
30
- private performActionIfConnected;
33
+ private getConnectedImpl;
31
34
  private subscribeToHeadsetEvents;
32
35
  private clearSelectedImplementation;
36
+ private setRemoveTimer;
33
37
  private handleDeviceAnsweredCall;
34
38
  private handleDeviceRejectedCall;
35
39
  private handleDeviceEndedCall;
@@ -18,8 +18,10 @@ const sennheiser_1 = __importDefault(require("./vendor-implementations/sennheise
18
18
  const jabra_1 = __importDefault(require("./vendor-implementations/jabra/jabra"));
19
19
  const jabra_native_1 = __importDefault(require("./vendor-implementations/jabra/jabra-native/jabra-native"));
20
20
  const consumed_headset_events_1 = require("../types/consumed-headset-events");
21
+ const REMOVE_WAIT = 2000;
21
22
  class HeadsetService {
22
23
  constructor(config) {
24
+ this.headsetConversationStates = {};
23
25
  this._headsetEvents$ = new rxjs_1.Subject();
24
26
  this.headsetEvents$ = this._headsetEvents$.asObservable();
25
27
  this.logger = config.logger || console;
@@ -44,13 +46,26 @@ class HeadsetService {
44
46
  ].filter((impl) => impl.isSupported());
45
47
  return implementations;
46
48
  }
49
+ isDifferentState(props) {
50
+ const state = this.headsetConversationStates[props.conversationId];
51
+ // different if there's no state or any of the provided state props don't match
52
+ return !state || Object.entries(props.state).some(([key, value]) => state[key] !== value);
53
+ }
54
+ updateHeadsetState(props) {
55
+ if (this.isDifferentState(props)) {
56
+ const state = this.headsetConversationStates[props.conversationId];
57
+ Object.assign(state, props.state);
58
+ return true;
59
+ }
60
+ return false;
61
+ }
47
62
  activeMicChange(newMicLabel) {
48
63
  if (newMicLabel) {
49
64
  const implementation = this.implementations.find((implementation) => implementation.deviceLabelMatchesVendor(newMicLabel));
50
65
  if (implementation) {
51
66
  this.changeImplementation(implementation, newMicLabel);
52
67
  }
53
- else {
68
+ else if (this.selectedImplementation) {
54
69
  this.clearSelectedImplementation();
55
70
  }
56
71
  }
@@ -64,38 +79,135 @@ class HeadsetService {
64
79
  return;
65
80
  }
66
81
  if (this.selectedImplementation) {
82
+ // remove headsetStates associated with implementation
83
+ this.headsetConversationStates = {};
67
84
  yield this.selectedImplementation.disconnect();
68
85
  }
69
86
  this.selectedImplementation = implementation;
87
+ this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.implementationChanged, payload: implementation });
70
88
  if (implementation) {
71
89
  yield implementation.connect(deviceLabel);
72
90
  }
73
- this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.implementationChanged, payload: implementation });
74
91
  });
75
92
  }
76
93
  incomingCall(callInfo, hasOtherActiveCalls) {
77
- return this.performActionIfConnected('incomingCall', (implementation) => implementation.incomingCall(callInfo, hasOtherActiveCalls));
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const implementation = this.getConnectedImpl();
96
+ if (!implementation) {
97
+ return;
98
+ }
99
+ this.headsetConversationStates[callInfo.conversationId] = {
100
+ conversationId: callInfo.conversationId,
101
+ held: false,
102
+ muted: false,
103
+ offHook: false,
104
+ ringing: true
105
+ };
106
+ return implementation.incomingCall(callInfo, hasOtherActiveCalls);
107
+ });
78
108
  }
79
109
  outgoingCall(callInfo) {
80
- return this.performActionIfConnected('outgoingCall', (implementation) => implementation.outgoingCall(callInfo));
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const implementation = this.getConnectedImpl();
112
+ if (!implementation) {
113
+ return;
114
+ }
115
+ this.headsetConversationStates[callInfo.conversationId] = {
116
+ conversationId: callInfo.conversationId,
117
+ held: false,
118
+ muted: false,
119
+ offHook: true,
120
+ ringing: false
121
+ };
122
+ return implementation.outgoingCall(callInfo);
123
+ });
81
124
  }
82
125
  answerCall(conversationId) {
83
- return this.performActionIfConnected('answerCall', (implementation) => implementation.answerCall(conversationId));
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const implementation = this.getConnectedImpl();
128
+ if (!implementation) {
129
+ return;
130
+ }
131
+ const expectedStatePostAction = {
132
+ ringing: false,
133
+ offHook: true
134
+ };
135
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
136
+ return implementation.answerCall(conversationId);
137
+ }
138
+ });
84
139
  }
85
140
  rejectCall(conversationId) {
86
- return this.performActionIfConnected('rejectCall', (implementation) => implementation.rejectCall(conversationId));
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ const implementation = this.getConnectedImpl();
143
+ if (!implementation) {
144
+ return;
145
+ }
146
+ const expectedStatePostAction = {
147
+ ringing: false
148
+ };
149
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
150
+ const headsetState = this.headsetConversationStates[conversationId];
151
+ headsetState.removeTimer = this.setRemoveTimer(conversationId);
152
+ return implementation.rejectCall(conversationId);
153
+ }
154
+ });
87
155
  }
88
156
  setMute(value) {
89
- return this.performActionIfConnected('setMute', (implementation) => implementation.setMute(value));
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const implementation = this.getConnectedImpl();
159
+ if (!implementation) {
160
+ return;
161
+ }
162
+ if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== value)) {
163
+ Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = value);
164
+ return implementation.setMute(value);
165
+ }
166
+ });
90
167
  }
91
168
  setHold(conversationId, value) {
92
- return this.performActionIfConnected('setHold', (implementation) => implementation.setHold(conversationId, value));
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const implementation = this.getConnectedImpl();
171
+ if (!implementation) {
172
+ return;
173
+ }
174
+ const expectedStatePostAction = {
175
+ held: value
176
+ };
177
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
178
+ return implementation.setHold(conversationId, value);
179
+ }
180
+ });
93
181
  }
94
182
  endCall(conversationId, hasOtherActiveCalls) {
95
- return this.performActionIfConnected('endCall', (implementation) => implementation.endCall(conversationId, hasOtherActiveCalls));
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ const implementation = this.getConnectedImpl();
185
+ if (!implementation) {
186
+ return;
187
+ }
188
+ const expectedStatePostAction = {
189
+ offHook: false
190
+ };
191
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
192
+ const headsetState = this.headsetConversationStates[conversationId];
193
+ headsetState.removeTimer = this.setRemoveTimer(conversationId);
194
+ return implementation.endCall(conversationId, hasOtherActiveCalls);
195
+ }
196
+ });
96
197
  }
97
198
  endAllCalls() {
98
- return this.performActionIfConnected('endAllCalls', (implementation) => implementation.endAllCalls());
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ const implementation = this.getConnectedImpl();
201
+ if (!implementation) {
202
+ return;
203
+ }
204
+ Object.values(this.headsetConversationStates).forEach((headsetState) => {
205
+ if (!headsetState.removeTimer) {
206
+ headsetState.removeTimer = this.setRemoveTimer(headsetState.conversationId);
207
+ }
208
+ });
209
+ return implementation.endAllCalls();
210
+ });
99
211
  }
100
212
  retryConnection(micLabel) {
101
213
  if (!this.selectedImplementation) {
@@ -112,35 +224,51 @@ class HeadsetService {
112
224
  }
113
225
  return 'noVendor';
114
226
  }
115
- performActionIfConnected(actionName, perform) {
227
+ getConnectedImpl() {
116
228
  const impl = this.selectedImplementation;
117
229
  if (!impl || !impl.isConnected) {
118
- this.logger.info(`Headset: No vendor headset connected [${actionName}]`);
119
- return Promise.resolve();
230
+ return null;
120
231
  }
121
- return perform(impl);
232
+ return impl;
122
233
  }
123
234
  subscribeToHeadsetEvents(implementation) {
124
235
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceAnsweredCall, this.handleDeviceAnsweredCall.bind(this));
125
236
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceRejectedCall, this.handleDeviceRejectedCall.bind(this));
126
237
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceEndedCall, this.handleDeviceEndedCall.bind(this));
127
- implementation.on(consumed_headset_events_1.HeadsetEvents.deviceMuteChanged, this.handleDeviceMuteStatusChanged.bind(this));
238
+ implementation.on(consumed_headset_events_1.HeadsetEvents.deviceMuteStatusChanged, this.handleDeviceMuteStatusChanged.bind(this));
128
239
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceHoldStatusChanged, this.handleDeviceHoldStatusChanged.bind(this));
129
240
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceEventLogs, this.handleDeviceLogs.bind(this));
130
241
  implementation.on(consumed_headset_events_1.HeadsetEvents.deviceConnectionStatusChanged, this.handleDeviceConnectionStatusChanged.bind(this));
131
242
  implementation.on(consumed_headset_events_1.HeadsetEvents.webHidPermissionRequested, this.handleWebHidPermissionRequested.bind(this));
132
243
  }
133
244
  clearSelectedImplementation() {
134
- if (this.selectedImplementation) {
135
- this.selectedImplementation.disconnect();
245
+ if (!this.selectedImplementation) {
246
+ return;
136
247
  }
248
+ this.selectedImplementation.disconnect();
249
+ this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.implementationChanged, payload: null });
137
250
  this.selectedImplementation = null;
138
251
  this.handleDeviceConnectionStatusChanged();
139
252
  }
253
+ setRemoveTimer(conversationId) {
254
+ return setTimeout(() => {
255
+ // we are using the removeTimer to make sure this is actually slated for removal.
256
+ // if we get a new incoming call for example, it will replace the current state which is slated for
257
+ // removal and we don't want to remove it if it's a new/updated state
258
+ if (this.headsetConversationStates[conversationId].removeTimer) {
259
+ delete this.headsetConversationStates[conversationId];
260
+ }
261
+ }, REMOVE_WAIT);
262
+ }
140
263
  handleDeviceAnsweredCall(event) {
141
264
  if (event.vendor !== this.selectedImplementation) {
142
265
  return;
143
266
  }
267
+ const expectedStatePostAction = {
268
+ ringing: false,
269
+ offHook: true
270
+ };
271
+ this.updateHeadsetState({ conversationId: event.body.conversationId, state: expectedStatePostAction });
144
272
  this.logger.info('Headset: device answered the call');
145
273
  this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceAnsweredCall, payload: Object.assign({}, event.body) });
146
274
  }
@@ -148,19 +276,43 @@ class HeadsetService {
148
276
  if (event.vendor !== this.selectedImplementation) {
149
277
  return;
150
278
  }
279
+ const expectedStatePostAction = {
280
+ ringing: false
281
+ };
282
+ const conversationId = event.body.conversationId;
283
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
284
+ const headsetState = this.headsetConversationStates[conversationId];
285
+ headsetState.removeTimer = this.setRemoveTimer(conversationId);
286
+ }
151
287
  this.logger.info('Headset: device rejected the call');
152
- this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceRejectedCall, payload: { conversationId: event.body.conversationId } });
288
+ this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceRejectedCall, payload: Object.assign({}, event.body) });
153
289
  }
154
290
  handleDeviceEndedCall(event) {
155
291
  this.logger.info('Headset: device ended the call');
292
+ const expectedStatePostAction = {
293
+ offHook: false
294
+ };
295
+ const conversationId = event.body.conversationId;
296
+ if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {
297
+ const headsetState = this.headsetConversationStates[conversationId];
298
+ headsetState.removeTimer = this.setRemoveTimer(conversationId);
299
+ }
156
300
  this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceEndedCall, payload: Object.assign({}, event.body) });
157
301
  }
158
302
  handleDeviceMuteStatusChanged(event) {
159
303
  this.logger.info('Headset: device mute status changed: ', event.body.isMuted);
304
+ if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== event.body.isMuted)) {
305
+ Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = event.body.isMuted);
306
+ }
160
307
  this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceMuteStatusChanged, payload: Object.assign({}, event.body) });
161
308
  }
162
309
  handleDeviceHoldStatusChanged(event) {
163
310
  this.logger.info('Headset: device hold status changed', event.body.holdRequested);
311
+ const expectedStatePostAction = {
312
+ held: event.body.holdRequested
313
+ };
314
+ const conversationId = event.body.conversationId;
315
+ this.updateHeadsetState({ conversationId, state: expectedStatePostAction });
164
316
  this._headsetEvents$.next({ event: consumed_headset_events_1.HeadsetEvents.deviceHoldStatusChanged, payload: Object.assign({}, event.body) });
165
317
  }
166
318
  handleDeviceConnectionStatusChanged() {
@@ -1 +1 @@
1
- {"version":3,"file":"headset.js","sourceRoot":"","sources":["../../../../../react-app/src/library/services/headset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headset.js","sourceRoot":"","sources":["../../../../../react-app/src/library/services/headset.ts"],"names":[],"mappings":"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"}