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

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(_0x110b74){_0x110b74[_0x110b74['BUFFER']=0x1]='BUFFER',_0x110b74[_0x110b74['STRING']=0x2]='STRING',_0x110b74[_0x110b74['NUMBER']=0x3]='NUMBER',_0x110b74[_0x110b74['OBJECT']=0x4]='OBJECT';}(MessageDataTypes||(MessageDataTypes={}));export default class ParserUtils{static['getPacketType'](..._0x1bb88d){let _0x2a42d7=0x0;for(let _0xcd8438=0x0;_0xcd8438<_0x1bb88d['length'];_0xcd8438++){_0x2a42d7+=_0x1bb88d[_0xcd8438]*Math['pow'](0xa,_0x1bb88d['length']-_0xcd8438-0x1);}return _0x2a42d7;}static['getType'](_0x389d21){if(ParserUtils['isBuffer'](_0x389d21))return MessageDataTypes['BUFFER'];const _0x56231c=typeof _0x389d21;return'string'===_0x56231c?MessageDataTypes['STRING']:'number'===_0x56231c?MessageDataTypes['NUMBER']:MessageDataTypes['OBJECT'];}static['isBuffer'](_0x4de699){return IS_NODE&&Buffer['isBuffer'](_0x4de699)||_0x4de699 instanceof ArrayBuffer||_0x4de699 instanceof Uint8Array||this['_isBufferView'](_0x4de699);}static['_isBufferView'](_0x4d7742){return'function'==typeof ArrayBuffer['isView']?ArrayBuffer['isView'](_0x4d7742):_0x4d7742['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 _0x11892b from'../ckeditorcloudserviceserror.js';class WebSocketRequest{constructor(_0x4b35cd,_0x110ad3){this['_context']=_0x4b35cd,this['_deferredPromise']=(function(){let _0x199163,_0x2a2880;const _0xcd4ff0=new Promise((_0x93213,_0x54e71f)=>{_0x199163=_0x93213,_0x2a2880=_0x54e71f;});return{'resolve':_0x199163,'reject':_0x2a2880,'promise':_0xcd4ff0};}()),this['timeout']=setTimeout(()=>this['error'](new _0x11892b('Request\x20timeout.',this['_context'])),_0x110ad3);}get['promise'](){return this['_deferredPromise']['promise'];}['response'](_0x38a3fb){this['_deferredPromise']['resolve'](_0x38a3fb);}['error'](_0x37f172){this['_deferredPromise']['reject'](_0x37f172);}}export default class WebSocketGatewayRequestsManager{constructor(_0x4aa5e6){this['_context']=_0x4aa5e6,this['_requests']=new Set();}async['send'](_0x3c851b,_0x4cfc3d=0xafc8){const _0xd5458f=this['_createRequest'](_0x4cfc3d);try{return _0x3c851b(_0xd5458f),await _0xd5458f['promise'];}finally{this['_finishRequest'](_0xd5458f);}}['errorAll'](_0x45cec3){for(const _0x28372 of this['_requests'])_0x28372['error'](_0x45cec3);}['waitForAllRequests'](_0x4de713=0xafc8){return this['_waitForRequests'](_0x4de713);}['_createRequest'](_0x491b26){const _0x13fa73=new WebSocketRequest(this['_context'],_0x491b26);return this['_requests']['add'](_0x13fa73),_0x13fa73;}['_finishRequest'](_0x45571a){this['_requests']['delete'](_0x45571a),clearTimeout(_0x45571a['timeout']);}async['_waitForRequests'](_0x1a9d64=0x1388,_0x1a21af=0x0){return!this['_requests']['size']||_0x1a21af>=_0x1a9d64/0x1f4?Promise['resolve']():(await new Promise(_0x336edd=>{setTimeout(_0x336edd,0x1f4);}),this['_waitForRequests'](_0x1a9d64,_0x1a21af++));}}
@@ -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 _0x3780b0 from'url-parse';import{ObservableMixin,priorities,global}from'ckeditor5/src/utils.js';import _0x2bc7ac from'./channel.js';import _0x86044 from'./../users/user.js';import _0x1ba68f from'./../version.js';import _0x349cb4 from'./../ckeditorcloudserviceserror.js';import _0x503fa3 from'./../ckeditorcloudservicesservererror.js';import{Encoder,Decoder}from'./parser/parser.js';import _0x2b4f48 from'./requestsmanager.js';export var WEB_SOCKET_GATEWAY_STATES;!function(_0x76222a){_0x76222a['DISCONNECTED']='disconnected',_0x76222a['CONNECTING']='connecting',_0x76222a['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES||(WEB_SOCKET_GATEWAY_STATES={}));class WebSocketGateway extends ObservableMixin(){constructor(_0x5eb6d6,_0x11bfb9,_0x5a6bd0={},_0x31f78f=io,_0x71b9ef=_0x86044['get']){if(super(),this['_token']=_0x11bfb9,this['_options']=_0x5a6bd0,this['_connectionProvider']=_0x31f78f,this['_userFactory']=_0x71b9ef,this['_requestsManager']=new _0x2b4f48(this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x5eb6d6)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']=_0x3780b0(_0x5eb6d6['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(_0x4818cc,_0x511d66,_0x11e484)=>{var _0x4b173e;if(this['_debugEvent']('ws-gw:change:state',_0x11e484),_0x11e484!==WebSocketGateway['STATE_CONNECTED']){if(_0x11e484===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new _0x349cb4('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](_0x86044,this,null===(_0x4b173e=this['_socketAuth'])||void 0x0===_0x4b173e?void 0x0:_0x4b173e['userId']);}catch(_0xd03138){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x2f96e5,_0x193b4a)=>{this['_options']['onError']?this['_options']['onError'](_0x193b4a):console['error'](_0x193b4a);});}get['sessionId'](){return this['socketId'];}['waitForAllRequests'](_0x58101f){return this['_requestsManager']['waitForAllRequests'](_0x58101f);}['disconnect'](){var _0x273ba8;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x273ba8=this['_socket'])||void 0x0===_0x273ba8||_0x273ba8['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'](_0xb53f57,_0x2bd682='local.cs.dev:443/ws-v2',_0x49a299={},_0x33375f=io,_0x1fce14=_0x86044['get']){const _0x8ca3ff=new WebSocketGateway(_0x2bd682,_0xb53f57,_0x49a299,_0x33375f,_0x1fce14);return await _0x8ca3ff['_connect'](),_0x8ca3ff;}['_sendRequest'](_0x4f8192,_0x1773db,_0x15ae75){if(!_0x4f8192)throw new _0x349cb4('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new _0x349cb4('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new _0x349cb4('Not\x20authenticated.',this);const _0x235629=new ArrayBuffer(_0x15ae75['length']+0x2),_0x44e3af=new Uint8Array(_0x235629);return _0x44e3af[0x0]=_0x4f8192,_0x44e3af[0x1]=parseInt(_0x1773db),_0x44e3af['set'](_0x15ae75,0x2),this['_emit'](0x1,_0x44e3af);}['_getChannel'](_0x5a05d5,_0x20109a){const _0x50398b=''+_0x5a05d5+_0x20109a;return!this['_channels']['has'](_0x50398b)&&this['_socket']&&this['_channels']['set'](_0x50398b,new _0x2bc7ac(_0x50398b,this,this['_socket'])),this['_channels']['get'](_0x50398b);}['_connect'](){return new Promise((_0x150216,_0x422fc9)=>{const _0x28a351=this['_setupSocket']();!this['socketId']&&_0x28a351['io']['on']('reconnect_error',()=>{this['_debugEvent']('reconnect_error'),this['_reconnectionAttemptError'](_0x422fc9);}),_0x28a351['once']('connect',async()=>{this['_debugEvent']('once-connect');try{await this['_onConnect'](),_0x150216();}catch(_0x4adbd8){_0x422fc9(_0x4adbd8);}}),_0x28a351['connect']();});}['_getPortByProtocol'](_0x310491){return['http:','ws:']['includes'](_0x310491)?0x50:0x1bb;}['_setupSocket'](){var _0xe68667;if(this['_socket'])return this['_socket'];const _0x7ebc2d=this['_url']['port']||this['_getPortByProtocol'](this['_url']['protocol']),_0x57fdf0=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x7ebc2d,_0x329901=this['_url']['pathname']['match'](/^\/.*\/ws/)?this['_url']['pathname']['split']('/ws')[0x0]:'',_0x554c65=this['_connectionProvider'](_0x57fdf0,{'parser':{'Encoder':Encoder,'Decoder':Decoder},'path':_0x329901+'/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':_0x1ba68f},'agent':null!==(_0xe68667=this['_options']['agent'])&&void 0x0!==_0xe68667&&_0xe68667,'closeOnBeforeunload':!0x1});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x554c65['on']('connect',()=>{this['_debugEvent']('connect'),this['socketId']=_0x554c65['id'];}),_0x554c65['on']('connect_error',_0x10c90d=>{this['_debugEvent']('connect_error',_0x10c90d);}),_0x554c65['on']('disconnect',()=>{this['_debugEvent']('disconnect'),this['_onDisconnect']();}),_0x554c65['io']['on']('reconnect',async()=>{this['_debugEvent']('reconnect'),await this['_onReconnect']();}),_0x554c65['io']['on']('reconnect_attempt',_0x3ab182=>{this['_debugEvent']('reconnect_attempt',_0x3ab182),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x3ab182;}),_0x554c65['on']('unauthorized',_0x2442e7=>{this['_debugEvent']('unauthorized'),this['_onUnauthorized'](_0x2442e7);}),_0x554c65['on']('authenticationRequest',async _0x15baf5=>{this['_debugEvent']('authenticationRequest',_0x15baf5['attempt']),await this['_onReconnect']();}),this['_socket']=_0x554c65,_0x554c65;}['_emit'](_0x370795,_0x5da9be){const _0x585ba9=this['_socket'];return this['_requestsManager']['send'](_0x149a50=>{_0x585ba9['emit'](_0x370795,_0x5da9be,(_0x157237,_0x321948)=>{if(_0x157237)return _0x149a50['error'](_0x503fa3['fromPublicError'](_0x157237));_0x149a50['response'](_0x321948);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x541e73,_0x3aac65){this['_socketAuth']={'environmentId':_0x541e73,'userId':_0x3aac65,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x6f8647=async(_0x3606ff,_0x4c018a,_0x83c3da)=>{this['_debugEvent']('token:value:change');try{await this['_authenticate'](_0x83c3da);}catch(_0x1fcc75){}};this['_token']['on']('change:value',_0x6f8647),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x6f8647);});}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 _0x151c6c of this['_channels']['values']())_0x151c6c['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_debugEvent'](_0x11e276,_0x35154c){if(!this['_isDebugModeEnabled']())return;const _0x4544b9=void 0x0!==_0x35154c?',\x20data:\x20'+_0x35154c:'';console['info'](new Date()['toLocaleString']()+'\x20'+_0x11e276+_0x4544b9);}['_reconnectionAttemptError'](_0x48b787){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x48b787(_0x349cb4['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:_0x5ddf49}){this['_removeAuthData'](),this['fire']('error',_0x503fa3['fromPublicError'](_0x5ddf49));}async['_authenticate'](_0x908cf8){try{this['_debugEvent']('authenticate:start');const _0x3a4ce7=await this['_emit'](0x2,{'token':_0x908cf8});this['_debugEvent']('authenticate:success','envId:\x20'+_0x3a4ce7['environmentId']+',\x20userId:\x20'+_0x3a4ce7['userId']),this['_addAuthData'](_0x3a4ce7['environmentId'],_0x3a4ce7['userId']);}catch(_0x25f0d8){throw this['_debugEvent']('authenticate:error',_0x25f0d8['message']),this['_removeAuthData'](),_0x25f0d8;}}['_isDebugModeEnabled'](){var _0x5ba7b6;if(!global['window']['localStorage'])return!0x1;return'true'===(null!==(_0x5ba7b6=global['window']['localStorage']['getItem']('csClientDebugMode'))&&void 0x0!==_0x5ba7b6?_0x5ba7b6:'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;