@ckeditor/ckeditor-cloud-services-collaboration 52.1.6 → 52.2.1

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 (105) hide show
  1. package/package.json +1 -1
  2. package/src/ckeditorcloudserviceserror.js +1 -1
  3. package/src/ckeditorcloudservicesservererror.js +1 -1
  4. package/src/collaborativeeditingservice/collaborativeeditingservice.js +1 -1
  5. package/src/collaborativeeditingservice/descriptors/operationmetadatadescriptor.js +1 -1
  6. package/src/collaborativeeditingservice/helpers/operationmetadatahelpers.js +1 -1
  7. package/src/collaborativeeditingservice/messages/collaborativeeditingconnectmessage.js +1 -1
  8. package/src/collaborativeeditingservice/messages/collaborativeeditingreconnectmessage.js +1 -1
  9. package/src/collaborativeeditingservice/messages/collaborativeeditingupdatemessage.js +1 -1
  10. package/src/collaborativeeditingservice/messages/getdocumentdetailsmessage.js +1 -1
  11. package/src/collaborativeeditingservice/responses/collaborativeeditingconnectresponse.js +1 -1
  12. package/src/collaborativeeditingservice/responses/collaborativeeditingresponse.js +1 -1
  13. package/src/collaborativeeditingservice/responses/getdocumentdetailsresponse.js +1 -1
  14. package/src/comments-v2/commentsservice.js +1 -1
  15. package/src/comments-v2/descriptors/commentdescriptor.js +1 -1
  16. package/src/comments-v2/descriptors/commentsthreaddescriptor.js +1 -1
  17. package/src/comments-v2/descriptors/commentthreadaddedcomment.js +1 -1
  18. package/src/comments-v2/messages/addcommentmessage.js +1 -1
  19. package/src/comments-v2/messages/comment-threads/addcommentthreadmessage.js +1 -1
  20. package/src/comments-v2/messages/comment-threads/reopencommentthreadmessage.js +1 -1
  21. package/src/comments-v2/messages/comment-threads/resolvecommentthreadmessage.js +1 -1
  22. package/src/comments-v2/messages/comment-threads/updatecommentthreadmessage.js +1 -1
  23. package/src/comments-v2/messages/connectmessage.js +1 -1
  24. package/src/comments-v2/messages/getcommentthreadmessage.js +1 -1
  25. package/src/comments-v2/messages/getdocumentthreadsmessage.js +1 -1
  26. package/src/comments-v2/messages/removecommentmessage.js +1 -1
  27. package/src/comments-v2/messages/removecommentthreadmessage.js +1 -1
  28. package/src/comments-v2/messages/updatecommentmessage.js +1 -1
  29. package/src/comments-v2/responses/addcommentresponse.js +1 -1
  30. package/src/comments-v2/responses/comment-threads/addcommentthreadresponse.js +1 -1
  31. package/src/comments-v2/responses/comment-threads/resolvecommentthreadresponse.js +1 -1
  32. package/src/comments-v2/responses/connectresponse.js +1 -1
  33. package/src/comments-v2/responses/getcommentthreadresponse.js +1 -1
  34. package/src/comments-v2/responses/getdocumentthreadsresponse.js +1 -1
  35. package/src/compiledmessages.js +1 -1
  36. package/src/descriptor.js +1 -1
  37. package/src/descriptors/keyvaluedescriptor.js +1 -1
  38. package/src/editor/editorservice.js +1 -1
  39. package/src/editor/messages/iseditorbundleuploadedmessage.js +1 -1
  40. package/src/editor/responses/iseditorbundleuploadedresponse.js +1 -1
  41. package/src/errors/ServiceNotConnectedError.js +1 -1
  42. package/src/index.d.ts +65 -66
  43. package/src/index.js +1 -1
  44. package/src/message.js +1 -1
  45. package/src/messagescompressor.js +1 -1
  46. package/src/messagesmapper.js +1 -1
  47. package/src/revision-history/descriptors/revisiondescriptor.js +1 -1
  48. package/src/revision-history/messages/revisionhistoryconnectmessage.js +1 -1
  49. package/src/revision-history/messages/revisionhistorygetrevisionmessage.js +1 -1
  50. package/src/revision-history/messages/revisionhistoryreconnectmessage.js +1 -1
  51. package/src/revision-history/messages/revisionhistoryupdaterevisionsmessage.js +1 -1
  52. package/src/revision-history/responses/revisionhistoryconnectresponse.js +1 -1
  53. package/src/revision-history/responses/revisionhistorygetrevisionresponse.js +1 -1
  54. package/src/revision-history/responses/revisionhistoryupdaterevisionsresponse.js +1 -1
  55. package/src/revision-history/revisionhistoryservice.js +1 -1
  56. package/src/services.d.ts +8 -8
  57. package/src/services.js +1 -1
  58. package/src/sessions/descriptors/sessiondescriptor.js +1 -1
  59. package/src/sessions/messages/sessionsconnectmessage.js +1 -1
  60. package/src/sessions/messages/socketconnectmessage.js +1 -1
  61. package/src/sessions/messages/socketdisconnectmessage.js +1 -1
  62. package/src/sessions/responses/sessionsconnectresponse.js +1 -1
  63. package/src/sessions/sessioncollection.js +1 -1
  64. package/src/sessions/sessions.js +1 -1
  65. package/src/track-changes/descriptors/suggestiondescriptor.js +1 -1
  66. package/src/track-changes/messages/addsuggestionmessage.js +1 -1
  67. package/src/track-changes/messages/batchUpdateSuggestionsStateMessage.js +1 -1
  68. package/src/track-changes/messages/connectmessage.js +1 -1
  69. package/src/track-changes/messages/getallsuggestionsmessage.js +1 -1
  70. package/src/track-changes/messages/getsuggestionmessage.js +1 -1
  71. package/src/track-changes/messages/updatesuggestionmessage.js +1 -1
  72. package/src/track-changes/responses/addsuggestionresponse.js +1 -1
  73. package/src/track-changes/responses/connectresponse.js +1 -1
  74. package/src/track-changes/responses/getallsuggestionsresponse.js +1 -1
  75. package/src/track-changes/responses/getsuggestionresponse.js +1 -1
  76. package/src/track-changes/trackchangesservice.js +1 -1
  77. package/src/users/descriptors/userdescriptor.js +1 -1
  78. package/src/users/messages/getmanyusersmessage.js +1 -1
  79. package/src/users/messages/getusermessage.js +1 -1
  80. package/src/users/responses/getmanyusersresponse.js +1 -1
  81. package/src/users/responses/getuserresponse.js +1 -1
  82. package/src/users/user.js +1 -1
  83. package/src/version.d.ts +1 -1
  84. package/src/version.js +1 -1
  85. package/src/websocketgateway/channel.js +1 -1
  86. package/src/websocketgateway/messages/channelmessage.js +1 -1
  87. package/src/websocketgateway/parser/packetparser.js +1 -1
  88. package/src/websocketgateway/parser/packets/bytesbytespacketdatamessage.js +1 -1
  89. package/src/websocketgateway/parser/packets/numberbytespacketdatamessage.js +1 -1
  90. package/src/websocketgateway/parser/packets/numbernumberpacketdatamessag.js +1 -1
  91. package/src/websocketgateway/parser/packets/numberobjectpacketdatamessage.js +1 -1
  92. package/src/websocketgateway/parser/packets/numberstringpacketdatamessag.js +1 -1
  93. package/src/websocketgateway/parser/packets/objectbufferpacketdatamessage.js +1 -1
  94. package/src/websocketgateway/parser/packets/objectobjectpacketdatamessage.js +1 -1
  95. package/src/websocketgateway/parser/packets/packagedatamessage.js +1 -1
  96. package/src/websocketgateway/parser/packets/packetmessage.js +1 -1
  97. package/src/websocketgateway/parser/packets/packetoptionsmessage.js +1 -1
  98. package/src/websocketgateway/parser/packets/stringbytespacketdatamessage.js +1 -1
  99. package/src/websocketgateway/parser/packets/stringnumberpacketdatamessage.js +1 -1
  100. package/src/websocketgateway/parser/packets/stringobjectpacketdatamessage.js +1 -1
  101. package/src/websocketgateway/parser/packets/stringstringpacketdatamessage.js +1 -1
  102. package/src/websocketgateway/parser/parser.js +1 -1
  103. package/src/websocketgateway/parser/parserutils.js +1 -1
  104. package/src/websocketgateway/requestsmanager.js +1 -1
  105. package/src/websocketgateway/websocketgateway.js +1 -1
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const IS_NODE=!('undefined'==typeof process||!process['versions']||!process['versions']['node']);export var MessageDataTypes;!function(_0x147511){_0x147511[_0x147511['BUFFER']=0x1]='BUFFER',_0x147511[_0x147511['STRING']=0x2]='STRING',_0x147511[_0x147511['NUMBER']=0x3]='NUMBER',_0x147511[_0x147511['OBJECT']=0x4]='OBJECT';}(MessageDataTypes||(MessageDataTypes={}));export default class ParserUtils{static['getPacketType'](..._0x3a2ad1){let _0x148310=0x0;for(let _0x44a96a=0x0;_0x44a96a<_0x3a2ad1['length'];_0x44a96a++){_0x148310+=_0x3a2ad1[_0x44a96a]*Math['pow'](0xa,_0x3a2ad1['length']-_0x44a96a-0x1);}return _0x148310;}static['getType'](_0x1d023a){if(ParserUtils['isBuffer'](_0x1d023a))return MessageDataTypes['BUFFER'];const _0x8ea8f3=typeof _0x1d023a;return'string'===_0x8ea8f3?MessageDataTypes['STRING']:'number'===_0x8ea8f3?MessageDataTypes['NUMBER']:MessageDataTypes['OBJECT'];}static['isBuffer'](_0x4321f5){return IS_NODE&&Buffer['isBuffer'](_0x4321f5)||_0x4321f5 instanceof ArrayBuffer||_0x4321f5 instanceof Uint8Array||this['_isBufferView'](_0x4321f5);}static['_isBufferView'](_0x21aa29){return'function'==typeof ArrayBuffer['isView']?ArrayBuffer['isView'](_0x21aa29):_0x21aa29['buffer']instanceof ArrayBuffer;}}
23
+ const IS_NODE=!('undefined'==typeof process||!process['versions']||!process['versions']['node']);export var MessageDataTypes;!function(_0x596300){_0x596300[_0x596300['BUFFER']=0x1]='BUFFER',_0x596300[_0x596300['STRING']=0x2]='STRING',_0x596300[_0x596300['NUMBER']=0x3]='NUMBER',_0x596300[_0x596300['OBJECT']=0x4]='OBJECT';}(MessageDataTypes||(MessageDataTypes={}));export default class ParserUtils{static['getPacketType'](..._0x1ea58d){let _0x261615=0x0;for(let _0x2f1936=0x0;_0x2f1936<_0x1ea58d['length'];_0x2f1936++){_0x261615+=_0x1ea58d[_0x2f1936]*Math['pow'](0xa,_0x1ea58d['length']-_0x2f1936-0x1);}return _0x261615;}static['getType'](_0x16f24a){if(ParserUtils['isBuffer'](_0x16f24a))return MessageDataTypes['BUFFER'];const _0x4bb34e=typeof _0x16f24a;return'string'===_0x4bb34e?MessageDataTypes['STRING']:'number'===_0x4bb34e?MessageDataTypes['NUMBER']:MessageDataTypes['OBJECT'];}static['isBuffer'](_0x38b686){return IS_NODE&&Buffer['isBuffer'](_0x38b686)||_0x38b686 instanceof ArrayBuffer||_0x38b686 instanceof Uint8Array||this['_isBufferView'](_0x38b686);}static['_isBufferView'](_0xe6d014){return'function'==typeof ArrayBuffer['isView']?ArrayBuffer['isView'](_0xe6d014):_0xe6d014['buffer']instanceof ArrayBuffer;}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import _0x19397c from'../ckeditorcloudserviceserror.js';class WebSocketRequest{constructor(_0x1f6c03,_0x1a33ee){this['_context']=_0x1f6c03,this['_deferredPromise']=(function(){let _0x1aaa13,_0x46b2c4;const _0x51962f=new Promise((_0x2a9f98,_0x507d89)=>{_0x1aaa13=_0x2a9f98,_0x46b2c4=_0x507d89;});return{'resolve':_0x1aaa13,'reject':_0x46b2c4,'promise':_0x51962f};}()),this['timeout']=setTimeout(()=>this['error'](new _0x19397c('Request\x20timeout.',this['_context'])),_0x1a33ee);}get['promise'](){return this['_deferredPromise']['promise'];}['response'](_0x1d5795){this['_deferredPromise']['resolve'](_0x1d5795);}['error'](_0x3528fb){this['_deferredPromise']['reject'](_0x3528fb);}}export default class WebSocketGatewayRequestsManager{constructor(_0x3fc20f){this['_context']=_0x3fc20f,this['_requests']=new Set();}async['send'](_0x28d271,_0x5738db=0xafc8){const _0x2527d8=this['_createRequest'](_0x5738db);try{return _0x28d271(_0x2527d8),await _0x2527d8['promise'];}finally{this['_finishRequest'](_0x2527d8);}}['errorAll'](_0x573861){for(const _0x5a2698 of this['_requests'])_0x5a2698['error'](_0x573861);}['waitForAllRequests'](_0x1bd856=0xafc8){return this['_waitForRequests'](_0x1bd856);}['_createRequest'](_0x789464){const _0x5d89b0=new WebSocketRequest(this['_context'],_0x789464);return this['_requests']['add'](_0x5d89b0),_0x5d89b0;}['_finishRequest'](_0x30d953){this['_requests']['delete'](_0x30d953),clearTimeout(_0x30d953['timeout']);}async['_waitForRequests'](_0x5897dd=0x1388,_0x32d311=0x0){return!this['_requests']['size']||_0x32d311>=_0x5897dd/0x1f4?Promise['resolve']():(await new Promise(_0x4affc9=>{setTimeout(_0x4affc9,0x1f4);}),this['_waitForRequests'](_0x5897dd,_0x32d311++));}}
23
+ import _0x5eee6a from'../ckeditorcloudserviceserror.js';class WebSocketRequest{constructor(_0x35f4af,_0xb07a43){this['_context']=_0x35f4af,this['_deferredPromise']=(function(){let _0xbce372,_0x3df09d;const _0x3fb9ad=new Promise((_0x588af4,_0x36a059)=>{_0xbce372=_0x588af4,_0x3df09d=_0x36a059;});return{'resolve':_0xbce372,'reject':_0x3df09d,'promise':_0x3fb9ad};}()),this['timeout']=setTimeout(()=>this['error'](new _0x5eee6a('Request\x20timeout.',this['_context'])),_0xb07a43);}get['promise'](){return this['_deferredPromise']['promise'];}['response'](_0x224333){this['_deferredPromise']['resolve'](_0x224333);}['error'](_0x3e669f){this['_deferredPromise']['reject'](_0x3e669f);}}export default class WebSocketGatewayRequestsManager{constructor(_0x28c810){this['_context']=_0x28c810,this['_requests']=new Set();}async['send'](_0x11f7e0,_0x2d16e1=0xafc8){const _0x2a8154=this['_createRequest'](_0x2d16e1);try{return _0x11f7e0(_0x2a8154),await _0x2a8154['promise'];}finally{this['_finishRequest'](_0x2a8154);}}['errorAll'](_0x2c9330){for(const _0x12b16a of this['_requests'])_0x12b16a['error'](_0x2c9330);}['waitForAllRequests'](_0x56c4be=0xafc8){return this['_waitForRequests'](_0x56c4be);}['_createRequest'](_0x457c0f){const _0x2ce4c1=new WebSocketRequest(this['_context'],_0x457c0f);return this['_requests']['add'](_0x2ce4c1),_0x2ce4c1;}['_finishRequest'](_0x25f8d0){this['_requests']['delete'](_0x25f8d0),clearTimeout(_0x25f8d0['timeout']);}async['_waitForRequests'](_0x536a18=0x1388,_0x4ddcb6=0x0){return!this['_requests']['size']||_0x4ddcb6>=_0x536a18/0x1f4?Promise['resolve']():(await new Promise(_0x5987c1=>{setTimeout(_0x5987c1,0x1f4);}),this['_waitForRequests'](_0x536a18,_0x4ddcb6++));}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{io}from'socket.io-client';import _0x3a1ac1 from'url-parse';import{ObservableMixin,priorities,global}from'ckeditor5/src/utils.js';import _0x406135 from'./channel.js';import _0x2233c6 from'./../users/user.js';import _0x10200b from'./../version.js';import _0x93c010 from'./../ckeditorcloudserviceserror.js';import _0x3e8fca from'./../ckeditorcloudservicesservererror.js';import{Encoder,Decoder}from'./parser/parser.js';import _0xb7e684 from'./requestsmanager.js';export var WEB_SOCKET_GATEWAY_STATES;!function(_0x221034){_0x221034['DISCONNECTED']='disconnected',_0x221034['CONNECTING']='connecting',_0x221034['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES||(WEB_SOCKET_GATEWAY_STATES={}));class WebSocketGateway extends ObservableMixin(){constructor(_0x2f1cef,_0x54c5ae,_0x4de939={},_0x24d58a=io,_0xf4ff4e=_0x2233c6['get']){if(super(),this['_token']=_0x54c5ae,this['_options']=_0x4de939,this['_connectionProvider']=_0x24d58a,this['_userFactory']=_0xf4ff4e,this['_requestsManager']=new _0xb7e684(this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x2f1cef)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_options']['requestTimeout']||(this['_options']['requestTimeout']=0x4e20),this['_url']=_0x3a1ac1(_0x2f1cef['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state',WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x4f8f52,_0x4157af,_0x1aca63)=>{var _0x148d0d;if(this['_debugEvent']('ws-gw:change:state',_0x1aca63),_0x1aca63!==WebSocketGateway['STATE_CONNECTED']){if(_0x1aca63===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new _0x93c010('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](_0x2233c6,this,null===(_0x148d0d=this['_socketAuth'])||void 0x0===_0x148d0d?void 0x0:_0x148d0d['userId']);}catch(_0x3a177c){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x1d9e5c,_0x3a93f9)=>{this['_options']['onError']?this['_options']['onError'](_0x3a93f9):console['error'](_0x3a93f9);});}get['sessionId'](){return this['socketId'];}['waitForAllRequests'](_0x27838b){return this['_requestsManager']['waitForAllRequests'](_0x27838b);}['disconnect'](){var _0x142321;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x142321=this['_socket'])||void 0x0===_0x142321||_0x142321['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x352175,_0x1acc57='local.cs.dev:443/ws-v2',_0x2724cb={},_0x2a0097=io,_0x1b0303=_0x2233c6['get']){const _0x1fe7e2=new WebSocketGateway(_0x1acc57,_0x352175,_0x2724cb,_0x2a0097,_0x1b0303);return await _0x1fe7e2['_connect'](),_0x1fe7e2;}['_sendRequest'](_0x4939de,_0x34d30e,_0xc8cd50){if(!_0x4939de)throw new _0x93c010('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new _0x93c010('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new _0x93c010('Not\x20authenticated.',this);const _0x4ebf66=new ArrayBuffer(_0xc8cd50['length']+0x2),_0x385c42=new Uint8Array(_0x4ebf66);return _0x385c42[0x0]=_0x4939de,_0x385c42[0x1]=parseInt(_0x34d30e),_0x385c42['set'](_0xc8cd50,0x2),this['_emit'](0x1,_0x385c42);}['_getChannel'](_0x27e8fd,_0x3acbd7){const _0x50d608=''+_0x27e8fd+_0x3acbd7;return!this['_channels']['has'](_0x50d608)&&this['_socket']&&this['_channels']['set'](_0x50d608,new _0x406135(_0x50d608,this,this['_socket'])),this['_channels']['get'](_0x50d608);}['_connect'](){return new Promise((_0x4cc942,_0x37366e)=>{const _0x3fcfb6=this['_setupSocket']();!this['socketId']&&_0x3fcfb6['io']['on']('reconnect_error',()=>{this['_debugEvent']('reconnect_error'),this['_reconnectionAttemptError'](_0x37366e);}),_0x3fcfb6['once']('connect',async()=>{this['_debugEvent']('once-connect');try{await this['_onConnect'](),_0x4cc942();}catch(_0x113613){_0x37366e(_0x113613);}}),_0x3fcfb6['connect']();});}['_getPortByProtocol'](_0x723f48){return['http:','ws:']['includes'](_0x723f48)?0x50:0x1bb;}['_setupSocket'](){var _0x39536f;if(this['_socket'])return this['_socket'];const _0x1ef416=this['_url']['port']||this['_getPortByProtocol'](this['_url']['protocol']),_0x5c5581=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x1ef416,_0x31c283=this['_url']['pathname']['match'](/^\/.*\/ws/)?this['_url']['pathname']['split']('/ws')[0x0]:'',_0xd612c3=this['_connectionProvider'](_0x5c5581,{'parser':{'Encoder':Encoder,'Decoder':Decoder},'path':_0x31c283+'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':_0x10200b},'agent':null!==(_0x39536f=this['_options']['agent'])&&void 0x0!==_0x39536f&&_0x39536f,'closeOnBeforeunload':!0x1});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0xd612c3['on']('connect',()=>{this['_debugEvent']('connect'),this['socketId']=_0xd612c3['id'];}),_0xd612c3['on']('connect_error',_0xd0cd13=>{this['_debugEvent']('connect_error',_0xd0cd13);}),_0xd612c3['on']('disconnect',()=>{this['_debugEvent']('disconnect'),this['_onDisconnect']();}),_0xd612c3['io']['on']('reconnect',async()=>{this['_debugEvent']('reconnect'),await this['_onReconnect']();}),_0xd612c3['io']['on']('reconnect_attempt',_0x317a3a=>{this['_debugEvent']('reconnect_attempt',_0x317a3a),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x317a3a;}),_0xd612c3['on']('unauthorized',_0x5a09f2=>{this['_debugEvent']('unauthorized'),this['_onUnauthorized'](_0x5a09f2);}),_0xd612c3['on']('authenticationRequest',async _0x376218=>{this['_debugEvent']('authenticationRequest',_0x376218['attempt']),await this['_onReconnect']();}),this['_socket']=_0xd612c3,_0xd612c3;}['_emit'](_0x3808e7,_0x428b0c){const _0xf24d3c=this['_socket'];return this['_requestsManager']['send'](_0x5ae269=>{_0xf24d3c['emit'](_0x3808e7,_0x428b0c,(_0x420f70,_0x3d4fd1)=>{if(_0x420f70)return _0x5ae269['error'](_0x3e8fca['fromPublicError'](_0x420f70));_0x5ae269['response'](_0x3d4fd1);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x3ccc2d,_0x38d517){this['_socketAuth']={'environmentId':_0x3ccc2d,'userId':_0x38d517,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x556de8=async(_0x1862ee,_0x53e89d,_0x5c6dfe)=>{this['_debugEvent']('token:value:change');try{await this['_authenticate'](_0x5c6dfe);}catch(_0x401151){}};this['_token']['on']('change:value',_0x556de8),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x556de8);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x47e9cf of this['_channels']['values']())_0x47e9cf['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_debugEvent'](_0x5b861d,_0x487ca4){if(!this['_isDebugModeEnabled']())return;const _0x229e4a=void 0x0!==_0x487ca4?',\x20data:\x20'+_0x487ca4:'';console['info'](new Date()['toLocaleString']()+'\x20'+_0x5b861d+_0x229e4a);}['_reconnectionAttemptError'](_0x34eee8){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x34eee8(_0x93c010['fromPublicError']({'message':'The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.','explanation':'Three\x20initial\x20connection\x20attempts\x20failed.\x20It\x20can\x20be\x20caused\x20by\x20a\x20slow,\x20unstable,\x20missing\x20or\x20blocked\x20Internet\x20connection.','action':'Please\x20verify\x20the\x20stability\x20of\x20your\x20Internet\x20connection\x20and\x20ensure\x20that\x20no\x20antivirus\x20or\x20firewall\x20software\x20blocks\x20the\x20Web\x20Socket\x20protocol\x20connections.'})));}['_onUnauthorized']({error:_0x153533}){this['_removeAuthData'](),this['fire']('error',_0x3e8fca['fromPublicError'](_0x153533));}async['_authenticate'](_0x152985){try{this['_debugEvent']('authenticate:start');const _0x596aca=await this['_emit'](0x2,{'token':_0x152985});this['_debugEvent']('authenticate:success','envId:\x20'+_0x596aca['environmentId']+',\x20userId:\x20'+_0x596aca['userId']),this['_addAuthData'](_0x596aca['environmentId'],_0x596aca['userId']);}catch(_0x458d13){throw this['_debugEvent']('authenticate:error',_0x458d13['message']),this['_removeAuthData'](),_0x458d13;}}['_isDebugModeEnabled'](){var _0x46858a;if(!global['window']['localStorage'])return!0x1;return'true'===(null!==(_0x46858a=global['window']['localStorage']['getItem']('csClientDebugMode'))&&void 0x0!==_0x46858a?_0x46858a:'false')['toLowerCase']();}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=priorities['get']('highest')+0xf423f;export default WebSocketGateway;
23
+ import{io}from'socket.io-client';import _0x59e08e from'url-parse';import{ObservableMixin,priorities,global}from'ckeditor5/src/utils.js';import _0x2f5cc0 from'./channel.js';import _0x11b387 from'./../users/user.js';import _0x215d57 from'./../version.js';import _0x33b61e from'./../ckeditorcloudserviceserror.js';import _0x3c791d from'./../ckeditorcloudservicesservererror.js';import{Encoder,Decoder}from'./parser/parser.js';import _0x1343a1 from'./requestsmanager.js';export var WEB_SOCKET_GATEWAY_STATES;!function(_0x2539e2){_0x2539e2['DISCONNECTED']='disconnected',_0x2539e2['CONNECTING']='connecting',_0x2539e2['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES||(WEB_SOCKET_GATEWAY_STATES={}));class WebSocketGateway extends ObservableMixin(){constructor(_0x4be864,_0x419be9,_0x5130ca={},_0x7dd826=io,_0x54d5e7=_0x11b387['get']){if(super(),this['_token']=_0x419be9,this['_options']=_0x5130ca,this['_connectionProvider']=_0x7dd826,this['_userFactory']=_0x54d5e7,this['_requestsManager']=new _0x1343a1(this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x4be864)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_options']['requestTimeout']||(this['_options']['requestTimeout']=0x4e20),this['_url']=_0x59e08e(_0x4be864['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state',WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x24a267,_0xcface4,_0x2e1718)=>{var _0x3ff4e5;if(this['_debugEvent']('ws-gw:change:state',_0x2e1718),_0x2e1718!==WebSocketGateway['STATE_CONNECTED']){if(_0x2e1718===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new _0x33b61e('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](_0x11b387,this,null===(_0x3ff4e5=this['_socketAuth'])||void 0x0===_0x3ff4e5?void 0x0:_0x3ff4e5['userId']);}catch(_0x4b9553){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x587b61,_0x214bf1)=>{this['_options']['onError']?this['_options']['onError'](_0x214bf1):console['error'](_0x214bf1);});}get['sessionId'](){return this['socketId'];}['waitForAllRequests'](_0x190fa0){return this['_requestsManager']['waitForAllRequests'](_0x190fa0);}['disconnect'](){var _0x3e6707;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x3e6707=this['_socket'])||void 0x0===_0x3e6707||_0x3e6707['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x43c1ea,_0x4460c6='local.cs.dev:443/ws-v2',_0x9c3b11={},_0x2f31e7=io,_0x5811b9=_0x11b387['get']){const _0x406b29=new WebSocketGateway(_0x4460c6,_0x43c1ea,_0x9c3b11,_0x2f31e7,_0x5811b9);return await _0x406b29['_connect'](),_0x406b29;}['_sendRequest'](_0xb7c194,_0x2cb8ac,_0x5f27a9){if(!_0xb7c194)throw new _0x33b61e('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new _0x33b61e('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new _0x33b61e('Not\x20authenticated.',this);const _0x5ad7c3=new ArrayBuffer(_0x5f27a9['length']+0x2),_0x2fc622=new Uint8Array(_0x5ad7c3);return _0x2fc622[0x0]=_0xb7c194,_0x2fc622[0x1]=parseInt(_0x2cb8ac),_0x2fc622['set'](_0x5f27a9,0x2),this['_emit'](0x1,_0x2fc622);}['_getChannel'](_0x145ede,_0x511792){const _0x4e87b7=''+_0x145ede+_0x511792;return!this['_channels']['has'](_0x4e87b7)&&this['_socket']&&this['_channels']['set'](_0x4e87b7,new _0x2f5cc0(_0x4e87b7,this,this['_socket'])),this['_channels']['get'](_0x4e87b7);}['_connect'](){return new Promise((_0x557447,_0xceed51)=>{const _0x1dde61=this['_setupSocket']();!this['socketId']&&_0x1dde61['io']['on']('reconnect_error',()=>{this['_debugEvent']('reconnect_error'),this['_reconnectionAttemptError'](_0xceed51);}),_0x1dde61['once']('connect',async()=>{this['_debugEvent']('once-connect');try{await this['_onConnect'](),_0x557447();}catch(_0x32411e){_0xceed51(_0x32411e);}}),_0x1dde61['connect']();});}['_getPortByProtocol'](_0x476bf7){return['http:','ws:']['includes'](_0x476bf7)?0x50:0x1bb;}['_setupSocket'](){var _0x564181;if(this['_socket'])return this['_socket'];const _0xd41147=this['_url']['port']||this['_getPortByProtocol'](this['_url']['protocol']),_0x1495e7=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0xd41147,_0x47849a=this['_url']['pathname']['match'](/^\/.*\/ws/)?this['_url']['pathname']['split']('/ws')[0x0]:'',_0x2ac23f=this['_connectionProvider'](_0x1495e7,{'parser':{'Encoder':Encoder,'Decoder':Decoder},'path':_0x47849a+'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':_0x215d57},'agent':null!==(_0x564181=this['_options']['agent'])&&void 0x0!==_0x564181&&_0x564181,'closeOnBeforeunload':!0x1});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x2ac23f['on']('connect',()=>{this['_debugEvent']('connect'),this['socketId']=_0x2ac23f['id'];}),_0x2ac23f['on']('connect_error',_0xa665a6=>{this['_debugEvent']('connect_error',_0xa665a6);}),_0x2ac23f['on']('disconnect',()=>{this['_debugEvent']('disconnect'),this['_onDisconnect']();}),_0x2ac23f['io']['on']('reconnect',async()=>{this['_debugEvent']('reconnect'),await this['_onReconnect']();}),_0x2ac23f['io']['on']('reconnect_attempt',_0x3a0722=>{this['_debugEvent']('reconnect_attempt',_0x3a0722),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x3a0722;}),_0x2ac23f['on']('unauthorized',_0x415bc3=>{this['_debugEvent']('unauthorized'),this['_onUnauthorized'](_0x415bc3);}),_0x2ac23f['on']('authenticationRequest',async _0x4cf716=>{this['_debugEvent']('authenticationRequest',_0x4cf716['attempt']),await this['_onReconnect']();}),this['_socket']=_0x2ac23f,_0x2ac23f;}['_emit'](_0x16b4c2,_0x236f05){const _0x42a26f=this['_socket'];return this['_requestsManager']['send'](_0x58d467=>{_0x42a26f['emit'](_0x16b4c2,_0x236f05,(_0xfa7aa2,_0x1d93ad)=>{if(_0xfa7aa2)return _0x58d467['error'](_0x3c791d['fromPublicError'](_0xfa7aa2));_0x58d467['response'](_0x1d93ad);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x1c77c8,_0x17ef00){this['_socketAuth']={'environmentId':_0x1c77c8,'userId':_0x17ef00,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x59bfb1=async(_0x5d8f83,_0x11b001,_0x562ef2)=>{this['_debugEvent']('token:value:change');try{await this['_authenticate'](_0x562ef2);}catch(_0x342422){}};this['_token']['on']('change:value',_0x59bfb1),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x59bfb1);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x1a5c4d of this['_channels']['values']())_0x1a5c4d['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_debugEvent'](_0x1d4ad4,_0x7e8fbc){if(!this['_isDebugModeEnabled']())return;const _0xc7e1ff=void 0x0!==_0x7e8fbc?',\x20data:\x20'+_0x7e8fbc:'';console['info'](new Date()['toLocaleString']()+'\x20'+_0x1d4ad4+_0xc7e1ff);}['_reconnectionAttemptError'](_0x4cb6ab){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x4cb6ab(_0x33b61e['fromPublicError']({'message':'The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.','explanation':'Three\x20initial\x20connection\x20attempts\x20failed.\x20It\x20can\x20be\x20caused\x20by\x20a\x20slow,\x20unstable,\x20missing\x20or\x20blocked\x20Internet\x20connection.','action':'Please\x20verify\x20the\x20stability\x20of\x20your\x20Internet\x20connection\x20and\x20ensure\x20that\x20no\x20antivirus\x20or\x20firewall\x20software\x20blocks\x20the\x20Web\x20Socket\x20protocol\x20connections.'})));}['_onUnauthorized']({error:_0x4f3f7e}){this['_removeAuthData'](),this['fire']('error',_0x3c791d['fromPublicError'](_0x4f3f7e));}async['_authenticate'](_0x325038){try{this['_debugEvent']('authenticate:start');const _0x279e76=await this['_emit'](0x2,{'token':_0x325038});this['_debugEvent']('authenticate:success','envId:\x20'+_0x279e76['environmentId']+',\x20userId:\x20'+_0x279e76['userId']),this['_addAuthData'](_0x279e76['environmentId'],_0x279e76['userId']);}catch(_0x1c8a00){throw this['_debugEvent']('authenticate:error',_0x1c8a00['message']),this['_removeAuthData'](),_0x1c8a00;}}['_isDebugModeEnabled'](){var _0x2fbd14;if(!global['window']['localStorage'])return!0x1;return'true'===(null!==(_0x2fbd14=global['window']['localStorage']['getItem']('csClientDebugMode'))&&void 0x0!==_0x2fbd14?_0x2fbd14:'false')['toLowerCase']();}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=priorities['get']('highest')+0xf423f;export default WebSocketGateway;