SuperViz / sdk

SuperViz provides programmable low-code Collaboration and Communication components for web applications.
https://docs.superviz.com/
BSD 2-Clause "Simplified" License
19 stars 2 forks source link

feat: add same account validation #726

Closed carlossantos74 closed 1 month ago

carlossantos74 commented 1 month ago

Preventing the user from entering the room twice, it listens for the server error event and blocks the connection.

Another important thing is that it automatically destroys the SDK instance when it receives the error, and emit the ParticipantEvent.SAME_ACCOUNT_ERROR, reference: https://docs.superviz.com/sdk/initialization#same_account_error

SuperViz-Dev commented 1 month ago

Total Coverage: 88.34%

Coverage Report
File Branch Funcs Lines Uncovered Lines
src
   shims.d.ts 100% 100% 100%
src/common
src/common/types
   colors.types.ts 100% 100% 100%
   events.types.ts 100% 100% 100%
   meeting-colors.types.ts 100% 100% 100%
   participant.types.ts 100% 100% 100%
   realtime.types.ts 100% 100% 100%
   sdk-options.types.ts 100% 100% 100%
   stores.types.ts 100% 100% 100%
src/common/utils
   do-request.ts 100% 100% 87.50% 20
   index.ts 100% 100% 100%
   logger.ts 100% 100% 100%
   observable.ts 100% 100% 100%
   observer.ts 100% 100% 100%
   sleep.ts 0% 100% 100% 2
   use-store.ts 80% 100% 100% 34
src/components
   index.ts 100% 75% 100%
   types.ts 100% 100% 100%
src/components/base
   index.ts 75% 100% 94% 44, 45, 46, 47, 55
src/components/comments
   index.ts 94.44% 93.33% 96.40% 241, 298, 357, 358, 359, 361, 479, 517, 586, 699, 715
   types.ts 100% 100% 100%
src/components/comments/canvas-pin-adapter
   index.ts 54.55% 85.71% 88.19% 204, 251, 251, 251, 251, 252, 253, 256, 256, 257, 260, 330, 331, 333, 333, 333, 335, 335, 336, 338, 339, 342, 344, 393, 394, 395, 414, 425, 436, 440, 453, 474, 499, 519, 520, 531, 532, 533, 534, 535, 535, 535, 535, 535, 537, 537, 538, 538, 538, 538, 542, 544, 545
src/components/comments/html-pin-adapter
   index.ts 91.59% 96.55% 96.35% 277, 278, 279, 336, 363, 470, 471, 492, 493, 495, 495, 497, 498, 500, 500, 500, 500, 502, 503, 718, 719, 720, 797, 798, 799
src/components/form-elements
   index.ts 98.48% 100% 100% 96
   types.ts 100% 100% 100%
src/components/presence-mouse
   index.ts 50% 50% 90% 10, 11
   types.ts 100% 100% 100%
src/components/presence-mouse/canvas
   index.ts 63.16% 77.27% 87.64% 102, 103, 112, 113, 114, 115, 135, 135, 137, 161, 164, 164, 165, 166, 244, 244, 244, 244, 328, 338, 339, 356, 356, 358, 417, 79, 80, 81, 82, 83, 85, 86, 87, 88, 97, 98
src/components/presence-mouse/html
   index.ts 89.47% 96.97% 99.39% 282, 282, 284, 304, 566, 681, 699, 700
src/components/realtime
   channel.ts 70.59% 80% 87.65% 104, 124, 124, 126, 128, 129, 132, 134, 138, 139, 141, 141, 222, 87, 88
   index.ts 25% 66.67% 76.47% 106, 106, 108, 109, 112, 113, 115, 116, 56, 73, 73, 74, 75, 78, 98
   types.ts 100% 100% 100%
src/components/video
   index.ts 76.54% 95.16% 89.86% 107, 108, 109, 121, 122, 123, 144, 145, 146, 232, 357, 581, 590, 625, 724, 725, 727, 727, 728, 729, 732, 779, 782, 782, 790, 791, 794, 795, 831, 852, 853, 855, 855, 856, 862, 877, 909, 910, 914, 915, 93, 935, 94, 940, 940, 941, 944, 95, 952
src/components/who-is-online
   index.ts 92.77% 98.04% 97.14% 178, 179, 199, 255, 353, 586, 586, 750, 751, 753, 799, 799, 801, 802
   types.ts 100% 100% 100%
src/core
   index.ts 80% 57.14% 76.47% 115, 118, 122, 123, 125, 130, 130, 139, 141, 147, 69, 69, 71, 72, 73, 93, 94
src/core/launcher
   index.ts 71.43% 65.22% 84.44% 123, 125, 126, 130, 133, 256, 256, 256, 258, 258, 259, 260, 301, 303, 304, 312, 317, 335, 335, 336, 337, 340, 340, 341, 342, 355, 355, 357, 359, 361, 362, 364, 365, 366
src/lib
src/lib/socket
   index.ts 100% 0% 0% 1, 10, 11, 12, 13, 2, 21, 22, 3, 5, 6
src/lib/socket/common
src/lib/socket/common/types
   event.types.ts 0% 0% 0% 10, 10, 10, 11, 12, 13, 14, 15, 18, 18, 18, 19, 30, 30, 30, 31, 32, 33, 34, 42, 42, 42, 43
   presence.types.ts 100% 100% 0% 1, 3
src/lib/socket/connection
   index.ts 0% 0% 0% 1, 100, 101, 102, 105, 106, 107, 110, 111, 112, 115, 116, 116, 117, 118, 121, 126, 126, 127, 128, 131, 15, 16, 17, 18, 22, 22, 23, 26, 33, 33, 35, 44, 45, 46, 47, 48, 49, 50, 51, 54, 6, 63, 65, 65, 67, 7, 75, 76, 77, 80, 81, 82, 85, 86, 87, 9, 90, 91, 92, 95, 96, 97
   types.ts 0% 0% 0% 11, 11, 11, 12, 13, 14, 15, 16, 17, 43, 43, 43, 44
src/lib/socket/presence
   index.ts 0% 0% 0% 1, 100, 11, 115, 129, 13, 138, 139, 14, 140, 149, 150, 150, 152, 153, 154, 16, 169, 17, 170, 170, 172, 173, 174, 183, 184, 184, 186, 187, 19, 20, 24, 33, 35, 40, 46, 5, 54, 55, 56, 57, 60, 61, 71, 79, 80, 84, 85, 86, 88, 89, 9, 98, 99
src/lib/socket/realtime
   index.ts 100% 0% 0% 1, 14, 15, 16, 18, 32, 33, 4, 41, 45, 55, 59, 6, 60, 8
src/lib/socket/room
   index.ts 0% 0% 0% 1, 10, 101, 101, 102, 103, 106, 115, 116, 12, 125, 127, 132, 133, 134, 135, 136, 137, 14, 140, 141, 15, 150, 151, 154, 155, 156, 157, 159, 16, 170, 172, 172, 172, 172, 174, 183, 184, 185, 188, 197, 198, 198, 200, 201, 202, 205, 206, 21, 22, 23, 24, 25, 25, 27, 29, 35, 36, 37, 47, 5, 58, 60, 62, 62, 63, 64, 66, 67, 7, 71, 82, 84, 84, 85, 86, 87, 90
   types.ts 100% 100% 0% 1, 30
src/services
src/services/api
   index.ts 100% 88.24% 88.33% 102, 103, 105, 111, 112, 113, 114
src/services/auth-service
   index.ts 100% 100% 100%
src/services/browser
   index.ts 100% 100% 100%
src/services/config
   index.ts 100% 100% 100%
src/services/connection-status
   index.ts 100% 100% 100%
src/services/event-bus
   index.ts 100% 100% 100%
src/services/frame-brick-layer
   index.ts 100% 100% 100%
src/services/io
   index.ts 40% 83.33% 60.71% 38, 38, 39, 43, 48, 50, 53, 53, 54, 55, 56, 59, 60, 70
   types.ts 100% 100% 100%
src/services/limits
   index.ts 75% 100% 100% 11
src/services/message-bridge
   index.ts 93.33% 100% 100% 83
src/services/presence-3d-manager
   index.ts 89.47% 92.59% 97.92% 159, 33, 55, 62
   types.ts 100% 100% 100%
src/services/remote-config-service
   index.ts 100% 80% 92.31% 35
src/services/roomState
   index.ts 82.05% 96.55% 97.84% 135, 162, 248, 258, 380, 380, 382, 383, 60, 72
   type.ts 100% 100% 100%
src/services/slot
   index.ts 24% 58.33% 65.79% 143, 145, 145, 146, 148, 153, 156, 156, 156, 156, 158, 158, 159, 161, 166, 173, 182, 183, 187, 187, 187, 190, 190, 190, 192, 202, 202, 204, 206, 206, 206, 206, 207, 208, 211, 211, 211, 211, 212, 215, 39, 60, 69, 70, 78
src/services/stores
   index.ts 100% 100% 100%
src/services/stores/common
   utils.ts 100% 100% 100%
src/services/stores/global
   index.ts 0% 100% 96.15% 16, 17
src/services/stores/presence3D
   index.ts 0% 66.67% 81.25% 13, 14, 21, 22
src/services/stores/subject
   index.ts 100% 100% 100%
src/services/stores/video
   index.ts 0% 100% 96.97% 20, 21
src/services/stores/who-is-online
   index.ts 0% 100% 97.87% 25, 26
src/services/video-conference-manager
   index.ts 61.90% 84.21% 93.53% 121, 124, 125, 126, 170, 175, 207, 208, 213, 214, 215, 218, 218, 219, 221, 222, 300, 312, 334, 361, 362, 363, 416, 450, 561, 573, 616, 620, 679
   types.ts 100% 100% 100%
SuperViz-Dev commented 1 month ago

Total Coverage: 97.35%

Coverage Report
File Branch Funcs Lines Uncovered Lines
src
src/web-components
src/web-components/base
   index.ts 75% 100% 83.52% 28, 32, 33, 34, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
src/web-components/base/styles
   icon-button.style.ts 100% 100% 100%
   index.ts 100% 100% 100%
   sv-hr.style.ts 100% 100% 100%
   typography.style.ts 100% 100% 100%
   variables.style.ts 100% 100% 100%
src/web-components/base/utils
   importStyle.ts 66.67% 100% 100% 3
src/web-components/comments
   comments.ts 88.24% 76.92% 87.80% 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 137, 64, 65, 66, 79, 80, 94, 95, 96, 97, 98, 99
   index.ts 100% 100% 100%
src/web-components/comments/components
   annotation-filter.ts 100% 100% 100%
   annotation-item.ts 100% 96.43% 96.71% 179, 180, 181, 182, 183, 184, 185, 186, 230, 231
   annotation-pin.ts 100% 100% 95.19% 118, 123, 124, 125, 126, 183, 184, 185, 74, 75, 76, 77, 78
   annotation-resolved.ts 100% 100% 100%
   comment-input.ts 100% 96.67% 97.72% 237, 238, 239, 242, 243, 271, 272, 372, 373, 387, 388
   comment-item.ts 100% 90.48% 96.43% 102, 103, 104, 279, 280, 89, 90, 91, 92, 95, 96
   content.ts 96.15% 81.82% 89.23% 108, 109, 39, 40, 43, 44, 45, 51, 52, 53, 67, 78, 79, 80, 81
   delete-comment-modal.ts 100% 100% 100%
   float-button.ts 100% 100% 87.65% 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 50, 51, 55, 56, 72, 81
   index.ts 100% 100% 100%
   mention-list.ts 100% 100% 100%
   topbar.ts 100% 100% 100%
   types.ts 100% 100% 100%
src/web-components/comments/css
   annotation-filter.style.ts 100% 100% 100%
   annotation-item.style.ts 100% 100% 100%
   annotation-pin.style.ts 100% 100% 100%
   annotation-resolved.style.ts 100% 100% 100%
   comment-input.style.ts 100% 100% 100%
   comment-item.style.ts 100% 100% 100%
   comments.style.ts 100% 100% 100%
   content.style.ts 100% 100% 100%
   float-button.style.ts 100% 100% 100%
   index.ts 100% 100% 100%
   mention-list.style.ts 100% 100% 100%
   powered-by.style.ts 100% 100% 100%
   topbar.style.ts 100% 100% 100%
src/web-components/comments/utils
   autocomplete-handler.ts 100% 100% 98.29% 25, 26
   mention-handler.ts 100% 100% 100%
   watermark.ts 100% 100% 86.15% 15, 16, 17, 18, 19, 20, 21, 22, 23
src/web-components/dropdown
   index.style.ts 100% 100% 100%
   index.ts 92.31% 100% 97.67% 156, 157, 158, 159, 160, 161, 189, 223, 260, 83, 86
src/web-components/hello-world
   index.ts 100% 100% 100%
src/web-components/icon
   index.ts 100% 100% 100%
   types.ts 100% 100% 100%
src/web-components/modal
   index.ts 100% 100% 100%
   modal-container.ts 100% 100% 100%
   modal.ts 100% 100% 100%
src/web-components/modal/styles
   index.style.ts 100% 100% 100%
src/web-components/tooltip
   index.style.ts 100% 100% 100%
   index.ts 85.19% 100% 95.15% 109, 110, 111, 112, 114, 115, 116, 117, 152, 156, 221, 222, 223, 224, 88, 90, 91, 92, 94, 95, 96
   types.ts 100% 100% 100%
src/web-components/who-is-online
   who-is-online.ts 87.88% 100% 96.93% 100, 247, 248, 266, 267, 268, 280, 281, 282, 294, 295, 296, 324, 325, 326, 69, 70, 75, 76
src/web-components/who-is-online/components
   dropdown.ts 97.37% 94.74% 97.84% 135, 136, 137, 138, 139, 140, 143
   index.ts 100% 100% 100%
   messages.ts 96.67% 80% 97.29% 127, 128, 136, 137, 145, 146, 42
   types.ts 100% 100% 100%
src/web-components/who-is-online/css
   dropdown.style.ts 100% 100% 100%
   index.ts 100% 100% 100%
   messages.style.ts 100% 100% 100%
   who-is-online-style.ts 100% 100% 100%
SuperViz-Dev commented 1 month ago

:tada: This PR is included in version 6.5.0-lab.14 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

SuperViz-Dev commented 1 month ago

:tada: This PR is included in version 6.5.0-beta.1 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

SuperViz-Dev commented 1 month ago

:tada: This PR is included in version 6.5.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: