fcr-ui-scene 3.7.0 → 3.7.2

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.
@@ -268,7 +268,8 @@ var FragmentAnnotationStore = exports.FragmentAnnotationStore = /*#__PURE__*/fun
268
268
  tool: 'curve',
269
269
  strokeColor: '#FFC908',
270
270
  strokeWidth: 2
271
- }
271
+ },
272
+ maxScaleRatio: 1
272
273
  }, this._FORGE_WHITEBOARD_APP_ID);
273
274
  case 7:
274
275
  whiteboard = _context.sent;
@@ -23,7 +23,8 @@
23
23
 
24
24
  .board-widget-cursor-curve {
25
25
  cursor:
26
- url('data:image/svg+xml,%3Csvg width="18" height="18" viewBox="0 0 " fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M2.39931 16.9972C2.41668 16.9977 2.43414 16.998 2.45168 16.998C2.4606 16.998 2.46574 16.998 2.4703 16.9964C2.47376 16.9952 2.47689 16.993 2.4811 16.9893C2.54809 16.9807 2.6135 16.967 2.67693 16.9487L6.17048 16.4097C6.54866 16.4097 6.88482 16.2417 7.13694 15.9895L14.5745 8.57295C15.1418 8.00567 15.1418 7.06021 14.5745 6.49294L11.5071 3.42546C10.9398 2.85818 9.99433 2.85818 9.42705 3.42546L8.01261 4.83989L7.99897 4.85315C7.98482 4.86613 7.97145 4.87964 7.95889 4.89362L1.98945 10.8631C1.73733 11.1362 1.59026 11.4724 1.56925 11.8295L1.00197 15.4223V15.5063C0.999702 15.5495 0.999396 15.5924 1.00103 15.635C1.00035 15.6524 1 15.6699 1 15.6875C1 16.4124 1.58763 17 2.3125 17C2.34167 17 2.37061 16.999 2.39931 16.9972ZM3.6232 15.6181C3.58855 14.9532 3.05908 14.4193 2.39607 14.3776L2.7529 12.131L5.9026 15.2987L3.6232 15.6181ZM11.8094 9.56554L8.43535 6.1742L3.48939 11.0998L6.93648 14.5273L11.8094 9.56554Z" fill="black" fill-opacity="0.8"/%3E%3Cpath d="M2.39931 16.9972L2.40745 16.7473C2.39931 16.747 2.39115 16.7472 2.38301 16.7477L2.39931 16.9972ZM2.4703 16.9964L2.55354 17.2322L2.55358 17.2321L2.4703 16.9964ZM2.4811 16.9893L2.4493 16.7413C2.39903 16.7477 2.3519 16.7693 2.31417 16.8032L2.4811 16.9893ZM2.67693 16.9487L2.63881 16.7017C2.62829 16.7033 2.61788 16.7056 2.60765 16.7085L2.67693 16.9487ZM6.17048 16.4097V16.1597C6.15771 16.1597 6.14497 16.1607 6.13236 16.1627L6.17048 16.4097ZM7.13694 15.9895L6.96042 15.8125L6.96017 15.8128L7.13694 15.9895ZM14.5745 8.57295L14.7511 8.74997L14.7513 8.74972L14.5745 8.57295ZM14.5745 6.49294L14.7513 6.31616V6.31616L14.5745 6.49294ZM11.5071 3.42546L11.3303 3.60223V3.60223L11.5071 3.42546ZM9.42705 3.42546L9.60383 3.60223V3.60223L9.42705 3.42546ZM8.01261 4.83989L8.18689 5.01917L8.18939 5.01667L8.01261 4.83989ZM7.99897 4.85315L8.16798 5.03752L8.17324 5.03241L7.99897 4.85315ZM7.95889 4.89362L8.13591 5.07065L8.14482 5.06074L7.95889 4.89362ZM1.98945 10.8631L1.81253 10.6861L1.80575 10.6935L1.98945 10.8631ZM1.56925 11.8295L1.81619 11.8685C1.81746 11.8605 1.81834 11.8523 1.81882 11.8442L1.56925 11.8295ZM1.00197 15.4223L0.755034 15.3833C0.752998 15.3962 0.751975 15.4092 0.751975 15.4223H1.00197ZM1.00197 15.5063L1.25197 15.5195V15.5063H1.00197ZM1.00103 15.635L1.25084 15.6448C1.25109 15.6384 1.25109 15.6319 1.25085 15.6254L1.00103 15.635ZM2.39607 14.3776L2.14916 14.3384C2.13812 14.4079 2.15691 14.4789 2.20093 14.5339C2.24495 14.5889 2.31011 14.6227 2.38039 14.6271L2.39607 14.3776ZM3.6232 15.6181L3.37353 15.6311C3.37718 15.7011 3.41004 15.7663 3.46411 15.8109C3.51817 15.8555 3.58848 15.8754 3.65789 15.8657L3.6232 15.6181ZM2.7529 12.131L2.93018 11.9547C2.86382 11.888 2.7656 11.8642 2.67604 11.8931C2.58648 11.922 2.52076 11.9988 2.506 12.0918L2.7529 12.131ZM5.9026 15.2987L5.9373 15.5463C6.03107 15.5331 6.10936 15.4681 6.13955 15.3784C6.16974 15.2886 6.14664 15.1896 6.07988 15.1224L5.9026 15.2987ZM8.43535 6.1742L8.61258 5.99787C8.5658 5.95086 8.50226 5.92435 8.43593 5.9242C8.36961 5.92405 8.30594 5.95025 8.25894 5.99706L8.43535 6.1742ZM11.8094 9.56554L11.9878 9.74072C12.0837 9.64301 12.0832 9.4863 11.9866 9.38922L11.8094 9.56554ZM3.48939 11.0998L3.31298 10.9226C3.26585 10.9696 3.23937 11.0334 3.23939 11.0999C3.23942 11.1664 3.26595 11.2302 3.31312 11.2771L3.48939 11.0998ZM6.93648 14.5273L6.76021 14.7046C6.80742 14.7515 6.8714 14.7777 6.93797 14.7773C7.00454 14.7769 7.0682 14.75 7.11485 14.7025L6.93648 14.5273ZM2.45168 16.748C2.43683 16.748 2.42209 16.7478 2.40745 16.7473L2.39116 17.247C2.41127 17.2477 2.43145 17.248 2.45168 17.248V16.748ZM2.38707 16.7607C2.41363 16.7513 2.4356 16.7491 2.44571 16.7484C2.45051 16.7481 2.45385 16.748 2.45423 16.748C2.45451 16.748 2.45437 16.748 2.45168 16.748V17.248C2.45318 17.248 2.46626 17.2482 2.47954 17.2473C2.49559 17.2462 2.52242 17.2431 2.55354 17.2322L2.38707 16.7607ZM2.31417 16.8032C2.3192 16.7987 2.34496 16.7756 2.38703 16.7607L2.55358 17.2321C2.60256 17.2148 2.63459 17.1874 2.64802 17.1754L2.31417 16.8032ZM2.60765 16.7085C2.55641 16.7233 2.50352 16.7343 2.4493 16.7413L2.5129 17.2372C2.59265 17.227 2.67059 17.2108 2.74622 17.189L2.60765 16.7085ZM6.13236 16.1627L2.63881 16.7017L2.71506 17.1958L6.2086 16.6568L6.13236 16.1627ZM6.96017 15.8128C6.74659 16.0263 6.47143 16.1597 6.17048 16.1597V16.6597C6.62589 16.6597 7.02305 16.457 7.31372 16.1663L6.96017 15.8128ZM14.398 8.39592L6.96042 15.8125L7.31347 16.1666L14.7511 8.74997L14.398 8.39592ZM14.3978 6.66972C14.8674 7.13936 14.8674 7.92653 14.3978 8.39617L14.7513 8.74972C15.4162 8.08482 15.4162 6.98107 14.7513 6.31616L14.3978 6.66972ZM11.3303 3.60223L14.3978 6.66972L14.7513 6.31616L11.6838 3.24868L11.3303 3.60223ZM9.60383 3.60223C10.0735 3.13259 10.8606 3.13259 11.3303 3.60223L11.6838 3.24868C11.0189 2.58377 9.91518 2.58377 9.25027 3.24868L9.60383 3.60223ZM8.18939 5.01667L9.60383 3.60223L9.25027 3.24868L7.83584 4.66312L8.18939 5.01667ZM8.17324 5.03241L8.18688 5.01915L7.83835 4.66064L7.82471 4.6739L8.17324 5.03241ZM8.14482 5.06074C8.152 5.05275 8.15969 5.04498 8.16791 5.03744L7.83004 4.66887C7.80995 4.68729 7.79091 4.70652 7.77296 4.7265L8.14482 5.06074ZM2.16623 11.0398L8.13566 5.0704L7.78211 4.71684L1.81268 10.6863L2.16623 11.0398ZM1.81882 11.8442C1.83626 11.5477 1.95813 11.2656 2.17315 11.0326L1.80575 10.6935C1.51653 11.0068 1.34426 11.397 1.31968 11.8148L1.81882 11.8442ZM1.24892 15.4613L1.81619 11.8685L1.32231 11.7905L0.755034 15.3833L1.24892 15.4613ZM1.25197 15.5063V15.4223H0.751975V15.5063H1.25197ZM1.25085 15.6254C1.24951 15.5905 1.24975 15.5551 1.25163 15.5194L0.75232 15.4932C0.749652 15.5439 0.749287 15.5944 0.751214 15.6446L1.25085 15.6254ZM1.25 15.6875C1.25 15.6732 1.25028 15.659 1.25084 15.6448L0.751223 15.6252C0.75041 15.6459 0.75 15.6666 0.75 15.6875H1.25ZM2.3125 16.75C1.7257 16.75 1.25 16.2743 1.25 15.6875H0.75C0.75 16.5504 1.44956 17.25 2.3125 17.25V16.75ZM2.38301 16.7477C2.35974 16.7492 2.33623 16.75 2.3125 16.75V17.25C2.3471 17.25 2.38148 17.2489 2.4156 17.2466L2.38301 16.7477ZM2.38039 14.6271C2.9168 14.6608 3.34551 15.0932 3.37353 15.6311L3.87286 15.6051C3.8316 14.8132 3.20136 14.1777 2.41174 14.1281L2.38039 14.6271ZM2.506 12.0918L2.14916 14.3384L2.64297 14.4168L2.99981 12.1702L2.506 12.0918ZM6.07988 15.1224L2.93018 11.9547L2.57562 12.3073L5.72532 15.475L6.07988 15.1224ZM3.65789 15.8657L5.9373 15.5463L5.86791 15.0511L3.5885 15.3705L3.65789 15.8657ZM8.25812 6.35052L11.6322 9.74187L11.9866 9.38922L8.61258 5.99787L8.25812 6.35052ZM3.6658 11.2769L8.61176 6.35134L8.25894 5.99706L3.31298 10.9226L3.6658 11.2769ZM7.11276 14.35L3.66567 10.9225L3.31312 11.2771L6.76021 14.7046L7.11276 14.35ZM11.631 9.39037L6.75812 14.3521L7.11485 14.7025L11.9878 9.74072L11.631 9.39037Z" fill="white"/%3E%3C/svg%3E'),
26
+ url('data:image/svg+xml,%3Csvg width="18" height="18" viewBox="0 0 " fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M2.39931 16.9972C2.41668 16.9977 2.43414 16.998 2.45168 16.998C2.4606 16.998 2.46574 16.998 2.4703 16.9964C2.47376 16.9952 2.47689 16.993 2.4811 16.9893C2.54809 16.9807 2.6135 16.967 2.67693 16.9487L6.17048 16.4097C6.54866 16.4097 6.88482 16.2417 7.13694 15.9895L14.5745 8.57295C15.1418 8.00567 15.1418 7.06021 14.5745 6.49294L11.5071 3.42546C10.9398 2.85818 9.99433 2.85818 9.42705 3.42546L8.01261 4.83989L7.99897 4.85315C7.98482 4.86613 7.97145 4.87964 7.95889 4.89362L1.98945 10.8631C1.73733 11.1362 1.59026 11.4724 1.56925 11.8295L1.00197 15.4223V15.5063C0.999702 15.5495 0.999396 15.5924 1.00103 15.635C1.00035 15.6524 1 15.6699 1 15.6875C1 16.4124 1.58763 17 2.3125 17C2.34167 17 2.37061 16.999 2.39931 16.9972ZM3.6232 15.6181C3.58855 14.9532 3.05908 14.4193 2.39607 14.3776L2.7529 12.131L5.9026 15.2987L3.6232 15.6181ZM11.8094 9.56554L8.43535 6.1742L3.48939 11.0998L6.93648 14.5273L11.8094 9.56554Z" fill="black" fill-opacity="0.8"/%3E%3Cpath d="M2.39931 16.9972L2.40745 16.7473C2.39931 16.747 2.39115 16.7472 2.38301 16.7477L2.39931 16.9972ZM2.4703 16.9964L2.55354 17.2322L2.55358 17.2321L2.4703 16.9964ZM2.4811 16.9893L2.4493 16.7413C2.39903 16.7477 2.3519 16.7693 2.31417 16.8032L2.4811 16.9893ZM2.67693 16.9487L2.63881 16.7017C2.62829 16.7033 2.61788 16.7056 2.60765 16.7085L2.67693 16.9487ZM6.17048 16.4097V16.1597C6.15771 16.1597 6.14497 16.1607 6.13236 16.1627L6.17048 16.4097ZM7.13694 15.9895L6.96042 15.8125L6.96017 15.8128L7.13694 15.9895ZM14.5745 8.57295L14.7511 8.74997L14.7513 8.74972L14.5745 8.57295ZM14.5745 6.49294L14.7513 6.31616V6.31616L14.5745 6.49294ZM11.5071 3.42546L11.3303 3.60223V3.60223L11.5071 3.42546ZM9.42705 3.42546L9.60383 3.60223V3.60223L9.42705 3.42546ZM8.01261 4.83989L8.18689 5.01917L8.18939 5.01667L8.01261 4.83989ZM7.99897 4.85315L8.16798 5.03752L8.17324 5.03241L7.99897 4.85315ZM7.95889 4.89362L8.13591 5.07065L8.14482 5.06074L7.95889 4.89362ZM1.98945 10.8631L1.81253 10.6861L1.80575 10.6935L1.98945 10.8631ZM1.56925 11.8295L1.81619 11.8685C1.81746 11.8605 1.81834 11.8523 1.81882 11.8442L1.56925 11.8295ZM1.00197 15.4223L0.755034 15.3833C0.752998 15.3962 0.751975 15.4092 0.751975 15.4223H1.00197ZM1.00197 15.5063L1.25197 15.5195V15.5063H1.00197ZM1.00103 15.635L1.25084 15.6448C1.25109 15.6384 1.25109 15.6319 1.25085 15.6254L1.00103 15.635ZM2.39607 14.3776L2.14916 14.3384C2.13812 14.4079 2.15691 14.4789 2.20093 14.5339C2.24495 14.5889 2.31011 14.6227 2.38039 14.6271L2.39607 14.3776ZM3.6232 15.6181L3.37353 15.6311C3.37718 15.7011 3.41004 15.7663 3.46411 15.8109C3.51817 15.8555 3.58848 15.8754 3.65789 15.8657L3.6232 15.6181ZM2.7529 12.131L2.93018 11.9547C2.86382 11.888 2.7656 11.8642 2.67604 11.8931C2.58648 11.922 2.52076 11.9988 2.506 12.0918L2.7529 12.131ZM5.9026 15.2987L5.9373 15.5463C6.03107 15.5331 6.10936 15.4681 6.13955 15.3784C6.16974 15.2886 6.14664 15.1896 6.07988 15.1224L5.9026 15.2987ZM8.43535 6.1742L8.61258 5.99787C8.5658 5.95086 8.50226 5.92435 8.43593 5.9242C8.36961 5.92405 8.30594 5.95025 8.25894 5.99706L8.43535 6.1742ZM11.8094 9.56554L11.9878 9.74072C12.0837 9.64301 12.0832 9.4863 11.9866 9.38922L11.8094 9.56554ZM3.48939 11.0998L3.31298 10.9226C3.26585 10.9696 3.23937 11.0334 3.23939 11.0999C3.23942 11.1664 3.26595 11.2302 3.31312 11.2771L3.48939 11.0998ZM6.93648 14.5273L6.76021 14.7046C6.80742 14.7515 6.8714 14.7777 6.93797 14.7773C7.00454 14.7769 7.0682 14.75 7.11485 14.7025L6.93648 14.5273ZM2.45168 16.748C2.43683 16.748 2.42209 16.7478 2.40745 16.7473L2.39116 17.247C2.41127 17.2477 2.43145 17.248 2.45168 17.248V16.748ZM2.38707 16.7607C2.41363 16.7513 2.4356 16.7491 2.44571 16.7484C2.45051 16.7481 2.45385 16.748 2.45423 16.748C2.45451 16.748 2.45437 16.748 2.45168 16.748V17.248C2.45318 17.248 2.46626 17.2482 2.47954 17.2473C2.49559 17.2462 2.52242 17.2431 2.55354 17.2322L2.38707 16.7607ZM2.31417 16.8032C2.3192 16.7987 2.34496 16.7756 2.38703 16.7607L2.55358 17.2321C2.60256 17.2148 2.63459 17.1874 2.64802 17.1754L2.31417 16.8032ZM2.60765 16.7085C2.55641 16.7233 2.50352 16.7343 2.4493 16.7413L2.5129 17.2372C2.59265 17.227 2.67059 17.2108 2.74622 17.189L2.60765 16.7085ZM6.13236 16.1627L2.63881 16.7017L2.71506 17.1958L6.2086 16.6568L6.13236 16.1627ZM6.96017 15.8128C6.74659 16.0263 6.47143 16.1597 6.17048 16.1597V16.6597C6.62589 16.6597 7.02305 16.457 7.31372 16.1663L6.96017 15.8128ZM14.398 8.39592L6.96042 15.8125L7.31347 16.1666L14.7511 8.74997L14.398 8.39592ZM14.3978 6.66972C14.8674 7.13936 14.8674 7.92653 14.3978 8.39617L14.7513 8.74972C15.4162 8.08482 15.4162 6.98107 14.7513 6.31616L14.3978 6.66972ZM11.3303 3.60223L14.3978 6.66972L14.7513 6.31616L11.6838 3.24868L11.3303 3.60223ZM9.60383 3.60223C10.0735 3.13259 10.8606 3.13259 11.3303 3.60223L11.6838 3.24868C11.0189 2.58377 9.91518 2.58377 9.25027 3.24868L9.60383 3.60223ZM8.18939 5.01667L9.60383 3.60223L9.25027 3.24868L7.83584 4.66312L8.18939 5.01667ZM8.17324 5.03241L8.18688 5.01915L7.83835 4.66064L7.82471 4.6739L8.17324 5.03241ZM8.14482 5.06074C8.152 5.05275 8.15969 5.04498 8.16791 5.03744L7.83004 4.66887C7.80995 4.68729 7.79091 4.70652 7.77296 4.7265L8.14482 5.06074ZM2.16623 11.0398L8.13566 5.0704L7.78211 4.71684L1.81268 10.6863L2.16623 11.0398ZM1.81882 11.8442C1.83626 11.5477 1.95813 11.2656 2.17315 11.0326L1.80575 10.6935C1.51653 11.0068 1.34426 11.397 1.31968 11.8148L1.81882 11.8442ZM1.24892 15.4613L1.81619 11.8685L1.32231 11.7905L0.755034 15.3833L1.24892 15.4613ZM1.25197 15.5063V15.4223H0.751975V15.5063H1.25197ZM1.25085 15.6254C1.24951 15.5905 1.24975 15.5551 1.25163 15.5194L0.75232 15.4932C0.749652 15.5439 0.749287 15.5944 0.751214 15.6446L1.25085 15.6254ZM1.25 15.6875C1.25 15.6732 1.25028 15.659 1.25084 15.6448L0.751223 15.6252C0.75041 15.6459 0.75 15.6666 0.75 15.6875H1.25ZM2.3125 16.75C1.7257 16.75 1.25 16.2743 1.25 15.6875H0.75C0.75 16.5504 1.44956 17.25 2.3125 17.25V16.75ZM2.38301 16.7477C2.35974 16.7492 2.33623 16.75 2.3125 16.75V17.25C2.3471 17.25 2.38148 17.2489 2.4156 17.2466L2.38301 16.7477ZM2.38039 14.6271C2.9168 14.6608 3.34551 15.0932 3.37353 15.6311L3.87286 15.6051C3.8316 14.8132 3.20136 14.1777 2.41174 14.1281L2.38039 14.6271ZM2.506 12.0918L2.14916 14.3384L2.64297 14.4168L2.99981 12.1702L2.506 12.0918ZM6.07988 15.1224L2.93018 11.9547L2.57562 12.3073L5.72532 15.475L6.07988 15.1224ZM3.65789 15.8657L5.9373 15.5463L5.86791 15.0511L3.5885 15.3705L3.65789 15.8657ZM8.25812 6.35052L11.6322 9.74187L11.9866 9.38922L8.61258 5.99787L8.25812 6.35052ZM3.6658 11.2769L8.61176 6.35134L8.25894 5.99706L3.31298 10.9226L3.6658 11.2769ZM7.11276 14.35L3.66567 10.9225L3.31312 11.2771L6.76021 14.7046L7.11276 14.35ZM11.631 9.39037L6.75812 14.3521L7.11485 14.7025L11.9878 9.74072L11.631 9.39037Z" fill="white"/%3E%3C/svg%3E')
27
+ 0 18,
27
28
  auto !important;
28
29
  }
29
30
 
@@ -214,6 +214,8 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
214
214
  private _initStream;
215
215
  private _isSetSpotlightEnable;
216
216
  private _handleConnectionUpdated;
217
+ private _findVideoWindowByUserId;
218
+ private _onRemoteUsersLeft;
217
219
  private _handleLiveStreamingStateUpdated;
218
220
  private _handleStreamAdded;
219
221
  private _onStreamsAdded;
@@ -81,7 +81,7 @@ var _view = require("./view");
81
81
  var _logger = require("../../utilities/logger");
82
82
  var _env = require("agora-foundation/lib/utilities/env");
83
83
  var _LayoutStore;
84
- var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_userVolumeMap, _init_chatRoomState, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleFoldListChangedDecs, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _onAudioVolumeUpdatedDecs, _ref;
84
+ var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_userVolumeMap, _init_chatRoomState, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleFoldListChangedDecs, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _findVideoWindowByUserIdDecs, _onRemoteUsersLeftDecs, _onAudioVolumeUpdatedDecs, _ref;
85
85
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
86
86
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
87
87
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -111,7 +111,7 @@ var _P = /*#__PURE__*/new WeakMap();
111
111
  var _Q = /*#__PURE__*/new WeakMap();
112
112
  var _R = /*#__PURE__*/new WeakMap();
113
113
  var _S = /*#__PURE__*/new WeakMap();
114
- _ref = (_participantDecs = [_mobx.observable, _mobx.observable.ref], _chatDecs = [_mobx.observable, _mobx.observable.ref], _chatActionDecs = [_mobx.observable, _mobx.observable.ref], _stateBarDecs = [_mobx.observable, _mobx.observable.ref], _actionBarDecs = [_mobx.observable, _mobx.observable.ref], _layersDecs = [_mobx.observable, _mobx.observable.ref], _whiteboardDecs = [_mobx.observable, _mobx.observable.ref], _annotationDecs = [_mobx.observable, _mobx.observable.ref], _screenShareControlDecs = [_mobx.observable, _mobx.observable.ref], _addPinMessageDecs = [_mobx.action, _mobx.action.bound], _cancelPinMessageDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardActiveDecs = [_mobx.action, _mobx.action.bound], _setAsideWidthDecs = [_mobx.action, _mobx.action.bound], _updateSlotsDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutDecs = [_mobx.action, _mobx.action.bound], _toggleCollapsedDecs = [_mobx.action, _mobx.action.bound], _toggleAsideDecs = [_mobx.action, _mobx.action.bound], _asideWidthChangedDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarLockDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarHiddenDecs = [_mobx.action, _mobx.action.bound], _resetLockTimerDecs = [_mobx.action, _mobx.action.bound], _setHoveringHandlerDecs = [_mobx.action, _mobx.action.bound], _setHoveringLeaveHandlerDecs = [_mobx.action, _mobx.action.bound], _setScreenShareSpeakerViewSizeDecs = [(0, _decorator.debounced)(400), _decorator.bound], _handleLiveLayoutChangeDecs = [_mobx.action, _mobx.action.bound], _onUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleLayoutUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleFoldListChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListLengthChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListChangedDecs = [_mobx.action, _mobx.action.bound], _setBarHoveringDecs = [_mobx.action, _mobx.action.bound], _handleConnectionUpdatedDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
114
+ _ref = (_participantDecs = [_mobx.observable, _mobx.observable.ref], _chatDecs = [_mobx.observable, _mobx.observable.ref], _chatActionDecs = [_mobx.observable, _mobx.observable.ref], _stateBarDecs = [_mobx.observable, _mobx.observable.ref], _actionBarDecs = [_mobx.observable, _mobx.observable.ref], _layersDecs = [_mobx.observable, _mobx.observable.ref], _whiteboardDecs = [_mobx.observable, _mobx.observable.ref], _annotationDecs = [_mobx.observable, _mobx.observable.ref], _screenShareControlDecs = [_mobx.observable, _mobx.observable.ref], _addPinMessageDecs = [_mobx.action, _mobx.action.bound], _cancelPinMessageDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardActiveDecs = [_mobx.action, _mobx.action.bound], _setAsideWidthDecs = [_mobx.action, _mobx.action.bound], _updateSlotsDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutDecs = [_mobx.action, _mobx.action.bound], _toggleCollapsedDecs = [_mobx.action, _mobx.action.bound], _toggleAsideDecs = [_mobx.action, _mobx.action.bound], _asideWidthChangedDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarLockDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarHiddenDecs = [_mobx.action, _mobx.action.bound], _resetLockTimerDecs = [_mobx.action, _mobx.action.bound], _setHoveringHandlerDecs = [_mobx.action, _mobx.action.bound], _setHoveringLeaveHandlerDecs = [_mobx.action, _mobx.action.bound], _setScreenShareSpeakerViewSizeDecs = [(0, _decorator.debounced)(400), _decorator.bound], _handleLiveLayoutChangeDecs = [_mobx.action, _mobx.action.bound], _onUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleLayoutUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleFoldListChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListLengthChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListChangedDecs = [_mobx.action, _mobx.action.bound], _setBarHoveringDecs = [_mobx.action, _mobx.action.bound], _handleConnectionUpdatedDecs = [_mobx.action, _mobx.action.bound], _findVideoWindowByUserIdDecs = [_mobx.action, _mobx.action.bound], _onRemoteUsersLeftDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
115
115
  var LayoutStore = exports["default"] = /*#__PURE__*/function () {
116
116
  function LayoutStore(params) {
117
117
  var _this = this;
@@ -993,7 +993,8 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
993
993
  onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated
994
994
  };
995
995
  var userObserver = {
996
- onUserInfoUpdated: this.onUserInfoUpdated
996
+ onUserInfoUpdated: this.onUserInfoUpdated,
997
+ onRemoteUsersLeft: this._onRemoteUsersLeft
997
998
  };
998
999
  var videoWindowObserver = {
999
1000
  onLayoutUpdated: this._handleLayoutUpdated,
@@ -1219,6 +1220,28 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1219
1220
  this.logger.info('layout store handleConnectionUpdated', state);
1220
1221
  this.chatRoomState = state;
1221
1222
  }
1223
+ }, {
1224
+ key: "_findVideoWindowByUserId",
1225
+ value: function _findVideoWindowByUserId(userId) {
1226
+ return this.mainList.find(function (item) {
1227
+ return item.userId === userId;
1228
+ });
1229
+ }
1230
+ }, {
1231
+ key: "_onRemoteUsersLeft",
1232
+ value: function _onRemoteUsersLeft(roomId, events) {
1233
+ var _this7 = this;
1234
+ events.forEach(function (event) {
1235
+ var userInfo = event.userInfo;
1236
+ var videoWindowData = _this7._findVideoWindowByUserId(userInfo.userId);
1237
+ if (videoWindowData) {
1238
+ var stream = videoWindowData.getVideoStream();
1239
+ if (stream) {
1240
+ _this7._videoWindowDataSource["delete"](stream);
1241
+ }
1242
+ }
1243
+ });
1244
+ }
1222
1245
  }, {
1223
1246
  key: "_handleLiveStreamingStateUpdated",
1224
1247
  value: function _handleLiveStreamingStateUpdated(_, state, url, reason) {
@@ -1248,28 +1271,28 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1248
1271
  }, {
1249
1272
  key: "_onStreamsAdded",
1250
1273
  value: function _onStreamsAdded(roomId, events) {
1251
- var _this7 = this;
1274
+ var _this8 = this;
1252
1275
  events.forEach(function (_ref8) {
1253
1276
  var modifiedStream = _ref8.modifiedStream;
1254
- _this7._handleStreamAdded(modifiedStream);
1277
+ _this8._handleStreamAdded(modifiedStream);
1255
1278
  });
1256
1279
  }
1257
1280
  }, {
1258
1281
  key: "_onStreamsUpdated",
1259
1282
  value: function _onStreamsUpdated(roomId, events) {
1260
- var _this8 = this;
1283
+ var _this9 = this;
1261
1284
  events.forEach(function (_ref9) {
1262
1285
  var modifiedStream = _ref9.modifiedStream;
1263
- _this8._videoWindowDataSource.update(modifiedStream);
1286
+ _this9._videoWindowDataSource.update(modifiedStream);
1264
1287
  });
1265
1288
  }
1266
1289
  }, {
1267
1290
  key: "_onStreamsRemoved",
1268
1291
  value: function _onStreamsRemoved(roomId, events) {
1269
- var _this9 = this;
1292
+ var _this0 = this;
1270
1293
  events.forEach(function (_ref0) {
1271
1294
  var modifiedStream = _ref0.modifiedStream;
1272
- _this9._videoWindowDataSource["delete"](modifiedStream);
1295
+ _this0._videoWindowDataSource["delete"](modifiedStream);
1273
1296
  });
1274
1297
  var hasScreenStream = events === null || events === void 0 ? void 0 : events.find(function (event) {
1275
1298
  var videoType = event.modifiedStream.videoSourceType;
@@ -1292,16 +1315,16 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1292
1315
  }, {
1293
1316
  key: "_findSpotlightStream",
1294
1317
  value: function _findSpotlightStream() {
1295
- var _this0 = this;
1318
+ var _this1 = this;
1296
1319
  //find the max volume stream
1297
1320
  var res = {
1298
1321
  streamId: '',
1299
1322
  volume: 0
1300
1323
  };
1301
1324
  this.userVolumeMap.forEach(function (volume, id) {
1302
- var _this0$interpreterUse;
1303
- var windowData = _this0.mainListMapByAudioStreamId.get(id);
1304
- if (id !== '0' && !res.streamId && volume > 45 && windowData !== null && windowData !== void 0 && windowData.hasMicrophoneAudioStream && windowData.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN && !((_this0$interpreterUse = _this0.interpreterUserList) !== null && _this0$interpreterUse !== void 0 && _this0$interpreterUse.find(function (user) {
1325
+ var _this1$interpreterUse;
1326
+ var windowData = _this1.mainListMapByAudioStreamId.get(id);
1327
+ if (id !== '0' && !res.streamId && volume > 45 && windowData !== null && windowData !== void 0 && windowData.hasMicrophoneAudioStream && windowData.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN && !((_this1$interpreterUse = _this1.interpreterUserList) !== null && _this1$interpreterUse !== void 0 && _this1$interpreterUse.find(function (user) {
1305
1328
  return user.userId === windowData.userId;
1306
1329
  }))) {
1307
1330
  res = {
@@ -1315,7 +1338,7 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1315
1338
  }]);
1316
1339
  }();
1317
1340
  _LayoutStore = LayoutStore;
1318
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LayoutStore, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_mobx.observable, 1, "collapsed"], [_mobx.observable, 1, "aside"], [_mobx.observable, 1, "barHovering"], [_mobx.observable, 1, "barLocked"], [_mobx.observable, 1, "barHidden"], [_mobx.observable, 1, "asideWidth"], [_mobx.observable, 1, "userVolumeMap"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "whiteboardActive"], [_mobx.observable, 1, "ownerUser"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "layout"], [_mobx.computed, 3, "manualLayout"], [_mobx.computed, 3, "scalcValue"], [_mobx.computed, 3, "sourceList"], [_mobx.computed, 3, "layoutMainList"], [_mobx.computed, 3, "mainList"], [_mobx.computed, 3, "mainListMapByAudioStreamId"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "foldList"], [_mobx.computed, 3, "galleryList"], [_mobx.computed, 3, "isMainWindowInScreenSharing"], [_mobx.computed, 3, "isCurrentUserInBoardSharing"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "carouselList"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "isRobot"], [_mobx.computed, 3, "findSpotlightUser"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "galleryMaxSize"], [_mobx.computed, 3, "isVideoSuspended"], [_mobx.computed, 3, "asideContent"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "chatRenderAt"], [_decorator.bound, 2, "getWaterMarkContent"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_decorator.bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [_decorator.bound, 2, "addPin"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [_decorator.bound, 2, "closeParticipantFromAside"], [_decorator.bound, 2, "moveParticipantFromAsideToDialog"], [_decorator.bound, 2, "closeChatFromAside"], [_decorator.bound, 2, "closeAsideChat"], [_decorator.bound, 2, "moveChatFromAsideToDialog"], [_decorator.bound, 2, "openPrivateChat"], [_decorator.bound, 2, "openRenameDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [_decorator.bound, 2, "stopLocalPreview"], [_decorator.bound, 2, "startLocalPreview"], [_decorator.bound, 2, "setAllowChatWithPayload"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "muteAudio"], [_decorator.bound, 2, "sendParticipantEvent"], [_decorator.bound, 2, "onEvent"], [_decorator.bound, 2, "_addListeners"], [_mobx.computed, 3, "_hasVideoStreamUser"], [_handleFoldListChangedDecs, 18, "_handleFoldListChanged"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [_mobx.action, 2, "_switchToSpeaker"], [_mobx.action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_decorator.bound, 2, "_initStream"], [_decorator.bound, 2, "_isSetSpotlightEnable"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_decorator.bound, 2, "_handleLiveStreamingStateUpdated"], [_decorator.bound, 2, "_handleStreamAdded"], [_decorator.bound, 2, "_onStreamsAdded"], [_decorator.bound, 2, "_onStreamsUpdated"], [_decorator.bound, 2, "_onStreamsRemoved"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 21);
1341
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LayoutStore, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_mobx.observable, 1, "collapsed"], [_mobx.observable, 1, "aside"], [_mobx.observable, 1, "barHovering"], [_mobx.observable, 1, "barLocked"], [_mobx.observable, 1, "barHidden"], [_mobx.observable, 1, "asideWidth"], [_mobx.observable, 1, "userVolumeMap"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "whiteboardActive"], [_mobx.observable, 1, "ownerUser"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "layout"], [_mobx.computed, 3, "manualLayout"], [_mobx.computed, 3, "scalcValue"], [_mobx.computed, 3, "sourceList"], [_mobx.computed, 3, "layoutMainList"], [_mobx.computed, 3, "mainList"], [_mobx.computed, 3, "mainListMapByAudioStreamId"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "foldList"], [_mobx.computed, 3, "galleryList"], [_mobx.computed, 3, "isMainWindowInScreenSharing"], [_mobx.computed, 3, "isCurrentUserInBoardSharing"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "carouselList"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "isRobot"], [_mobx.computed, 3, "findSpotlightUser"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "galleryMaxSize"], [_mobx.computed, 3, "isVideoSuspended"], [_mobx.computed, 3, "asideContent"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "chatRenderAt"], [_decorator.bound, 2, "getWaterMarkContent"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_decorator.bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [_decorator.bound, 2, "addPin"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [_decorator.bound, 2, "closeParticipantFromAside"], [_decorator.bound, 2, "moveParticipantFromAsideToDialog"], [_decorator.bound, 2, "closeChatFromAside"], [_decorator.bound, 2, "closeAsideChat"], [_decorator.bound, 2, "moveChatFromAsideToDialog"], [_decorator.bound, 2, "openPrivateChat"], [_decorator.bound, 2, "openRenameDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [_decorator.bound, 2, "stopLocalPreview"], [_decorator.bound, 2, "startLocalPreview"], [_decorator.bound, 2, "setAllowChatWithPayload"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "muteAudio"], [_decorator.bound, 2, "sendParticipantEvent"], [_decorator.bound, 2, "onEvent"], [_decorator.bound, 2, "_addListeners"], [_mobx.computed, 3, "_hasVideoStreamUser"], [_handleFoldListChangedDecs, 18, "_handleFoldListChanged"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [_mobx.action, 2, "_switchToSpeaker"], [_mobx.action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_decorator.bound, 2, "_initStream"], [_decorator.bound, 2, "_isSetSpotlightEnable"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_findVideoWindowByUserIdDecs, 18, "_findVideoWindowByUserId"], [_onRemoteUsersLeftDecs, 18, "_onRemoteUsersLeft"], [_decorator.bound, 2, "_handleLiveStreamingStateUpdated"], [_decorator.bound, 2, "_handleStreamAdded"], [_decorator.bound, 2, "_onStreamsAdded"], [_decorator.bound, 2, "_onStreamsUpdated"], [_decorator.bound, 2, "_onStreamsRemoved"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 21);
1319
1342
  _init_participant = _applyDecs$e[0];
1320
1343
  _init_chat = _applyDecs$e[1];
1321
1344
  _init_chatAction = _applyDecs$e[2];
@@ -1439,6 +1439,8 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1439
1439
  });
1440
1440
  this._localVideoViewSet.clear();
1441
1441
  }
1442
+ this.speakerDetecting = false;
1443
+ this.microphoneDetecting = false;
1442
1444
  (_this$_cameraVideoTra3 = this._cameraVideoTrack) === null || _this$_cameraVideoTra3 === void 0 || _this$_cameraVideoTra3.stop();
1443
1445
  (_this$_microphoneAudi0 = this._microphoneAudioTrack) === null || _this$_microphoneAudi0 === void 0 || _this$_microphoneAudi0.stop();
1444
1446
  this._cameraVideoTrack = undefined;
@@ -1877,6 +1879,11 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1877
1879
  reason1: (0, _i18n.transI18n)('fmt_device_label_speaker_default')
1878
1880
  });
1879
1881
  }
1882
+ list.sort(function (a, b) {
1883
+ if (a.deviceId === DEFAULT_DEVICE_ID) return -1;
1884
+ if (b.deviceId === DEFAULT_DEVICE_ID) return 1;
1885
+ return 0;
1886
+ });
1880
1887
  return _context22.abrupt("return", list);
1881
1888
  case 3:
1882
1889
  case "end":
@@ -114,6 +114,8 @@ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
114
114
  private _lastRoomControlType?;
115
115
  private _isSelfJoinRoom;
116
116
  private _roomInfo?;
117
+ private _roomSchedule?;
118
+ private _localUserInfo?;
117
119
  private _waitingRoomManagerObserver;
118
120
  private _baseRoomControlObserver;
119
121
  private _userControlObserver;
@@ -146,6 +146,8 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
146
146
  // nextStep: FcrRoomControlType
147
147
  _this._currentRoomControl = roomControl;
148
148
  _this._roomInfo = roomControl.getRoomInfo();
149
+ _this._roomSchedule = roomControl.getRoomSchedule();
150
+ _this._localUserInfo = roomControl.getUserControl().getLocalUser();
149
151
  _this._currentRoomControl.addObserver(_this._baseRoomControlObserver);
150
152
  _this._currentRoomControl.getUserControl().addObserver(_this._userControlObserver);
151
153
  _this._initBaseRoomState(_this._currentRoomControl);
@@ -227,17 +229,17 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
227
229
  }, {
228
230
  key: "getRoomDetailCopyText",
229
231
  value: function getRoomDetailCopyText() {
230
- if (this._currentRoomControl && this._roomInfo) {
232
+ if (this._currentRoomControl) {
231
233
  var _ref2;
232
234
  var roomInfo = this._roomInfo;
233
- var scheduleInfo = this._currentRoomControl.getRoomSchedule();
235
+ var scheduleInfo = this._roomSchedule;
234
236
  var duration = (scheduleInfo === null || scheduleInfo === void 0 ? void 0 : scheduleInfo.duration) || 0;
235
237
  var meetingSetTime = (0, _meetingDetail.generateMeetingDuration)((scheduleInfo === null || scheduleInfo === void 0 ? void 0 : scheduleInfo.startTime) || 0, duration);
236
238
  var meetingId = (_ref2 = this._currentRoomControl.getRoomPropertiesByKeyPath('meetingId')) !== null && _ref2 !== void 0 ? _ref2 : roomInfo === null || roomInfo === void 0 ? void 0 : roomInfo.roomId;
237
239
  var copyText = '';
238
240
  if (roomInfo) {
239
- var localUserInfo = this._currentRoomControl.getUserControl().getLocalUser();
240
- copyText = (0, _meetingDetail.generateMeetingDetail)(localUserInfo.userName, roomInfo.roomName, meetingSetTime, (roomInfo === null || roomInfo === void 0 ? void 0 : roomInfo.inviteLink) || '', meetingId || '', roomInfo.password || '');
241
+ var _this$_localUserInfo;
242
+ copyText = (0, _meetingDetail.generateMeetingDetail)(((_this$_localUserInfo = this._localUserInfo) === null || _this$_localUserInfo === void 0 ? void 0 : _this$_localUserInfo.userName) || '', roomInfo.roomName, meetingSetTime, (roomInfo === null || roomInfo === void 0 ? void 0 : roomInfo.inviteLink) || '', meetingId || '', roomInfo.password || '');
241
243
  }
242
244
  return copyText;
243
245
  } else {
@@ -55,6 +55,7 @@ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
55
55
  get hasLoopbackAudioStream(): boolean;
56
56
  get phoneMicEnabled(): boolean;
57
57
  get hasVideoStream(): boolean;
58
+ get hasBoard(): boolean;
58
59
  get userId(): string;
59
60
  get userName(): string;
60
61
  get ownerRoleType(): FcrUserRole;
@@ -82,6 +83,7 @@ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
82
83
  setHasScreenSharing(screenSharing: boolean): void;
83
84
  setHasLoopbackSharing(hasLoopbackSharing: boolean): void;
84
85
  setBoardCanEdit(canEdit: boolean): void;
86
+ getVideoStream(): FcrStreamUIData | undefined;
85
87
  }
86
88
  export interface FcrUIVideoWindowDataSourceObserver {
87
89
  onLayoutUpdated?: (layout: FcrUIVideoWindowLayoutType) => void;
@@ -81,7 +81,7 @@ var _type2 = require("fcr-core/lib/type");
81
81
  var _fcrCore = require("fcr-core");
82
82
  var _base = require("../base");
83
83
  var _FcrUIVideoWindowDataImpl, _FcrUIVideoWindowDataSourceImpl;
84
- var _initProto, _init__boardUserInfo, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setBoardUserInfoDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref5;
84
+ var _initProto, _init__boardUserInfo, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setBoardUserInfoDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _getVideoStreamDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref5;
85
85
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
86
86
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
87
87
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -106,7 +106,7 @@ var _H = /*#__PURE__*/new WeakMap();
106
106
  var _I = /*#__PURE__*/new WeakMap();
107
107
  var _J = /*#__PURE__*/new WeakMap();
108
108
  var _K = /*#__PURE__*/new WeakMap();
109
- _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardUserInfoDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
109
+ _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardUserInfoDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], _getVideoStreamDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
110
110
  var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/function () {
111
111
  function FcrUIVideoWindowDataImpl(type, _ref2, _placement, _isMySelf) {
112
112
  var videoStream = _ref2.videoStream,
@@ -318,6 +318,11 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
318
318
  var _this$_videoStream4, _this$_videoStream5, _this$_videoStream6;
319
319
  return ((_this$_videoStream4 = this._videoStream) === null || _this$_videoStream4 === void 0 ? void 0 : _this$_videoStream4.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN && (((_this$_videoStream5 = this._videoStream) === null || _this$_videoStream5 === void 0 ? void 0 : _this$_videoStream5.streamType) === _fcrCore.FcrStreamType.BOTH || ((_this$_videoStream6 = this._videoStream) === null || _this$_videoStream6 === void 0 ? void 0 : _this$_videoStream6.streamType) === _fcrCore.FcrStreamType.VIDEO);
320
320
  }
321
+ }, {
322
+ key: "hasBoard",
323
+ get: function get() {
324
+ return this.type === _type.FcrUIWindowType.BOARD;
325
+ }
321
326
  }, {
322
327
  key: "userId",
323
328
  get: function get() {
@@ -511,10 +516,15 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
511
516
  value: function setBoardCanEdit(canEdit) {
512
517
  this._boardCanEdit = canEdit;
513
518
  }
519
+ }, {
520
+ key: "getVideoStream",
521
+ value: function getVideoStream() {
522
+ return this._videoStream;
523
+ }
514
524
  }]);
515
525
  }();
516
526
  _FcrUIVideoWindowDataImpl = FcrUIVideoWindowDataImpl;
517
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_boardUserInfo"], [_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "avatar"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setBoardUserInfoDecs, 18, "setBoardUserInfo"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"]], []).e, 12);
527
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_boardUserInfo"], [_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "hasBoard"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "avatar"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setBoardUserInfoDecs, 18, "setBoardUserInfo"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"], [_getVideoStreamDecs, 18, "getVideoStream"]], []).e, 12);
518
528
  _init__boardUserInfo = _applyDecs$e[0];
519
529
  _init__videoStream = _applyDecs$e[1];
520
530
  _init__audioStream = _applyDecs$e[2];
@@ -666,7 +676,11 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
666
676
  }
667
677
  return true;
668
678
  });
669
- if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery && layout === _type.FcrUIVideoWindowLayoutType.Speaker && windowList.length < 2 || this.layoutType === layout) {
679
+ // 有白板共享时,即使隐藏了未开启视频的参数者,数量总是大于等于2,不应提前return,setLayout失效
680
+ var boardInShow = this.mainList.some(function (item) {
681
+ return item.hasBoard;
682
+ });
683
+ if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery && layout === _type.FcrUIVideoWindowLayoutType.Speaker && windowList.length < 2 && !boardInShow || this.layoutType === layout) {
670
684
  return;
671
685
  }
672
686
  this.layoutType = layout;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.7.0",
3
+ "version": "3.7.2",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -22,13 +22,13 @@
22
22
  "@react-spring/web": "^9.7.3",
23
23
  "@use-gesture/react": "^10.3.1",
24
24
  "agora-electron-sdk": "4.3.2-build.145-rc.4",
25
- "agora-foundation": "~3.7.0",
26
- "agora-ui-foundation": "~3.7.0",
25
+ "agora-foundation": "~3.7.2",
26
+ "agora-ui-foundation": "~3.7.2",
27
27
  "classnames": "^2.5.1",
28
28
  "core-js": "^3.33.3",
29
29
  "dayjs": "^1.10.4",
30
30
  "electron-screenshots": "^0.5.26",
31
- "fcr-core": "~3.7.0",
31
+ "fcr-core": "~3.7.2",
32
32
  "js-md5": "^0.8.3",
33
33
  "jszip": "^3.10.1",
34
34
  "lodash": "^4.17.21",
@@ -60,7 +60,7 @@
60
60
  "@types/react-dom": "^17.0.11",
61
61
  "@types/react-virtualized": "^9.21.30",
62
62
  "@types/tinycolor2": "^1.4.6",
63
- "agora-toolchain": "~3.7.0",
63
+ "agora-toolchain": "~3.7.2",
64
64
  "core-js": "^3.33.3",
65
65
  "electron": "22.3.27",
66
66
  "husky": "^9.0.11",