fcr-ui-scene 3.9.0 → 3.9.1-alpha

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 (199) hide show
  1. package/lib/creator/provider-initializer.browser.js +2 -1
  2. package/lib/creator/provider-initializer.electron.js +11 -4
  3. package/lib/electron/injections.d.ts +1 -0
  4. package/lib/electron/injections.js +4 -1
  5. package/lib/electron/preload.js +1 -0
  6. package/lib/modules/action-bar/main-scene/store.base.d.ts +1 -0
  7. package/lib/modules/action-bar/main-scene/store.base.js +5 -0
  8. package/lib/modules/audio-stream/index.d.ts +2 -0
  9. package/lib/modules/audio-stream/index.js +33 -1
  10. package/lib/modules/chat/index.js +1 -1
  11. package/lib/modules/chat/store.d.ts +1 -1
  12. package/lib/modules/chat/store.js +4 -2
  13. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  14. package/lib/modules/components/device-control/store.base.js +22 -3
  15. package/lib/modules/components/leave-meeting/index.js +3 -2
  16. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +1 -0
  17. package/lib/modules/components/leave-meeting/main-scene/store.js +6 -1
  18. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  19. package/lib/modules/components/leave-meeting/store.base.js +1 -1
  20. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +1 -0
  21. package/lib/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  22. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  23. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  24. package/lib/modules/components/member-window/components/member-actions/index.js +0 -7
  25. package/lib/modules/components/member-window/components/member-actions/store.js +1 -1
  26. package/lib/modules/components/member-window/index.js +1 -1
  27. package/lib/modules/components/tab-frame/index.css +12 -1
  28. package/lib/modules/components/tab-frame/index.js +4 -1
  29. package/lib/modules/control-bar/components/share-state-nav/index.js +1 -3
  30. package/lib/modules/control-bar/mouse-event-bridge.d.ts +23 -0
  31. package/lib/modules/control-bar/mouse-event-bridge.js +87 -0
  32. package/lib/modules/control-bar/store.d.ts +1 -1
  33. package/lib/modules/control-bar/store.js +10 -27
  34. package/lib/modules/control-bar/type.d.ts +0 -1
  35. package/lib/modules/control-bar/view.js +9 -16
  36. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  37. package/lib/modules/dialog/dialogs/invite/index.js +6 -24
  38. package/lib/modules/invite/components/copy-info.css +72 -0
  39. package/lib/modules/invite/components/copy-info.d.ts +3 -0
  40. package/lib/modules/invite/components/copy-info.js +144 -0
  41. package/lib/modules/invite/components/pstn-invite.js +3 -15
  42. package/lib/modules/invite/components/voip-invite.js +10 -1
  43. package/lib/modules/invite/enums.d.ts +3 -1
  44. package/lib/modules/invite/enums.js +2 -0
  45. package/lib/modules/invite/store.d.ts +4 -1
  46. package/lib/modules/invite/store.js +37 -13
  47. package/lib/modules/invite/view.js +41 -20
  48. package/lib/modules/layout/store.base.d.ts +2 -1
  49. package/lib/modules/layout/store.base.js +20 -23
  50. package/lib/modules/participant/components/confirm-input/index.css +67 -1
  51. package/lib/modules/participant/components/confirm-input/index.js +16 -13
  52. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  53. package/lib/modules/participant/store.base.d.ts +1 -0
  54. package/lib/modules/participant/store.base.js +34 -7
  55. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +2 -0
  56. package/lib/modules/pc-audio-connect/main-scene/store.js +12 -2
  57. package/lib/modules/pc-audio-connect/view.js +4 -2
  58. package/lib/modules/phone-audio-connect/store.d.ts +6 -4
  59. package/lib/modules/phone-audio-connect/store.js +12 -1
  60. package/lib/modules/phone-audio-connect/view.js +6 -4
  61. package/lib/modules/secondary-window/index.js +2 -2
  62. package/lib/modules/secondary-window/store.d.ts +3 -0
  63. package/lib/modules/secondary-window/store.js +16 -1
  64. package/lib/modules/secondary-window/view.js +96 -72
  65. package/lib/modules/toast-manager/type.d.ts +2 -1
  66. package/lib/modules/toast-manager/type.js +4 -1
  67. package/lib/plugins/module-dev-plugin.js +4 -4
  68. package/lib/providers/ability-provider.d.ts +15 -0
  69. package/lib/providers/ability-provider.js +13 -1
  70. package/lib/providers/mouse-detect/provider.d.ts +2 -0
  71. package/lib/providers/mouse-detect/provider.empty.d.ts +14 -0
  72. package/lib/providers/mouse-detect/provider.empty.js +47 -0
  73. package/lib/providers/mouse-detect/provider.js +13 -4
  74. package/lib/providers/mouse-detect/type.d.ts +2 -0
  75. package/lib/providers/phone-audio-provider.d.ts +31 -5
  76. package/lib/providers/phone-audio-provider.js +83 -22
  77. package/lib/runtime.d.ts +1 -0
  78. package/lib/scenes/main-scene.js +2 -1
  79. package/lib/shared-data/chat-data.d.ts +19 -0
  80. package/lib/shared-data/chat-data.js +54 -7
  81. package/lib/shared-data/member-data.d.ts +9 -1
  82. package/lib/shared-data/member-data.js +46 -17
  83. package/lib/shared-data/video-window.js +8 -4
  84. package/lib/translations/enUS.d.ts +245 -1
  85. package/lib/translations/enUS.js +247 -3
  86. package/lib/translations/zhCN.d.ts +245 -1
  87. package/lib/translations/zhCN.js +246 -2
  88. package/lib/utilities/os.d.ts +1 -0
  89. package/lib/utilities/os.js +15 -0
  90. package/lib/utilities/renderer.d.ts +1 -0
  91. package/lib/utilities/renderer.js +7 -1
  92. package/lib-es/creator/provider-initializer.browser.js +2 -1
  93. package/lib-es/creator/provider-initializer.electron.js +9 -2
  94. package/lib-es/electron/injections.js +3 -0
  95. package/lib-es/electron/preload.js +2 -1
  96. package/lib-es/modules/action-bar/main-scene/store.base.js +5 -0
  97. package/lib-es/modules/audio-stream/index.js +33 -1
  98. package/lib-es/modules/chat/index.js +1 -1
  99. package/lib-es/modules/chat/store.js +4 -2
  100. package/lib-es/modules/components/device-control/store.base.js +22 -3
  101. package/lib-es/modules/components/leave-meeting/index.js +3 -2
  102. package/lib-es/modules/components/leave-meeting/main-scene/store.js +6 -1
  103. package/lib-es/modules/components/leave-meeting/store.base.js +1 -1
  104. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  105. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  106. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  107. package/lib-es/modules/components/member-window/components/member-actions/index.js +0 -7
  108. package/lib-es/modules/components/member-window/components/member-actions/store.js +1 -1
  109. package/lib-es/modules/components/member-window/index.js +1 -1
  110. package/lib-es/modules/components/tab-frame/index.css +12 -1
  111. package/lib-es/modules/components/tab-frame/index.js +4 -1
  112. package/lib-es/modules/control-bar/components/share-state-nav/index.js +1 -3
  113. package/lib-es/modules/control-bar/mouse-event-bridge.js +79 -0
  114. package/lib-es/modules/control-bar/store.js +11 -28
  115. package/lib-es/modules/control-bar/view.js +9 -16
  116. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  117. package/lib-es/modules/dialog/dialogs/invite/index.js +6 -24
  118. package/lib-es/modules/invite/components/copy-info.css +72 -0
  119. package/lib-es/modules/invite/components/copy-info.js +137 -0
  120. package/lib-es/modules/invite/components/pstn-invite.js +3 -15
  121. package/lib-es/modules/invite/components/voip-invite.js +10 -1
  122. package/lib-es/modules/invite/enums.js +2 -0
  123. package/lib-es/modules/invite/store.js +38 -14
  124. package/lib-es/modules/invite/view.js +43 -22
  125. package/lib-es/modules/layout/store.base.js +20 -23
  126. package/lib-es/modules/participant/components/confirm-input/index.css +67 -1
  127. package/lib-es/modules/participant/components/confirm-input/index.js +16 -13
  128. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  129. package/lib-es/modules/participant/store.base.js +34 -7
  130. package/lib-es/modules/pc-audio-connect/main-scene/store.js +12 -2
  131. package/lib-es/modules/pc-audio-connect/view.js +4 -2
  132. package/lib-es/modules/phone-audio-connect/store.js +12 -1
  133. package/lib-es/modules/phone-audio-connect/view.js +6 -4
  134. package/lib-es/modules/secondary-window/index.js +2 -2
  135. package/lib-es/modules/secondary-window/store.js +16 -1
  136. package/lib-es/modules/secondary-window/view.js +97 -73
  137. package/lib-es/modules/toast-manager/type.js +4 -1
  138. package/lib-es/plugins/module-dev-plugin.js +4 -4
  139. package/lib-es/providers/ability-provider.js +13 -1
  140. package/lib-es/providers/mouse-detect/provider.empty.js +39 -0
  141. package/lib-es/providers/mouse-detect/provider.js +13 -4
  142. package/lib-es/providers/phone-audio-provider.js +109 -48
  143. package/lib-es/scenes/main-scene.js +3 -2
  144. package/lib-es/shared-data/chat-data.js +55 -8
  145. package/lib-es/shared-data/member-data.js +46 -17
  146. package/lib-es/shared-data/video-window.js +8 -4
  147. package/lib-es/translations/enUS.js +247 -3
  148. package/lib-es/translations/zhCN.js +246 -2
  149. package/lib-es/utilities/os.js +8 -0
  150. package/lib-es/utilities/renderer.js +7 -1
  151. package/lib-es/utilities/shared-storage.js +2 -2
  152. package/package.json +6 -6
  153. package/lib/modules/connection-gateway/components/computer/index.css +0 -12
  154. package/lib/modules/connection-gateway/components/computer/index.d.ts +0 -3
  155. package/lib/modules/connection-gateway/components/computer/index.js +0 -66
  156. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  157. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +0 -10
  158. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -78
  159. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  160. package/lib/modules/connection-gateway/components/phone/components/calling/index.d.ts +0 -7
  161. package/lib/modules/connection-gateway/components/phone/components/calling/index.js +0 -58
  162. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  163. package/lib/modules/connection-gateway/components/phone/components/remeber/index.d.ts +0 -5
  164. package/lib/modules/connection-gateway/components/phone/components/remeber/index.js +0 -24
  165. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  166. package/lib/modules/connection-gateway/components/phone/components/useing/index.d.ts +0 -3
  167. package/lib/modules/connection-gateway/components/phone/components/useing/index.js +0 -36
  168. package/lib/modules/connection-gateway/components/phone/index.css +0 -49
  169. package/lib/modules/connection-gateway/components/phone/index.d.ts +0 -3
  170. package/lib/modules/connection-gateway/components/phone/index.js +0 -185
  171. package/lib/modules/connection-gateway/enums.d.ts +0 -4
  172. package/lib/modules/connection-gateway/enums.js +0 -12
  173. package/lib/modules/connection-gateway/index.css +0 -6
  174. package/lib/modules/connection-gateway/index.d.ts +0 -10
  175. package/lib/modules/connection-gateway/index.js +0 -78
  176. package/lib/modules/connection-gateway/store.d.ts +0 -68
  177. package/lib/modules/connection-gateway/store.js +0 -713
  178. package/lib/modules/connection-gateway/types.d.ts +0 -8
  179. package/lib/modules/connection-gateway/types.js +0 -6
  180. package/lib/modules/connection-gateway/view.d.ts +0 -1
  181. package/lib/modules/connection-gateway/view.js +0 -39
  182. package/lib-es/modules/connection-gateway/components/computer/index.css +0 -12
  183. package/lib-es/modules/connection-gateway/components/computer/index.js +0 -59
  184. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  185. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -71
  186. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  187. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +0 -51
  188. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  189. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +0 -17
  190. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  191. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +0 -29
  192. package/lib-es/modules/connection-gateway/components/phone/index.css +0 -49
  193. package/lib-es/modules/connection-gateway/components/phone/index.js +0 -177
  194. package/lib-es/modules/connection-gateway/enums.js +0 -5
  195. package/lib-es/modules/connection-gateway/index.css +0 -6
  196. package/lib-es/modules/connection-gateway/index.js +0 -60
  197. package/lib-es/modules/connection-gateway/store.js +0 -707
  198. package/lib-es/modules/connection-gateway/types.js +0 -1
  199. package/lib-es/modules/connection-gateway/view.js +0 -31
@@ -16,7 +16,6 @@ var zhCn = exports.zhCn = {
16
16
  fmt_participants_button_muteAll: '全员静音',
17
17
  fmt_participants_button_unmuteAll: '解除全员静音',
18
18
  fmt_participants_button_meetingManagement: '会议管理',
19
- fmt_participants_button_meetingPermission: '会议权限',
20
19
  fmt_participants_button_invite: '邀请',
21
20
  fmt_participants_member_button_mute: '静音',
22
21
  fmt_participants_member_button_unmute: '解除静音',
@@ -1082,6 +1081,10 @@ var zhCn = exports.zhCn = {
1082
1081
  fmt_record_record_stop_confirm: '确定停止录制',
1083
1082
  fmt_record_toast_record_paused: '云录制已暂停',
1084
1083
  fmt_record_toast_record_resumed: '云录制已恢复',
1084
+ fmt_invitepage_label_by_invitation: '复制信息',
1085
+ fmt_invitepage_label_meeting_connector: '会议连接器',
1086
+ fmt_invitepage_label_invite_link: '会议链接',
1087
+ fmt_invitepage_label_meeting_details: '会议信息',
1085
1088
  fmt_pstn_label_accessmethod: '选择音频接入方式',
1086
1089
  fmt_pstn_options_PCaudioconnet: '连接到电脑音频',
1087
1090
  fmt_pstn_options_phoneaudioconnet: '连接到电话音频',
@@ -1147,6 +1150,7 @@ var zhCn = exports.zhCn = {
1147
1150
  fmt_SIP323_copywrite_phonenumber: '手机号码(必填)',
1148
1151
  fmt_SIP323_options_detailedinfor: '复制详细会议信息',
1149
1152
  fmt_SIP323_tips_alreadycopied: '已复制在粘贴板',
1153
+ fmt_SIP_tips_enter_correct_number: '请输入正确的会议连接器号码',
1150
1154
  fmt_localrecord_labels_record: '录制',
1151
1155
  fmt_localrecord_labels_savingto: '本地录制保存在',
1152
1156
  fmt_localrecord_button_savingto: '更改',
@@ -2086,5 +2090,245 @@ var zhCn = exports.zhCn = {
2086
2090
  fmt_echo_window_button_cancel: '取消',
2087
2091
  fmt_echo_window_button_disconnect: '断开音频',
2088
2092
  fmt_mute_toast_yr_on_mute: '您已静音,请开启麦克风',
2089
- fmt_meeting_setting_options_enable_recording: '允许使用云端录制'
2093
+ fmt_meeting_setting_options_enable_recording: '允许使用云端录制',
2094
+ fmt_premeeting_subheading_scenario: '业务场景',
2095
+ fmt_premeeting_scenario_setting_button_meeting: '视频会议',
2096
+ fmt_premeeting_scenario_setting_button_webinar: '网络研讨会',
2097
+ fmt_premeeting_setting_lock_meeting: '锁定会议',
2098
+ fmt_premeeting_role_setting_role: '角色',
2099
+ fmt_premeeting_role_setting_role_host: '主持人',
2100
+ fmt_premeeting_role_setting_role_co_host: '联席主持人',
2101
+ fmt_premeeting_role_setting_role_guest: '参会者/嘉宾',
2102
+ fmt_premeeting_role_setting_role_audience: '观众',
2103
+ fmt_premeeting_setting_allow_guests_unmute: '允许嘉宾自我解除静音',
2104
+ fmt_premeeting_setting_allow_guests_turn_on_video: '允许嘉宾开启视频',
2105
+ fmt_premeeting_setting_allow_guests_rename: '允许嘉宾改名',
2106
+ fmt_premeeting_setting_label_allow_audience_raisehands: '允许观众举手',
2107
+ fmt_premeeting_setting_allow_audience_view_participants_number: '允许观众查看参会总人数',
2108
+ fmt_premeeting_setting_allow_audience_rename: '允许观众改名',
2109
+ fmt_security_setting_label_allow_audience_raisehands: '允许观众举手',
2110
+ fmt_security_setting_label_allow_audience_viewparticipants: '允许观众查看参会总人数',
2111
+ fmt_security_setting_label_allow_audience_rename: '允许观众自己改名',
2112
+ fmt_security_setting_label_allow_audience_viewparticipants_off: '与其他xx名观众',
2113
+ fmt_security_setting_mute_guests_entry: '嘉宾入会时静音',
2114
+ fmt_security_setting_guests_video_entry_off: '嘉宾入会时关闭视频',
2115
+ fmt_security_setting_allow_guests_unmute: '允许嘉宾自我解除静音',
2116
+ fmt_security_setting_allow_guests_turn_on_video: '允许嘉宾开启视频',
2117
+ fmt_security_setting_allow_guests_share_screen_whiteboard: '允许嘉宾共享屏幕和白板',
2118
+ fmt_security_setting_allow_guests_interactive_annotations: '允许嘉宾互动批注',
2119
+ fmt_security_setting_allow_guests_rename: '允许嘉宾自我改名',
2120
+ fmt_premeeting_participant_list: '参会者',
2121
+ fmt_premeeting_participant_list_guest: '嘉宾',
2122
+ fmt_premeeting_participant_list_audience: '观众',
2123
+ fmt_premeeting_participant_list_raising: 'xx位观众正在举手',
2124
+ fmt_premeeting_participant_list_guest_demote_audience: '降级为观众',
2125
+ fmt_premeeting_participant_list_guest_revoke_cohost: '撤销联席主持人',
2126
+ fmt_premeeting_participant_list_guest_demote_tip: '已成功将xx降级为观众',
2127
+ fmt_premeeting_participant_list_guest_revoke_tip: '主持人已将您设置为观众',
2128
+ fmt_premeeting_participant_list_guest_disable_chatting_tip: '是否禁止xx聊天',
2129
+ fmt_premeeting_participant_list_guest_block_messages: '是否屏蔽xx已发送的所有聊天消息?操作后其他用户将无法查看。',
2130
+ fmt_premeeting_participant_list_guest_block_messages_tip: '您已被禁言',
2131
+ fmt_premeeting_participant_upgraded_guest_tip: '已成功将“xxx"升级为嘉宾',
2132
+ fmt_premeeting_participant_upgraded_host: '设为“主持人”',
2133
+ fmt_premeeting_participant_upgraded_host_choose: '是否将“xxx"设为会议的主持人?',
2134
+ fmt_premeeting_participant_upgraded_host_on: '设为主持',
2135
+ fmt_premeeting_participant_upgraded_host_on_cancel: '取消',
2136
+ fmt_premeeting_participant_upgraded_co_host: '设为“联席主持”',
2137
+ fmt_premeeting_participant_upgraded_co_host_tip: '是否将“xxx"设为会议的联席主持?',
2138
+ fmt_premeeting_participant_upgraded_co_host_on: '设为联席主持',
2139
+ fmt_premeeting_participant_upgraded_co_host_on_cancel: '取消',
2140
+ fmt_premeeting_participant_upgraded_co_host_limit: '用户角色已满,无法设置为联席主持人',
2141
+ fmt_premeeting_participant_set_guest: '设为嘉宾',
2142
+ fmt_premeeting_participant_upgraded_guest_limit: '用户角色已满,无法设置为嘉宾',
2143
+ fmt_premeeting_participant_set_co_host_tip: '已成功将“xx"设置为联席',
2144
+ fmt_premeeting_participant_set_guest_tip: '已成功将“xx"降级为嘉宾',
2145
+ fmt_premeeting_participant_set_audience_tip: '已成功将“xx"降级为观众',
2146
+ fmt_premeeting_participant_cannot_set_audience_tip: '无法将ta降级为观众',
2147
+ fmt_premeeting_participant_set_co_host_tip_myself: '主持人已将您设置为联席',
2148
+ fmt_premeeting_participant_set_guest_tip_myself: '主持人已将您降级为嘉宾',
2149
+ fmt_premeeting_participant_set_audience_tip_myself: '主持人已将您降级为观众',
2150
+ fmt_premeeting_participant_xx_now_host: 'xx现在成为主持人',
2151
+ fmt_premeeting_participant_xx_now_co_host: 'xx设置为联席',
2152
+ fmt_premeeting_participant_now_co_host_yourself: '您已成为联席',
2153
+ fmt_premeeting_participant_xx_now_guest: 'xx设置为嘉宾',
2154
+ fmt_premeeting_participant_now_host_tip: '"xxx"现在成为主持人',
2155
+ fmt_premeeting_participant_set_guest_tip_u: '主持人已将您设为嘉宾',
2156
+ fmt_premeeting_participant_now_guest_tip_u: '你是本次会议的嘉宾,可以开启麦克风、摄像头、使用共享屏幕分享,可以通过公共聊天等功能和观众互动。',
2157
+ fmt_premeeting_participant_now_guest_tip_u_ok: '知道了',
2158
+ fmt_premeeting_participant_now_cohost_tip_u: '你被设为联席主持人',
2159
+ fmt_premeeting_participant_now_host_tip_u: '你被设为主持人',
2160
+ fmt_premeeting_participant_revoke_host_tip_u: '你的主持人身份被收回',
2161
+ fmt_premeeting_participant_revoke_cohost_tip_u: '你的联席主持身份被撤销',
2162
+ fmt_premeeting_participant_now_audience_tip_u: '主持人已将你设置为观众',
2163
+ fmt_premeeting_participant_list_revoke_host_role: '收回主持人',
2164
+ fmt_premeeting_participant_list_modify_nickname: '修改会中昵称',
2165
+ fmt_premeeting_participant_remove_title: '移出会议',
2166
+ fmt_premeeting_participant_confirm_removal_tip: '确定将“xxx"移出会议?',
2167
+ fmt_premeeting_participant_not_rejoin_on: '不允许用户再次加入该会议',
2168
+ fmt_premeeting_participant_remove_button: '移出会议',
2169
+ fmt_premeeting_participant_creator_cannot_removed: '不可以移出会议创建者',
2170
+ fmt_premeeting_participant_prohibited_join_tip: '本场会议禁止你入会',
2171
+ fmt_premeeting_participant_disable_chatting_title: '禁止聊天',
2172
+ fmt_premeeting_participant_disable_chatting_tip: '是否禁止“xxx"聊天',
2173
+ fmt_premeeting_block_sb_messages_tip: '是否屏蔽"xxx"已发送的所有聊天消息?操作后其他用户将无法查看。',
2174
+ fmt_premeeting_participant_chat_permission_restored: '已对他解除禁言',
2175
+ fmt_security_setting_lower_hand: '手放下',
2176
+ fmt_security_setting_set_spotlight_video: '设为焦点视频',
2177
+ fmt_security_setting_cancel_spotlight_follow: '取消焦点跟随',
2178
+ fmt_security_setting_allow_local_recording: '允许本地录制视频',
2179
+ fmt_security_setting_move_waiting_room: '移到等候室',
2180
+ fmt_security_setting_pricate_chat_host: '私聊',
2181
+ fmt_security_setting_pin: '固定视窗到第一位',
2182
+ fmt_participants_setting_raise_hand: '举手',
2183
+ fmt_participants_setting_raise_hand_tips: '您已举手,请等待主持人操作',
2184
+ fmt_participants_setting_lower_hand: '放下手',
2185
+ fmt_participants_setting_lower_hand_tips: '您已将手放下',
2186
+ fmt_participants_setting_raise_hand_counts_tips: 'xx和其它x人正在举手',
2187
+ fmt_participants_setting_raise_hand_disabled_red_tips: '主持人已关闭举手功能',
2188
+ fmt_participants_setting_raise_hand_disabled_tips: '主持人已关闭举手功能',
2189
+ fmt_participants_setting_hands_lowered_tips: '您的举手被放下',
2190
+ fmt_participants_setting_raise_hand_number_limit_tips: '举手已达上限,请稍后再试',
2191
+ fmt_participants_setting_danmaku_raise_hand_counts_tips: 'xx和其它x人正在举手',
2192
+ fmt_participants_list_raise_hand_counts_tips: 'x人正在举手',
2193
+ fmt_participants_list_privilege_allow_chatting: '允许聊天',
2194
+ fmt_participants_list_privilege_private_chat: '私聊',
2195
+ fmt_participants_list_modify_in_meeting_nickname: '修改会中昵称',
2196
+ fmt_chat_setting_guest_chat_scope: '嘉宾聊天范围',
2197
+ fmt_chat_setting_guest_chat_allow_public_private: '允许公聊和嘉宾之间私聊',
2198
+ fmt_chat_setting_guest_chat_allow_public: '允许公开聊天',
2199
+ fmt_chat_setting_guest_chat_allow_host_only: '仅允许私聊主持人',
2200
+ fmt_chat_setting_guest_chat_disable: '禁止聊天',
2201
+ fmt_chat_setting_audience_chat_scope: '观众聊天范围',
2202
+ fmt_chat_setting_audience_chat_allow_public: '允许公开聊天',
2203
+ fmt_chat_setting_audience_chat_allow_host_only: '仅允许私聊主持人',
2204
+ fmt_chat_setting_audience_chat_disable: '禁止聊天',
2205
+ fmt_audio_settings_select_audio_button: '选择音频',
2206
+ fmt_audio_settings_disconnect_audio_icon: '断开音频',
2207
+ fmt_audio_settings_select_audio_icon: '选择音频',
2208
+ fmt_audio_settings_connect_audio_tips: '为了听见其他用户的声音,请连接音频加入会议',
2209
+ fmt_audio_settings_select_phone_audio: '使用手机音频',
2210
+ fmt_audio_settings_select_phone_audio_cancel: '取消',
2211
+ fmt_audio_settings_select_speaker: '扬声器',
2212
+ fmt_audio_settings_select_receiver: '听筒',
2213
+ fmt_audio_settings_select_mute: '静音',
2214
+ fmt_audio_settings_select_cancel: '取消',
2215
+ fmt_bottom_bar_audience_raise_hand: '举手',
2216
+ fmt_bottom_bar_audience_raise_hand_tip: '您已举手,请等待主持人操作',
2217
+ fmt_bottom_bar_audience_lower_hand: '手放下',
2218
+ fmt_v_chat_words_select_copy: '复制',
2219
+ fmt_v_chat_words_select_multi_select: '多选',
2220
+ fmt_v_chat_words_select_private_chat: '私聊',
2221
+ fmt_v_chat_words_select_allow_chatting: '允许聊天',
2222
+ fmt_v_chat_words_select_disable_chatting: '禁止聊天',
2223
+ fmt_v_chat_words_setting_mute_chat_tip: '你开启了聊天室禁言',
2224
+ fmt_v_chat_words_setting_enable_chat_tip: '你启用了聊天室',
2225
+ fmt_v_webinar_chat_settings: '聊天设置',
2226
+ fmt_v_webinar_chat_setting_guest_chat_scope: '嘉宾聊天范围',
2227
+ fmt_v_webinar_chat_setting_guest_chat_allow_public_private: '允许公聊和嘉宾之间私聊',
2228
+ fmt_v_webinar_chat_setting_guest_chat_allow_public: '允许公开聊天',
2229
+ fmt_v_webinar_chat_setting_guest_chat_allow_host_only: '仅允许私聊主持人',
2230
+ fmt_v_webinar_chat_setting_guest_chat_disable: '禁止聊天',
2231
+ fmt_v_webinar_chat_setting_audience_chat_scope: '观众聊天范围',
2232
+ fmt_v_webinar_chat_setting_audience_chat_allow_public: '允许公开聊天',
2233
+ fmt_v_webinar_chat_setting_audience_chat_allow_host_only: '仅允许私聊主持人',
2234
+ fmt_v_webinar_chat_setting_audience_chat_disable: '禁止聊天',
2235
+ fmt_v_webinar_chat_setting_show_message_bubbles: '展示聊天气泡',
2236
+ fmt_v_app_private_chat_setting_send_to: '发送至',
2237
+ fmt_v_app_private_chat_setting_footer_allow_free: '允许自由聊天',
2238
+ fmt_v_app_private_chat_setting_footer_allow_private_host: '仅允许私聊主持人和联席主持人',
2239
+ fmt_v_app_private_waiting_room_subtitle: '等候室',
2240
+ fmt_v_app_private_chat_privately_xx: '你可以和xx私聊',
2241
+ fmt_v_app_private_chat_prohibited_tip: '主持人禁止私聊',
2242
+ fmt_v_app_private_retract_host_permissions: '收起主持人权限',
2243
+ fmt_v_app_private_group_chat_prohibited_tip: '主持人禁止群聊',
2244
+ fmt_v_app_private_xx_left_meeting: 'xx刚离开会议',
2245
+ fmt_v_app_private_connecting_meeting: '连接中',
2246
+ fmt_v_app_private_select_another_chat_recipient_tip: 'xx可能已离会无法接受消息,请重新选择聊天对象',
2247
+ fmt_v_private_chat_private_chat: '私聊',
2248
+ fmt_v_private_chat_select_host_tip: '请选择主持人或联席主持',
2249
+ fmt_v_private_chat_select_user_tip: '请选择要聊天的用户',
2250
+ fmt_v_private_chat_select_again_tip: '主持人已经更改权限,请重新选择',
2251
+ fmt_v_multiple_selection_private_chat: '私聊',
2252
+ fmt_v_multiple_selection_multiple_selection: '多选',
2253
+ fmt_v_multiple_selection_copy: '复制',
2254
+ fmt_v_multiple_selection_maximum_copy_tip: '上限50条',
2255
+ fmt_v_chat_disable_chatting_title: '禁止聊天',
2256
+ fmt_v_chat_disable_chatting_tip: '是否禁止“xxx"聊天',
2257
+ fmt_v_chat_block_sb_messages_tip: '是否屏蔽"xxx"已发送的所有聊天消息?操作后其他用户将无法查看。',
2258
+ fmt_v_chat_block_sb_messages_tip_cancel: '取消',
2259
+ fmt_v_chat_block_sb_messages_tip_ok: '确定',
2260
+ fmt_v_chat_block_you_muted_tip: '你已被禁言',
2261
+ fmt_v_chat_chat_permission_restored: '已对他解除禁言',
2262
+ fmt_v_app_new_private_chat_private_chat: '私聊',
2263
+ fmt_v_app_new_private_chat_select_host_tip: '请选择主持人或联席主持',
2264
+ fmt_v_app_new_private_chat_select_user_tip: '请选择要聊天的用户',
2265
+ fmt_v_app_new_private_chat_select_again_tip: '主持人已经更改权限,请重新选择',
2266
+ fmt_v_app_new_private_chat_select_copy: '复制',
2267
+ fmt_v_app_new_private_chat_select_multi_select: '多选',
2268
+ fmt_v_app_new_private_chat_select_private_chat: '私聊',
2269
+ fmt_v_private_chat_word_count_exceed_tip: '超出字数限制,请先删除再发送',
2270
+ fmt_v_private_chat_select_another_chat_recipient_tip: 'xx可能已离会无法接受消息,请重新选择聊天对象',
2271
+ fmt_v_app_multiple_selection_private_chat: '私聊',
2272
+ fmt_v_app_multiple_selection_multiple_selection: '多选',
2273
+ fmt_v_app_multiple_selection_copy: '复制',
2274
+ fmt_v_app_multiple_selection_copy_clipboard: '复制到剪贴板',
2275
+ fmt_v_app_multiple_selection_maximum_copy_tip: '复制到剪贴板(上限50条)',
2276
+ fmt_v_app_multiple_selection_copied_tip: '已复制到剪贴板',
2277
+ fmt_v_security_web_webinar_security_settings: '会议安全设置',
2278
+ fmt_v_security_web_webinar_security_lock_room: '锁定会议室',
2279
+ fmt_v_security_web_webinar_security_watermark: '水印',
2280
+ fmt_v_security_web_webinar_security_single_row: '单行',
2281
+ fmt_v_security_web_webinar_security_multiple_rows: '多行',
2282
+ fmt_v_security_web_webinar_security_allow_guests_attendees_rename: '允许嘉宾和观众改名',
2283
+ fmt_v_security_web_webinar_security_allow_guests: '允许嘉宾',
2284
+ fmt_v_security_web_webinar_security_chat_subheading: '聊天',
2285
+ fmt_v_security_web_webinar_security_guest_chat_scope: '嘉宾聊天范围',
2286
+ fmt_v_security_web_webinar_security_allow_public_private_chat: '允许公聊和嘉宾之间私聊',
2287
+ fmt_v_security_web_webinar_security_allow_public_chat: '允许公开聊天',
2288
+ fmt_v_security_web_webinar_security_private_chat_host_only: '仅私聊主持人',
2289
+ fmt_v_security_web_webinar_security_disable_chat: '禁止聊天',
2290
+ fmt_v_security_web_webinar_security_screen_sharing: '共享屏幕',
2291
+ fmt_v_security_web_webinar_security_interactive_annotation: '成员互动标注',
2292
+ fmt_v_security_web_webinar_security_unmute_themselves: '自我解除静音',
2293
+ fmt_v_security_web_webinar_security_turn_on_video: '开启视频',
2294
+ fmt_v_security_web_webinar_security_rename_themselves: '自己改名',
2295
+ fmt_v_security_web_webinar_security_live_transcription_on_off: '开启和关闭实时转写',
2296
+ fmt_v_security_web_webinar_security_use_subtitle: '使用字幕功能',
2297
+ fmt_v_security_web_webinar_security_change_language: '修改声源语言',
2298
+ fmt_v_security_web_webinar_security_allow_attendees: '允许观众',
2299
+ fmt_v_security_web_webinar_security_chat_select: '聊天',
2300
+ fmt_v_security_web_webinar_security_attendee_chat_scope: '观众聊天范围',
2301
+ fmt_v_security_web_webinar_security_attendee_chat_public: '仅公开聊天',
2302
+ fmt_v_security_web_webinar_security_attendee_chat_host: '仅私聊主持人',
2303
+ fmt_v_security_web_webinar_security_attendee_disable_chat: '禁止聊天',
2304
+ fmt_v_security_web_webinar_security_raise_hand: '举手',
2305
+ fmt_v_security_web_webinar_security_view_total_number: '查看参会总人数',
2306
+ fmt_premeeting_participant_upgraded_host_app: '设为“主持人”',
2307
+ fmt_premeeting_participant_upgraded_host_choose_app: '是否将“xxx"设为会议的主持人?',
2308
+ fmt_premeeting_participant_upgraded_host_on_app: '设为主持',
2309
+ fmt_premeeting_participant_upgraded_host_on_app_cancel: '取消',
2310
+ fmt_premeeting_participant_upgraded_co_host_app: '设为“联席主持”',
2311
+ fmt_premeeting_participant_upgraded_co_host_tip_app: '是否将“xxx"设为会议的联席主持?',
2312
+ fmt_premeeting_participant_upgraded_co_host_on_app: '设为联席主持',
2313
+ fmt_premeeting_participant_upgraded_co_host_on_app_cancel: '取消',
2314
+ fmt_premeeting_participant_upgraded_co_host_limit_app: '用户角色已满,无法设置为联席主持人',
2315
+ fmt_premeeting_participant_upgraded_guest_limit_app: '用户角色已满,无法设置为嘉宾',
2316
+ fmt_premeeting_participant_revoke_co_host_tip_app: '已撤销xx的联席主持人身份',
2317
+ fmt_premeeting_participant_set_co_host_tip_app: '已成功将“xx"设置为联席',
2318
+ fmt_premeeting_participant_set_guest_tip_app: '已成功将“xx"降级为嘉宾',
2319
+ fmt_premeeting_participant_set_audience_tip_app: '已成功将“xx"降级为观众',
2320
+ fmt_premeeting_participant_cannot_set_audience_tip_app: '无法将ta降级为观众',
2321
+ fmt_premeeting_participant_set_co_host_tip_myself_app: '主持人已将您设置为联席',
2322
+ fmt_premeeting_participant_set_guest_tip_myself_app: '主持人已将您降级为嘉宾',
2323
+ fmt_premeeting_participant_set_audience_tip_myself_app: '主持人已将您降级为观众',
2324
+ fmt_premeeting_participant_xx_now_host_app: 'xx现在成为主持人',
2325
+ fmt_premeeting_participant_you_now_host_app: '您被设置为主持人',
2326
+ fmt_premeeting_participant_xx_now_host_app_other: 'xx现在成为主持人',
2327
+ fmt_premeeting_participant_xx_now_co_host_app: 'xx设置为联席',
2328
+ fmt_premeeting_participant_now_co_host_yourself_app: '您已成为联席',
2329
+ fmt_premeeting_participant_xx_now_guest_app: 'xx设置为嘉宾',
2330
+ fmt_premeeting_participant_set_guest_tip_u_app: '主持人已将您设为嘉宾',
2331
+ fmt_premeeting_participant_now_guest_tip_u_app: '你是本次会议的嘉宾,可以开启麦克风、摄像头、使用共享屏幕分享,可以通过公共聊天等功能和观众互动。',
2332
+ fmt_premeeting_participant_now_guest_tip_u_ok_app: '知道了',
2333
+ fmt_participants_button_meetingPermission: '会议权限'
2090
2334
  };
@@ -0,0 +1 @@
1
+ export declare const parseMacOSMajorVersion: (systemVersion: string | null) => number | null;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.parseMacOSMajorVersion = void 0;
8
+ require("core-js/modules/es.number.constructor.js");
9
+ require("core-js/modules/es.number.is-nan.js");
10
+ var parseMacOSMajorVersion = exports.parseMacOSMajorVersion = function parseMacOSMajorVersion(systemVersion) {
11
+ if (!systemVersion) return null;
12
+ var major = Number(String(systemVersion).split('.')[0]);
13
+ if (Number.isNaN(major)) return null;
14
+ return major >= 20 ? major - 9 : major;
15
+ };
@@ -65,6 +65,7 @@ export declare class FcrUIRendererWrapper implements FcrUIManagedObject {
65
65
  getNetworkType(): Promise<import("../runtime").NetworkType>;
66
66
  getSystemCpuInfo(): import("../runtime").CpuInfo[];
67
67
  getSystemMemorySize(): number;
68
+ getSystemVersion(): string;
68
69
  setFragmentOptions(entryPath: string, windowOptions: Electron.BrowserWindowConstructorOptions, webPreferences: Electron.WebPreferences): void;
69
70
  getCurrentBrowserWindow(): Electron.BrowserWindow;
70
71
  createWindowProxy(windowId: string): BrowserWindowProxy;
@@ -401,6 +401,12 @@ var FcrUIRendererWrapper = exports.FcrUIRendererWrapper = /*#__PURE__*/function
401
401
  this._checkRuntime();
402
402
  return runtime.getSystemMemorySize();
403
403
  }
404
+ }, {
405
+ key: "getSystemVersion",
406
+ value: function getSystemVersion() {
407
+ this._checkRuntime();
408
+ return runtime.getSystemVersion();
409
+ }
404
410
  }, {
405
411
  key: "setFragmentOptions",
406
412
  value: function setFragmentOptions(entryPath, windowOptions, webPreferences) {
@@ -435,7 +441,7 @@ var FcrUIRendererWrapper = exports.FcrUIRendererWrapper = /*#__PURE__*/function
435
441
  }]);
436
442
  }();
437
443
  _FcrUIRendererWrapper = FcrUIRendererWrapper;
438
- var _applyDecs$e = _applyDecs(_FcrUIRendererWrapper, [[_decorator.trace, 2, "addEventListener"], [_decorator.trace, 2, "removeEventListener"], [_decorator.trace, 2, "removeAllEventListener"], [_decorator.trace, 2, "sendEvent"], [_decorator.trace, 2, "openLinkInDefaultBrowser"], [_decorator.trace, 2, "getMediaSourcesIdByTitle"], [_decorator.trace, 2, "open"], [_decorator.trace, 2, "close"], [_decorator.trace, 2, "handleWillClose"], [_decorator.trace, 2, "setInMeetingState"], [_decorator.trace, 2, "setMainWindowDisplaySupport"], [_decorator.trace, 2, "release"], [_decorator.trace, 2, "initialize"], [_decorator.trace, 2, "restartApp"], [_decorator.trace, 2, "quitApp"], [_decorator.trace, 2, "getDisplayMatching"], [_decorator.trace, 2, "setUserSettingData"], [_decorator.trace, 2, "getUserSettingData"], [_decorator.trace, 2, "getAllDisplays"], [_decorator.trace, 2, "checkMediaPermission"], [_decorator.trace, 2, "openSystemPreferences"], [_decorator.trace, 2, "captureScreen"], [_decorator.trace, 2, "getDisplayNearestPoint"], [_decorator.trace, 2, "fileToBlob"], [_decorator.trace, 2, "downloadAndExtractResourceFileFromZip"], [_decorator.trace, 2, "downloadResourceFile"], [_decorator.trace, 2, "loadBuiltinResources"], [_decorator.trace, 2, "openDirectory"], [_decorator.trace, 2, "showItemInFolder"], [_decorator.trace, 2, "openRendererWindow"], [_decorator.trace, 2, "getBaseUrl"], [_decorator.trace, 2, "getWindowInfoList"], [_decorator.trace, 2, "getNetworkType"], [_decorator.trace, 2, "getSystemCpuInfo"], [_decorator.trace, 2, "getSystemMemorySize"], [_decorator.trace, 2, "setFragmentOptions"], [_decorator.trace, 2, "getCurrentBrowserWindow"], [_decorator.trace, 2, "createWindowProxy"], [_decorator.trace, 2, "getBrowserWindowById"]], []).e;
444
+ var _applyDecs$e = _applyDecs(_FcrUIRendererWrapper, [[_decorator.trace, 2, "addEventListener"], [_decorator.trace, 2, "removeEventListener"], [_decorator.trace, 2, "removeAllEventListener"], [_decorator.trace, 2, "sendEvent"], [_decorator.trace, 2, "openLinkInDefaultBrowser"], [_decorator.trace, 2, "getMediaSourcesIdByTitle"], [_decorator.trace, 2, "open"], [_decorator.trace, 2, "close"], [_decorator.trace, 2, "handleWillClose"], [_decorator.trace, 2, "setInMeetingState"], [_decorator.trace, 2, "setMainWindowDisplaySupport"], [_decorator.trace, 2, "release"], [_decorator.trace, 2, "initialize"], [_decorator.trace, 2, "restartApp"], [_decorator.trace, 2, "quitApp"], [_decorator.trace, 2, "getDisplayMatching"], [_decorator.trace, 2, "setUserSettingData"], [_decorator.trace, 2, "getUserSettingData"], [_decorator.trace, 2, "getAllDisplays"], [_decorator.trace, 2, "checkMediaPermission"], [_decorator.trace, 2, "openSystemPreferences"], [_decorator.trace, 2, "captureScreen"], [_decorator.trace, 2, "getDisplayNearestPoint"], [_decorator.trace, 2, "fileToBlob"], [_decorator.trace, 2, "downloadAndExtractResourceFileFromZip"], [_decorator.trace, 2, "downloadResourceFile"], [_decorator.trace, 2, "loadBuiltinResources"], [_decorator.trace, 2, "openDirectory"], [_decorator.trace, 2, "showItemInFolder"], [_decorator.trace, 2, "openRendererWindow"], [_decorator.trace, 2, "getBaseUrl"], [_decorator.trace, 2, "getWindowInfoList"], [_decorator.trace, 2, "getNetworkType"], [_decorator.trace, 2, "getSystemCpuInfo"], [_decorator.trace, 2, "getSystemMemorySize"], [_decorator.trace, 2, "getSystemVersion"], [_decorator.trace, 2, "setFragmentOptions"], [_decorator.trace, 2, "getCurrentBrowserWindow"], [_decorator.trace, 2, "createWindowProxy"], [_decorator.trace, 2, "getBrowserWindowById"]], []).e;
439
445
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
440
446
  _initProto = _applyDecs$e2[0];
441
447
  _applyDecs$e;
@@ -185,7 +185,8 @@ export var FcrUIBrowserProviderInitializer = /*#__PURE__*/function () {
185
185
  var phoneAudioConnectorProvider = new FcrUIPhoneAudioConnectorProviderImpl({
186
186
  roomControl: mainRoomControl,
187
187
  messageProvider: messageProvider,
188
- deviceProvider: deviceProvider
188
+ deviceProvider: deviceProvider,
189
+ abilityProvider: abilityProvider
189
190
  });
190
191
  objectManager.setObject(FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER, phoneAudioConnectorProvider);
191
192
  var sharedChatDataSource = new FcrUISharedChatDataSourceImpl(chatProvider);
@@ -50,6 +50,9 @@ import { FcrUISharedSpeakerSpotlightDataSourceImpl } from '../shared-data/speake
50
50
  import { FcrUISharedPinDataSourceImpl } from '../shared-data/pin-data';
51
51
  import { createLogger } from '../utilities/logger';
52
52
  import { FcrUIMouseDetectProviderImpl } from '../providers/mouse-detect/provider';
53
+ import { FcrUIMouseDetectProviderEmptyImpl } from '../providers/mouse-detect/provider.empty';
54
+ import { isMac, isWindows } from 'agora-foundation/lib/utilities/env';
55
+ import { parseMacOSMajorVersion } from '../utilities/os';
53
56
  import { FcrUISharedWidgetDataSourceImpl } from '../shared-data/widget-data';
54
57
  import { FcrUISttProviderImpl } from '../providers/stt-provider/stt-provider';
55
58
  import { FcrUISharedSttSettingDataSourceImpl } from '../shared-data/stt-setting.ts';
@@ -94,7 +97,10 @@ export var FcrUIElectronProviderInitializer = /*#__PURE__*/function () {
94
97
  renderer: renderer
95
98
  });
96
99
  objectManager.setObject(FcrUIObjectKeys.P_WINDOW_PROVIDER, windowProvider);
97
- var mouseDetectProvider = new FcrUIMouseDetectProviderImpl(objectManager);
100
+ var systemVersion = renderer.getSystemVersion();
101
+ var macMajor = parseMacOSMajorVersion(systemVersion);
102
+ var useMouseDetect = isWindows() || isMac() && macMajor !== null && macMajor < 15;
103
+ var mouseDetectProvider = useMouseDetect ? new FcrUIMouseDetectProviderImpl(objectManager) : new FcrUIMouseDetectProviderEmptyImpl();
98
104
  objectManager.setObject(FcrUIObjectKeys.P_MOUSE_DETECT_PROVIDER, mouseDetectProvider);
99
105
  var eventProvider = new FcrUIEventProviderImpl();
100
106
  objectManager.setObject(FcrUIObjectKeys.P_EVENT_PROVIDER, eventProvider);
@@ -210,7 +216,8 @@ export var FcrUIElectronProviderInitializer = /*#__PURE__*/function () {
210
216
  var phoneAudioConnectorProvider = new FcrUIPhoneAudioConnectorProviderImpl({
211
217
  roomControl: mainRoomControl,
212
218
  messageProvider: messageProvider,
213
- deviceProvider: deviceProvider
219
+ deviceProvider: deviceProvider,
220
+ abilityProvider: abilityProvider
214
221
  });
215
222
  objectManager.setObject(FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER, phoneAudioConnectorProvider);
216
223
  var sharedChatDataSource = new FcrUISharedChatDataSourceImpl(chatProvider);
@@ -324,6 +324,9 @@ export var getSystemMemorySize = function getSystemMemorySize() {
324
324
  export var getSystemCpuInfo = function getSystemCpuInfo() {
325
325
  return os.cpus();
326
326
  };
327
+ export var getSystemVersion = function getSystemVersion() {
328
+ return os.release();
329
+ };
327
330
  export var getNetworkType = function getNetworkType() {
328
331
  var resolve = function resolve(res) {};
329
332
  var p = new Promise(function (_resolve) {
@@ -1,4 +1,4 @@
1
- import { openDirectory, openLinkInDefaultBrowser, sendEvent, setFragmentOptions, showItemInFolder, addEventListener, removeEventListener, open, close, captureScreen, getBaseUrl, openRendererWindow, quitApp, getNetworkType, setFragmentBaseUrl, getMediaSourceIdList, restartApp, checkMediaPermission, openSystemPreferences, getUserSettingData, setUserSettingData, getCursorScreenPoint, getDisplayMatching, getAllDisplays, getPrimaryDisplay, getDisplayNearestPoint, fileToBlob, downloadAndExtractResourceFileFromZip, downloadResourceFile, loadBuiltinResources, getSystemCpuInfo, getSystemMemorySize, getCurrentBrowserWindow, createBrowserWindowProxy, getBrowserWindowById, getWindowInfoList } from './injections';
1
+ import { openDirectory, openLinkInDefaultBrowser, sendEvent, setFragmentOptions, showItemInFolder, addEventListener, removeEventListener, open, close, captureScreen, getBaseUrl, openRendererWindow, quitApp, getNetworkType, setFragmentBaseUrl, getMediaSourceIdList, restartApp, checkMediaPermission, openSystemPreferences, getUserSettingData, setUserSettingData, getCursorScreenPoint, getDisplayMatching, getAllDisplays, getPrimaryDisplay, getDisplayNearestPoint, fileToBlob, downloadAndExtractResourceFileFromZip, downloadResourceFile, loadBuiltinResources, getSystemCpuInfo, getSystemMemorySize, getSystemVersion, getCurrentBrowserWindow, createBrowserWindowProxy, getBrowserWindowById, getWindowInfoList } from './injections';
2
2
  var runtime = {
3
3
  open: open,
4
4
  close: close,
@@ -32,6 +32,7 @@ var runtime = {
32
32
  loadBuiltinResources: loadBuiltinResources,
33
33
  getSystemCpuInfo: getSystemCpuInfo,
34
34
  getSystemMemorySize: getSystemMemorySize,
35
+ getSystemVersion: getSystemVersion,
35
36
  getCurrentBrowserWindow: getCurrentBrowserWindow,
36
37
  createBrowserWindowProxy: createBrowserWindowProxy,
37
38
  getBrowserWindowById: getBrowserWindowById,
@@ -401,6 +401,11 @@ export var ActionBarMainSceneStoreBase = /*#__PURE__*/function () {
401
401
  get: function get() {
402
402
  return this._sharedMemberDataSource.hasOwnPstnStream;
403
403
  }
404
+ }, {
405
+ key: "isVolteUser",
406
+ get: function get() {
407
+ return this._sharedMemberDataSource.hasOwnVolteStream;
408
+ }
404
409
  }, {
405
410
  key: "localInterpreterUserInfo",
406
411
  get: function get() {
@@ -58,6 +58,7 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
58
58
  prefix: 'AudioStreamUIModule'
59
59
  }));
60
60
  _defineProperty(_this, "_isPstn", false);
61
+ _defineProperty(_this, "_isVolte", false);
61
62
  _defineProperty(_this, "_disposers", []);
62
63
  _defineProperty(_this, "_indicateTimerId", null);
63
64
  _defineProperty(_this, "_volumeTimerId", null);
@@ -133,7 +134,7 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
133
134
  _defineProperty(_this, "_handleRemoteAudio", function (streamControl, streams
134
135
  // key: string,
135
136
  ) {
136
- if (_this._isPstn) {
137
+ if (_this._isPstn || _this._isVolte) {
137
138
  streamControl.getStreamList().forEach(function (stream) {
138
139
  // stop playing all remote audio streams
139
140
  if (stream.owner.userId !== _this._localUser.userId) {
@@ -173,6 +174,12 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
173
174
  });
174
175
  return !!pstnStream;
175
176
  });
177
+ _defineProperty(_this, "_hasLocalVolteStream", function (streams) {
178
+ var volteStream = streams.find(function (stream) {
179
+ return stream.connectorType === FcrRoomConnectorType.VOLTE && stream.owner.userId === _this._localUser.userId;
180
+ });
181
+ return !!volteStream;
182
+ });
176
183
  _defineProperty(_this, "_handleUiEvent", function (action, payload) {
177
184
  switch (action) {
178
185
  // 切换语言房间订阅 ( 翻译官切换收听语言房间 为输出的语音房间时 单独出发订阅订阅 )
@@ -208,6 +215,13 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
208
215
  _this._deviceProvider.setMicrophoneEnabled(false);
209
216
  _this.logger.info('found local PSTN stream, stop play all remote audio');
210
217
  _this._handleRemoteAudio(streamControl, streamControl.getStreamList());
218
+ } else if (!_this._isVolte && _this._hasLocalVolteStream(streams)) {
219
+ _this.logger.info("VOLTE stream is created");
220
+ _this._isVolte = true;
221
+ _this.logger.info('found local VOLTE stream, close microphone');
222
+ // close microphone as audio input and output through mobile phone
223
+ _this._deviceProvider.setMicrophoneEnabled(false);
224
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList());
211
225
  } else {
212
226
  _this._handleRemoteAudio(streamControl, streams);
213
227
  }
@@ -226,6 +240,16 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
226
240
  _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
227
241
  // '_handleStreamsUpdated11111',
228
242
  );
243
+ } else if (!_this._isVolte && _this._hasLocalVolteStream(streams)) {
244
+ _this.logger.info('VOLTE stream is updated');
245
+ _this._isVolte = true;
246
+ _this.logger.info('found local VOLTE stream, close microphone');
247
+ // close microphone as audio input and output through mobile phone
248
+ _this._deviceProvider.setMicrophoneEnabled(false);
249
+ _this.logger.info('found local VOLTE stream, stop play all remote audio');
250
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
251
+ // '_handleStreamsUpdated11111',
252
+ );
229
253
  } else {
230
254
  _this._handleRemoteAudio(streamControl, streams
231
255
  // '_handleStreamsUpdated22222'
@@ -243,6 +267,13 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
243
267
  // '_handleStreamsRemoved',
244
268
  );
245
269
  }
270
+ if (_this._hasLocalVolteStream(streams)) {
271
+ _this.logger.info('VOLTE stream is removed');
272
+ _this._isVolte = false;
273
+ _this._handleRemoteAudio(streamControl, streamControl.getStreamList()
274
+ // '_handleStreamsRemoved',
275
+ );
276
+ }
246
277
  events.forEach(function (event) {
247
278
  if (event.modifiedStream.owner.userId === _this._localUser.userId) {
248
279
  return;
@@ -350,6 +381,7 @@ export var AudioStreamUIModule = /*#__PURE__*/function (_UIModule) {
350
381
  this._deviceProvider = deviceProvider;
351
382
  var streams = this._streamControl.getStreamList();
352
383
  this._isPstn = this._hasLocalPstnStream(streams);
384
+ this._isVolte = this._hasLocalVolteStream(streams);
353
385
  this._streamObserver = this._createStreamObserver(this._streamControl);
354
386
  this._deviceProvider.addObserver(this._deviceObserver);
355
387
  this._interpreterProvider.addObserver(this._interpreterObserver);
@@ -130,7 +130,7 @@ export var ChatUIModule = /*#__PURE__*/function (_UIModule) {
130
130
  return /*#__PURE__*/_jsx(Observer, {
131
131
  children: function children() {
132
132
  return /*#__PURE__*/_jsx("div", {
133
- children: _this3.store.chatRoomState
133
+ children: _this3.store.chatRoomTitle
134
134
  });
135
135
  }
136
136
  });
@@ -205,9 +205,11 @@ var ChatStore = /*#__PURE__*/function () {
205
205
  return this._isMainRoom;
206
206
  }
207
207
  }, {
208
- key: "chatRoomState",
208
+ key: "chatRoomTitle",
209
209
  get: function get() {
210
- return this._chatProvider.chatConnectionState === FcrChatRoomConnectionState.Connected ? transI18n('fmt_chat_label_chat') : transI18n('fmt_aside_status_connecting');
210
+ var _this$_sharedChatData, _this$_sharedChatData2;
211
+ var connectionState = (_this$_sharedChatData = (_this$_sharedChatData2 = this._sharedChatDataSource) === null || _this$_sharedChatData2 === void 0 ? void 0 : _this$_sharedChatData2.currentConnectionState) !== null && _this$_sharedChatData !== void 0 ? _this$_sharedChatData : FcrChatRoomConnectionState.Disconnected;
212
+ return connectionState === FcrChatRoomConnectionState.Connected ? transI18n('fmt_chat_label_chat') : transI18n('fmt_aside_status_connecting');
211
213
  }
212
214
  }, {
213
215
  key: "getChatRoomStore",
@@ -35,7 +35,7 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
35
35
  import _createClass from "@babel/runtime/helpers/createClass";
36
36
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
37
37
  var _DeviceControlStoreBase;
38
- var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
38
+ var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _init_isVolteUser, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
39
39
  import "core-js/modules/es.array.find.js";
40
40
  import "core-js/modules/es.array.iterator.js";
41
41
  import "core-js/modules/es.object.to-string.js";
@@ -65,6 +65,7 @@ import { FcrUIDialogKey } from '../../../utilities/constant';
65
65
  import { FcrUIObjectKeys } from '../../../object-manager';
66
66
  var _A = /*#__PURE__*/new WeakMap();
67
67
  var _B = /*#__PURE__*/new WeakMap();
68
+ var _C = /*#__PURE__*/new WeakMap();
68
69
  _ref = (_openDeviceSettingDialogDecs = [action, action.bound], _openConnectionDecs = [action, action.bound], _closeConnectionDecs = [action, action.bound], _checkMediaPermissionDecs = [action, action.bound], _setSpeakerIdDecs = [action, action.bound], _setMicrophoneIdDecs = [action, action.bound], _setCameraIdDecs = [action, action.bound], "_deviceProvider");
69
70
  export var DeviceControlStoreBase = /*#__PURE__*/function () {
70
71
  function DeviceControlStoreBase(_ref2) {
@@ -78,6 +79,7 @@ export var DeviceControlStoreBase = /*#__PURE__*/function () {
78
79
  });
79
80
  _classPrivateFieldInitSpec(this, _A, _init_isPstnUser(this, false));
80
81
  _classPrivateFieldInitSpec(this, _B, _init_phoneMicEnabled(this, false));
82
+ _classPrivateFieldInitSpec(this, _C, _init_isVolteUser(this, false));
81
83
  this._dialogProvider = objectManager.getObject(FcrUIObjectKeys.P_DIALOG_PROVIDER);
82
84
  this._deviceProvider = objectManager.getObject(FcrUIObjectKeys.P_DEVICE_PROVIDER);
83
85
  this._abilityProvider = objectManager.getObject(FcrUIObjectKeys.P_ABILITY_PROVIDER);
@@ -103,6 +105,14 @@ export var DeviceControlStoreBase = /*#__PURE__*/function () {
103
105
  set: function set(v) {
104
106
  _classPrivateFieldSet(_B, this, v);
105
107
  }
108
+ }, {
109
+ key: "isVolteUser",
110
+ get: function get() {
111
+ return _classPrivateFieldGet(_C, this);
112
+ },
113
+ set: function set(v) {
114
+ _classPrivateFieldSet(_C, this, v);
115
+ }
106
116
  }, {
107
117
  key: "microphoneId",
108
118
  get: function get() {
@@ -242,17 +252,26 @@ export var DeviceControlStoreBase = /*#__PURE__*/function () {
242
252
  var connectorType = _ref3.connectorType;
243
253
  return connectorType === FcrRoomConnectorType.PSTN;
244
254
  });
255
+ var volteStream = streams.find(function (_ref4) {
256
+ var connectorType = _ref4.connectorType;
257
+ return connectorType === FcrRoomConnectorType.VOLTE;
258
+ });
245
259
  var hasPstnStream = !!pstnStream;
260
+ var hasVolteStream = !!volteStream;
246
261
  this.isPstnUser = hasPstnStream;
262
+ this.isVolteUser = hasVolteStream;
247
263
  if (hasPstnStream) {
248
264
  this.phoneMicEnabled = pstnStream.streamType === FcrStreamType.BOTH || pstnStream.audioSourceState === FcrMediaSourceState.OPEN;
265
+ } else if (hasVolteStream) {
266
+ this.phoneMicEnabled = volteStream.streamType === FcrStreamType.BOTH || volteStream.audioSourceState === FcrMediaSourceState.OPEN;
249
267
  }
250
268
  }
251
269
  }]);
252
270
  }();
253
271
  _DeviceControlStoreBase = DeviceControlStoreBase;
254
- var _applyDecs$e = _slicedToArray(_applyDecs(_DeviceControlStoreBase, [[observable, 1, "isPstnUser"], [observable, 1, "phoneMicEnabled"], [computed, 3, "microphoneId"], [computed, 3, "speakerId"], [computed, 3, "speakerList"], [computed, 3, "isCallOutAbilitySupported"], [computed, 3, "isVirtualBackgroundSupported"], [computed, 3, "isBeautyModeAbilitySupported"], [computed, 3, "microphoneEnabled"], [computed, 3, "microphoneState"], [computed, 3, "microphoneDetecting"], [computed, 3, "cameraId"], [computed, 3, "cameraEnabled"], [computed, 3, "microphoneVolumeLevel"], [computed, 3, "microphoneList"], [computed, 3, "cameraList"], [computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [bound, 2, "stopAudioByComputer"], [bound, 2, "release"], [bound, 2, "_handleStreamUpdate"]], []).e, 3);
272
+ var _applyDecs$e = _slicedToArray(_applyDecs(_DeviceControlStoreBase, [[observable, 1, "isPstnUser"], [observable, 1, "phoneMicEnabled"], [observable, 1, "isVolteUser"], [computed, 3, "microphoneId"], [computed, 3, "speakerId"], [computed, 3, "speakerList"], [computed, 3, "isCallOutAbilitySupported"], [computed, 3, "isVirtualBackgroundSupported"], [computed, 3, "isBeautyModeAbilitySupported"], [computed, 3, "microphoneEnabled"], [computed, 3, "microphoneState"], [computed, 3, "microphoneDetecting"], [computed, 3, "cameraId"], [computed, 3, "cameraEnabled"], [computed, 3, "microphoneVolumeLevel"], [computed, 3, "microphoneList"], [computed, 3, "cameraList"], [computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [bound, 2, "stopAudioByComputer"], [bound, 2, "release"], [bound, 2, "_handleStreamUpdate"]], []).e, 4);
255
273
  _init_isPstnUser = _applyDecs$e[0];
256
274
  _init_phoneMicEnabled = _applyDecs$e[1];
257
- _initProto = _applyDecs$e[2];
275
+ _init_isVolteUser = _applyDecs$e[2];
276
+ _initProto = _applyDecs$e[3];
258
277
  export var DeviceControlStoreContext = /*#__PURE__*/createContext(null);
@@ -17,6 +17,7 @@ export var LeaveMeeting = observer(function (props) {
17
17
  isLocked = _useContext.isLocked,
18
18
  hasEndRoomPermission = _useContext.hasEndRoomPermission,
19
19
  isPstnUser = _useContext.isPstnUser,
20
+ isVolteUser = _useContext.isVolteUser,
20
21
  loading = _useContext.loading,
21
22
  exitMeeting = _useContext.exitMeeting,
22
23
  assignHost = _useContext.assignHost,
@@ -66,7 +67,7 @@ export var LeaveMeeting = observer(function (props) {
66
67
  onChange: function onChange(checked) {
67
68
  return setKeepConnect(checked);
68
69
  },
69
- isHidden: !isPstnUser
70
+ isHidden: !isPstnUser && !isVolteUser
70
71
  },
71
72
  confirmBtnProps: {
72
73
  text: t('fmt_popup_button_endmeeting'),
@@ -95,7 +96,7 @@ export var LeaveMeeting = observer(function (props) {
95
96
  onChange: function onChange(checked) {
96
97
  return setKeepConnect(checked);
97
98
  },
98
- isHidden: !isPstnUser
99
+ isHidden: !isPstnUser && !isVolteUser
99
100
  },
100
101
  confirmBtnProps: {
101
102
  text: t('fmt_actionbar__button_leaveyes'),