@univerjs-pro/collaboration-client 0.4.2 → 0.5.0-beta.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.
@@ -0,0 +1 @@
1
+ function _0x416a(){const _0x4e4a95=['You\x20opened\x20the\x20same\x20file\x20in\x20another\x20tab.\x20In\x20case\x20of\x20data\x20missing,\x20you\x20cannot\x20edit\x20on\x20this\x20tab.','Offline,\x20edits\x20would\x20be\x20save\x20on\x20local','207dVdHpg','7523iBAawc','6575789gnGBnc','10VwLFjO','Local\x20file','6YlzwJS','1317365ocoLzB','Connection\x20failed,\x20please\x20check\x20your\x20network.','Authentication\x20Error','186320kywaRq','Syncing...','Synced','The\x20server\x20is\x20not\x20responding\x20to\x20your\x20collaboration\x20request.\x20Your\x20edits\x20would\x20be\x20saved\x20locally.','6062550YpwUXQ','69ftWimg','1796NlNIKx','There\x20is\x20a\x20conflict\x20between\x20your\x20local\x20copy\x20and\x20the\x20copy\x20on\x20the\x20server.\x20Please\x20save\x20your\x20local\x20edits,\x20because\x20they\x20will\x20be\x20lost\x20when\x20you\x20reload\x20the\x20page.','Click\x20to\x20Reconnect','15524976NlPuYr','Edit\x20conflicts','Collaboration\x20Conflict','5FVicCg','Your\x20actions\x20are\x20conflicting\x20with\x20the\x20server\x27s\x20permissions.\x20Please\x20save\x20your\x20local\x20edits\x20elsewhere\x20as\x20they\x20will\x20be\x20discarded\x20after\x20refreshing\x20the\x20page.'];_0x416a=function(){return _0x4e4a95;};return _0x416a();}const _0x3e0381=_0x5c03;function _0x5c03(_0x4e8e0d,_0x3d995a){const _0x416a61=_0x416a();return _0x5c03=function(_0x5c03e6,_0x1f3a8b){_0x5c03e6=_0x5c03e6-0x145;let _0x2fc95e=_0x416a61[_0x5c03e6];return _0x2fc95e;},_0x5c03(_0x4e8e0d,_0x3d995a);}(function(_0x389043,_0x2418f1){const _0x17ce68=_0x5c03,_0x573b52=_0x389043();while(!![]){try{const _0x577ce0=parseInt(_0x17ce68(0x147))/0x1*(parseInt(_0x17ce68(0x14b))/0x2)+parseInt(_0x17ce68(0x154))/0x3*(-parseInt(_0x17ce68(0x155))/0x4)+-parseInt(_0x17ce68(0x15b))/0x5*(parseInt(_0x17ce68(0x153))/0x6)+parseInt(_0x17ce68(0x14c))/0x7+-parseInt(_0x17ce68(0x14f))/0x8*(parseInt(_0x17ce68(0x146))/0x9)+parseInt(_0x17ce68(0x149))/0xa*(parseInt(_0x17ce68(0x148))/0xb)+parseInt(_0x17ce68(0x158))/0xc;if(_0x577ce0===_0x2418f1)break;else _0x573b52['push'](_0x573b52['shift']());}catch(_0x42b8c7){_0x573b52['push'](_0x573b52['shift']());}}}(_0x416a,0x85461));const e={'collab-client':{'tooltip':{'reconnect':_0x3e0381(0x157)}},'collabStatus':{'fetchMiss':'Syncing\x20server\x20data...','conflict':_0x3e0381(0x159),'notCollab':_0x3e0381(0x14a),'synced':_0x3e0381(0x151),'syncing':_0x3e0381(0x150),'offline':_0x3e0381(0x145)},'session':{'connection-failed':_0x3e0381(0x14d),'will-retry':'Connection\x20failed,\x20we\x20retry\x20in\x20a\x20while.','room-full':'Collaboration\x20room\x20is\x20full.\x20You\x20edits\x20would\x20be\x20saved\x20locally.','collaboration-timeout':_0x3e0381(0x152)},'conflict':{'title':_0x3e0381(0x15a),'content':_0x3e0381(0x156)},'permission':{'title':_0x3e0381(0x14e),'content':_0x3e0381(0x15c)},'collaboration':{'single-unit':{'warning':_0x3e0381(0x15d)},'closeRoom':'Editing\x20privileges\x20were\x20revoked\x20because\x20the\x20collaborative\x20room\x20was\x20closed.'},'auth':{'needGotoLoginAlert':'Your\x20login\x20has\x20expired,\x20click\x20OK\x20to\x20re-login,\x20click\x20Cancel\x20to\x20save\x20your\x20local\x20edits.'}};export{e as default};
@@ -0,0 +1 @@
1
+ const _0x5b3eeb=_0x4fe5;(function(_0x3c18c5,_0x311a6f){const _0x5b1a91=_0x4fe5,_0x93babf=_0x3c18c5();while(!![]){try{const _0x1776bd=parseInt(_0x5b1a91(0x14b))/0x1+parseInt(_0x5b1a91(0x146))/0x2+-parseInt(_0x5b1a91(0x14a))/0x3+-parseInt(_0x5b1a91(0x152))/0x4+parseInt(_0x5b1a91(0x158))/0x5*(-parseInt(_0x5b1a91(0x143))/0x6)+-parseInt(_0x5b1a91(0x141))/0x7*(parseInt(_0x5b1a91(0x14e))/0x8)+-parseInt(_0x5b1a91(0x144))/0x9*(-parseInt(_0x5b1a91(0x156))/0xa);if(_0x1776bd===_0x311a6f)break;else _0x93babf['push'](_0x93babf['shift']());}catch(_0x43b047){_0x93babf['push'](_0x93babf['shift']());}}}(_0xcccd,0x202d2));function _0xcccd(){const _0x45192b=['خطای\x20اعتبارسنجی','پرونده\x20محلی','8eNhGVK','تداخل\x20همکاری','تداخل\x20ویرایش','یک\x20تداخل\x20بین\x20نسخه\x20محلی\x20شما\x20و\x20نسخه\x20در\x20سرور\x20وجود\x20دارد.\x20لطفاً\x20ویرایش\x20های\x20محلی\x20خود\x20را\x20ذخیره\x20کنید،\x20زیرا\x20آنها\x20پس\x20از\x20بازیابی\x20صفحه\x20از\x20بین\x20خواهند\x20رفت.','354428UejCvC','اتصال\x20ناموفق\x20بود،\x20لطفا\x20شبکه\x20خود\x20را\x20بررسی\x20کنید.','ورود\x20شما\x20منقضی\x20شده\x20است،\x20برای\x20ورود\x20مجدد\x20کلیک\x20کنید،\x20برای\x20ذخیره\x20ویرایش\x20های\x20محلی\x20خود\x20کلیک\x20کنید.','شما\x20همان\x20پرونده\x20را\x20در\x20یک\x20تب\x20دیگر\x20باز\x20کرده\x20اید.\x20در\x20صورت\x20عدم\x20وجود\x20داده،\x20نمی\x20توانید\x20در\x20این\x20تب\x20ویرایش\x20کنید.','77930WJKlVV','امتیازات\x20ویرایش\x20به\x20دلیل\x20بسته\x20شدن\x20اتاق\x20همکاری\x20لغو\x20شد.','230495yxDAsw','سرور\x20به\x20درخواست\x20همکاری\x20شما\x20پاسخ\x20نمی\x20دهد.\x20ویرایش\x20های\x20شما\x20در\x20محلی\x20ذخیره\x20می\x20شوند.','471205wKfpGl','در\x20حال\x20همگام\x20سازی\x20داده\x20های\x20سرور...','6CJbJNJ','297vLuEdT','اتصال\x20ناموفق\x20بود،\x20ما\x20بعداً\x20دوباره\x20تلاش\x20می\x20کنیم.','456294MkIrQY','همگام\x20سازی','اعمال\x20شما\x20با\x20مجوزهای\x20سرور\x20تداخل\x20دارد.\x20لطفاً\x20ویرایش\x20های\x20محلی\x20خود\x20را\x20در\x20جای\x20دیگر\x20ذخیره\x20کنید\x20زیرا\x20پس\x20از\x20تازه\x20سازی\x20صفحه\x20از\x20بین\x20خواهند\x20رفت.','اتاق\x20همکاری\x20پر\x20است.\x20شما\x20ویرایش\x20های\x20خود\x20را\x20در\x20محلی\x20ذخیره\x20خواهید\x20کرد.','611277lgBVAP','52258DtzOqF'];_0xcccd=function(){return _0x45192b;};return _0xcccd();}function _0x4fe5(_0x244fac,_0x507f1d){const _0xcccd3b=_0xcccd();return _0x4fe5=function(_0x4fe595,_0x7e1ab4){_0x4fe595=_0x4fe595-0x140;let _0x3812d1=_0xcccd3b[_0x4fe595];return _0x3812d1;},_0x4fe5(_0x244fac,_0x507f1d);}const o={'collab-client':{'tooltip':{'reconnect':'برای\x20اتصال\x20مجدد\x20کلیک\x20کنید'}},'collabStatus':{'fetchMiss':_0x5b3eeb(0x142),'conflict':_0x5b3eeb(0x150),'notCollab':_0x5b3eeb(0x14d),'synced':_0x5b3eeb(0x147),'syncing':'در\x20حال\x20همگام\x20سازی...','offline':'آفلاین،\x20ویرایش\x20ها\x20در\x20محلی\x20ذخیره\x20می\x20شوند'},'session':{'connection-failed':_0x5b3eeb(0x153),'will-retry':_0x5b3eeb(0x145),'room-full':_0x5b3eeb(0x149),'collaboration-timeout':_0x5b3eeb(0x140)},'conflict':{'title':_0x5b3eeb(0x14f),'content':_0x5b3eeb(0x151)},'permission':{'title':_0x5b3eeb(0x14c),'content':_0x5b3eeb(0x148)},'collaboration':{'single-unit':{'warning':_0x5b3eeb(0x155)},'closeRoom':_0x5b3eeb(0x157)},'auth':{'needGotoLoginAlert':_0x5b3eeb(0x154)}};export{o as default};
@@ -0,0 +1 @@
1
+ const _0x556dae=_0x16ed;function _0x2e9a(){const _0x4791d1=['Your\x20login\x20has\x20expired,\x20click\x20OK\x20to\x20re-login,\x20click\x20Cancel\x20to\x20save\x20your\x20local\x20edits.','Connection\x20failed,\x20please\x20check\x20your\x20network.','Synced','1894828lXsRZj','Syncing\x20server\x20data...','45KGqGxR','1103895haviVq','696440hXFEeJ','6UZTKVG','Your\x20actions\x20are\x20conflicting\x20with\x20the\x20server\x27s\x20permissions.\x20Please\x20save\x20your\x20local\x20edits\x20elsewhere\x20as\x20they\x20will\x20be\x20discarded\x20after\x20refreshing\x20the\x20page.','5692870ADYCXQ','You\x20opened\x20the\x20same\x20file\x20in\x20another\x20tab.\x20In\x20case\x20of\x20data\x20missing,\x20you\x20cannot\x20edit\x20on\x20this\x20tab.','Editing\x20privileges\x20were\x20revoked\x20because\x20the\x20collaborative\x20room\x20was\x20closed.','20457300QNhhEQ','Syncing...','Click\x20to\x20Reconnect','1520744bprvJN','3VFquYt','Connection\x20failed,\x20we\x20retry\x20in\x20a\x20while.','Local\x20file','Collaboration\x20room\x20is\x20full.\x20You\x20edits\x20would\x20be\x20saved\x20locally.','Collaboration\x20Conflict','1666294kqSvjc','The\x20server\x20is\x20not\x20responding\x20to\x20your\x20collaboration\x20request.\x20Your\x20edits\x20would\x20be\x20saved\x20locally.'];_0x2e9a=function(){return _0x4791d1;};return _0x2e9a();}(function(_0x48a122,_0x5282d4){const _0x56c3c5=_0x16ed,_0x805286=_0x48a122();while(!![]){try{const _0xc20b99=parseInt(_0x56c3c5(0x1ab))/0x1+-parseInt(_0x56c3c5(0x1a8))/0x2+parseInt(_0x56c3c5(0x19e))/0x3*(parseInt(_0x56c3c5(0x1ac))/0x4)+-parseInt(_0x56c3c5(0x1af))/0x5*(-parseInt(_0x56c3c5(0x1ad))/0x6)+parseInt(_0x56c3c5(0x1a3))/0x7+parseInt(_0x56c3c5(0x19d))/0x8*(parseInt(_0x56c3c5(0x1aa))/0x9)+-parseInt(_0x56c3c5(0x19a))/0xa;if(_0xc20b99===_0x5282d4)break;else _0x805286['push'](_0x805286['shift']());}catch(_0x3382d4){_0x805286['push'](_0x805286['shift']());}}}(_0x2e9a,0x95666));function _0x16ed(_0x4265f4,_0x89cb9c){const _0x2e9a13=_0x2e9a();return _0x16ed=function(_0x16ed80,_0x206a04){_0x16ed80=_0x16ed80-0x19a;let _0x41ecab=_0x2e9a13[_0x16ed80];return _0x41ecab;},_0x16ed(_0x4265f4,_0x89cb9c);}const e={'collab-client':{'tooltip':{'reconnect':_0x556dae(0x19c)}},'collabStatus':{'fetchMiss':_0x556dae(0x1a9),'conflict':'Edit\x20conflicts','notCollab':_0x556dae(0x1a0),'synced':_0x556dae(0x1a7),'syncing':_0x556dae(0x19b),'offline':'Offline,\x20edits\x20would\x20be\x20save\x20on\x20local'},'session':{'connection-failed':_0x556dae(0x1a6),'will-retry':_0x556dae(0x19f),'room-full':_0x556dae(0x1a1),'collaboration-timeout':_0x556dae(0x1a4)},'conflict':{'title':_0x556dae(0x1a2),'content':'There\x20is\x20a\x20conflict\x20between\x20your\x20local\x20copy\x20and\x20the\x20copy\x20on\x20the\x20server.\x20Please\x20save\x20your\x20local\x20edits,\x20because\x20they\x20will\x20be\x20lost\x20when\x20you\x20reload\x20the\x20page.'},'permission':{'title':'Authentication\x20Error','content':_0x556dae(0x1ae)},'collaboration':{'single-unit':{'warning':_0x556dae(0x1b0)},'closeRoom':_0x556dae(0x1b1)},'auth':{'needGotoLoginAlert':_0x556dae(0x1a5)}},o=e;export{o as default};
@@ -0,0 +1 @@
1
+ const _0x4385d3=_0x4d0f;function _0x5226(){const _0xae0eba=['Collaboration\x20room\x20is\x20full.\x20You\x20edits\x20would\x20be\x20saved\x20locally.','2168koQAXU','10pHdYKg','There\x20is\x20a\x20conflict\x20between\x20your\x20local\x20copy\x20and\x20the\x20copy\x20on\x20the\x20server.\x20Please\x20save\x20your\x20local\x20edits,\x20because\x20they\x20will\x20be\x20lost\x20when\x20you\x20reload\x20the\x20page.','The\x20server\x20is\x20not\x20responding\x20to\x20your\x20collaboration\x20request.\x20Your\x20edits\x20would\x20be\x20saved\x20locally.','Connection\x20failed,\x20we\x20retry\x20in\x20a\x20while.','Your\x20actions\x20are\x20conflicting\x20with\x20the\x20server\x27s\x20permissions.\x20Please\x20save\x20your\x20local\x20edits\x20elsewhere\x20as\x20they\x20will\x20be\x20discarded\x20after\x20refreshing\x20the\x20page.','10rZPsjU','Your\x20login\x20has\x20expired,\x20click\x20OK\x20to\x20re-login,\x20click\x20Cancel\x20to\x20save\x20your\x20local\x20edits.','4092750ljbwxA','7135212RSsHdS','279466NShXBU','3189435SEEDjH','3358852YGseHY','Syncing...','22127giGlal','Collaboration\x20Conflict','Offline,\x20edits\x20would\x20be\x20save\x20on\x20local','Authentication\x20Error','12262716RhyGdK'];_0x5226=function(){return _0xae0eba;};return _0x5226();}(function(_0x360270,_0x3df72d){const _0x446b70=_0x4d0f,_0x491612=_0x360270();while(!![]){try{const _0x1c3d17=parseInt(_0x446b70(0x129))/0x1*(parseInt(_0x446b70(0x12d))/0x2)+-parseInt(_0x446b70(0x12b))/0x3+parseInt(_0x446b70(0x12f))/0x4+-parseInt(_0x446b70(0x12e))/0x5+parseInt(_0x446b70(0x12c))/0x6+-parseInt(_0x446b70(0x131))/0x7*(-parseInt(_0x446b70(0x123))/0x8)+-parseInt(_0x446b70(0x135))/0x9*(parseInt(_0x446b70(0x124))/0xa);if(_0x1c3d17===_0x3df72d)break;else _0x491612['push'](_0x491612['shift']());}catch(_0x2c55da){_0x491612['push'](_0x491612['shift']());}}}(_0x5226,0xe02c7));function _0x4d0f(_0x1afe03,_0xcb9064){const _0x52266d=_0x5226();return _0x4d0f=function(_0x4d0ff4,_0x2adee9){_0x4d0ff4=_0x4d0ff4-0x122;let _0x436f73=_0x52266d[_0x4d0ff4];return _0x436f73;},_0x4d0f(_0x1afe03,_0xcb9064);}const e={'collab-client':{'tooltip':{'reconnect':'Click\x20to\x20Reconnect'}},'collabStatus':{'fetchMiss':'Syncing\x20server\x20data...','conflict':'Edit\x20conflicts','notCollab':'Local\x20file','synced':'Synced','syncing':_0x4385d3(0x130),'offline':_0x4385d3(0x133)},'session':{'connection-failed':'Connection\x20failed,\x20please\x20check\x20your\x20network.','will-retry':_0x4385d3(0x127),'room-full':_0x4385d3(0x122),'collaboration-timeout':_0x4385d3(0x126)},'conflict':{'title':_0x4385d3(0x132),'content':_0x4385d3(0x125)},'permission':{'title':_0x4385d3(0x134),'content':_0x4385d3(0x128)},'collaboration':{'single-unit':{'warning':'You\x20opened\x20the\x20same\x20file\x20in\x20another\x20tab.\x20In\x20case\x20of\x20data\x20missing,\x20you\x20cannot\x20edit\x20on\x20this\x20tab.'},'closeRoom':'Editing\x20privileges\x20were\x20revoked\x20because\x20the\x20collaborative\x20room\x20was\x20closed.'},'auth':{'needGotoLoginAlert':_0x4385d3(0x12a)}},o=e;export{o as default};
@@ -0,0 +1 @@
1
+ function _0x3928(){const _0x59ae55=['点击重新连接','权限错误','协同冲突','4830036qyjnDr','连接失败,将在一会儿之后重试连接','本地文件','638870WbDyjB','已离线,编辑将在本地缓存','3934930SsUzHd','22rWzFPC','172064luhJuQ','189QyZTIz','你的操作和服务器的权限存在冲突。请在别处保存你的本地编辑,本地编辑将在刷新页面后丢弃。','保存中...','1TIjyZO','1040478RJEZmu','你的登录已过期,点击确认重新登陆,点击取消去保存你的本地编辑。','协同房间已满,你的编辑将在本地缓存','2337546kfRqDA','服务器未响应,你的编辑将在本地缓存','你的本地文档和服务器的文档存在冲突。请在别处保存你的本地编辑,本地编辑将在刷新页面后丢弃。','7PagMGl','31905pmtDrb','108tQqukz'];_0x3928=function(){return _0x59ae55;};return _0x3928();}function _0x2925(_0x22e405,_0x327e02){const _0x392872=_0x3928();return _0x2925=function(_0x292501,_0x4aecd8){_0x292501=_0x292501-0x74;let _0x4a2063=_0x392872[_0x292501];return _0x4a2063;},_0x2925(_0x22e405,_0x327e02);}const _0x250417=_0x2925;(function(_0x3606f6,_0x37ab41){const _0xfcbc5d=_0x2925,_0x20739a=_0x3606f6();while(!![]){try{const _0x24e863=-parseInt(_0xfcbc5d(0x79))/0x1*(-parseInt(_0xfcbc5d(0x89))/0x2)+-parseInt(_0xfcbc5d(0x7a))/0x3+parseInt(_0xfcbc5d(0x82))/0x4*(-parseInt(_0xfcbc5d(0x81))/0x5)+parseInt(_0xfcbc5d(0x7d))/0x6*(parseInt(_0xfcbc5d(0x80))/0x7)+-parseInt(_0xfcbc5d(0x75))/0x8*(-parseInt(_0xfcbc5d(0x76))/0x9)+parseInt(_0xfcbc5d(0x8b))/0xa+parseInt(_0xfcbc5d(0x74))/0xb*(-parseInt(_0xfcbc5d(0x86))/0xc);if(_0x24e863===_0x37ab41)break;else _0x20739a['push'](_0x20739a['shift']());}catch(_0x4704f5){_0x20739a['push'](_0x20739a['shift']());}}}(_0x3928,0x382b4));const o={'collab-client':{'tooltip':{'reconnect':_0x250417(0x83)}},'collabStatus':{'fetchMiss':'正在拉取服务端数据...','conflict':'编辑冲突','notCollab':_0x250417(0x88),'synced':'已同步','syncing':_0x250417(0x78),'offline':_0x250417(0x8a)},'session':{'connection-failed':'连接失败,请检查你的网络','will-retry':_0x250417(0x87),'room-full':_0x250417(0x7c),'collaboration-timeout':_0x250417(0x7e)},'conflict':{'title':_0x250417(0x85),'content':_0x250417(0x7f)},'permission':{'title':_0x250417(0x84),'content':_0x250417(0x77)},'collaboration':{'single-unit':{'warning':'你在另一个标签页打开了同一个文件。为了避免数据丢失,这个标签页的编辑行为将会被限制。'},'closeRoom':'由于协同房间被关闭,编辑权限被收回。'},'auth':{'needGotoLoginAlert':_0x250417(0x7b)}};export{o as default};
@@ -0,0 +1 @@
1
+ const _0xde1a2b=_0x146c;(function(_0x363ada,_0x50426c){const _0x571cab=_0x146c,_0x5bd4fe=_0x363ada();while(!![]){try{const _0x502f0c=parseInt(_0x571cab(0x1b5))/0x1+parseInt(_0x571cab(0x1a8))/0x2*(parseInt(_0x571cab(0x1b3))/0x3)+parseInt(_0x571cab(0x1ae))/0x4+-parseInt(_0x571cab(0x1a9))/0x5*(-parseInt(_0x571cab(0x1b2))/0x6)+-parseInt(_0x571cab(0x1a7))/0x7*(parseInt(_0x571cab(0x1be))/0x8)+parseInt(_0x571cab(0x1bb))/0x9*(-parseInt(_0x571cab(0x1b0))/0xa)+-parseInt(_0x571cab(0x1b1))/0xb;if(_0x502f0c===_0x50426c)break;else _0x5bd4fe['push'](_0x5bd4fe['shift']());}catch(_0x4257d7){_0x5bd4fe['push'](_0x5bd4fe['shift']());}}}(_0x4da9,0xda28b));const e={'collab-client':{'tooltip':{'reconnect':'Click\x20to\x20Reconnect'}},'collabStatus':{'fetchMiss':_0xde1a2b(0x1bd),'conflict':_0xde1a2b(0x1b6),'notCollab':_0xde1a2b(0x1af),'synced':_0xde1a2b(0x1b8),'syncing':'Syncing...','offline':_0xde1a2b(0x1ac)},'session':{'connection-failed':'Connection\x20failed,\x20please\x20check\x20your\x20network.','will-retry':_0xde1a2b(0x1ba),'room-full':_0xde1a2b(0x1bf),'collaboration-timeout':_0xde1a2b(0x1b7)},'conflict':{'title':_0xde1a2b(0x1b4),'content':'There\x20is\x20a\x20conflict\x20between\x20your\x20local\x20copy\x20and\x20the\x20copy\x20on\x20the\x20server.\x20Please\x20save\x20your\x20local\x20edits,\x20because\x20they\x20will\x20be\x20lost\x20when\x20you\x20reload\x20the\x20page.'},'permission':{'title':_0xde1a2b(0x1b9),'content':_0xde1a2b(0x1aa)},'collaboration':{'single-unit':{'warning':_0xde1a2b(0x1ad)},'closeRoom':_0xde1a2b(0x1ab)},'auth':{'needGotoLoginAlert':_0xde1a2b(0x1bc)}},o=e;function _0x146c(_0x5ab067,_0x4080f0){const _0x4da95c=_0x4da9();return _0x146c=function(_0x146ca2,_0x428ea1){_0x146ca2=_0x146ca2-0x1a7;let _0x2a8428=_0x4da95c[_0x146ca2];return _0x2a8428;},_0x146c(_0x5ab067,_0x4080f0);}function _0x4da9(){const _0x2bde04=['Collaboration\x20room\x20is\x20full.\x20You\x20edits\x20would\x20be\x20saved\x20locally.','147tzRXSX','11498VuuUSX','7507105plABRa','Your\x20actions\x20are\x20conflicting\x20with\x20the\x20server\x27s\x20permissions.\x20Please\x20save\x20your\x20local\x20edits\x20elsewhere\x20as\x20they\x20will\x20be\x20discarded\x20after\x20refreshing\x20the\x20page.','Editing\x20privileges\x20were\x20revoked\x20because\x20the\x20collaborative\x20room\x20was\x20closed.','Offline,\x20edits\x20would\x20be\x20save\x20on\x20local','You\x20opened\x20the\x20same\x20file\x20in\x20another\x20tab.\x20In\x20case\x20of\x20data\x20missing,\x20you\x20cannot\x20edit\x20on\x20this\x20tab.','5413908gaiuAh','Local\x20file','197510tekUIE','64922MhiSkJ','6ZmJWyC','138kugpGk','Collaboration\x20Conflict','216888noiinT','Edit\x20conflicts','The\x20server\x20is\x20not\x20responding\x20to\x20your\x20collaboration\x20request.\x20Your\x20edits\x20would\x20be\x20saved\x20locally.','Synced','Authentication\x20Error','Connection\x20failed,\x20we\x20retry\x20in\x20a\x20while.','810AYIkcH','Your\x20login\x20has\x20expired,\x20click\x20OK\x20to\x20re-login,\x20click\x20Cancel\x20to\x20save\x20your\x20local\x20edits.','Syncing\x20server\x20data...','251112CEbaOW'];_0x4da9=function(){return _0x2bde04;};return _0x4da9();}export{o as default};
@@ -23,6 +23,7 @@ export declare const DEFAULT_SEND_CHANGESET_TIMEOUT = 2000;
23
23
  /** @deprecated Will be removed in the 0.2.19 release */
24
24
  export declare const COLLAB_WEB_SOCKET_URL_KEY = "COLLAB_WEB_SOCKET_URL";
25
25
  export declare const DEFAULT_COLLAB_WEB_SOCKET_URL = "ws://127.0.0.1:8000/universer-api/comb/connect";
26
+ export declare const DEFAULT_WS_SESSION_TICKET_URL = "/universer-api/user/session-ticket";
26
27
  /** The heartbeat interval in milliseconds. */
27
28
  export declare const HEARTBEAT_INTERVAL_KEY = "HEARTBEAT_INTERVAL";
28
29
  export declare const DEFAULT_HEARTBEAT_INTERVAL = 30000;
@@ -1,9 +1,10 @@
1
1
  import { IDisposable, ILocalStorageService, Nullable, ILogService } from '@univerjs/core';
2
2
  import { IMessageOptions, IMessageProps } from '@univerjs/design';
3
+ import { HTTPResponse } from '@univerjs/network';
3
4
  import { IBeforeCloseService, IMessageService, INotificationService } from '@univerjs/ui';
4
5
  import { ICombResponseEvent } from '@univerjs-pro/collaboration';
5
- import { Subject } from 'rxjs';
6
6
  import { ICollaborationSocket, ICollaborationSocketService } from '../../../services/socket/collaboration-socket.service';
7
+ import { Subject } from 'rxjs';
7
8
  /**
8
9
  * The handler object for a mocked socket connection. You can terminate, send messages / error through this object.
9
10
  */
@@ -52,3 +53,6 @@ export declare class MockMessageService implements IMessageService {
52
53
  export declare class MockNotificationService implements INotificationService {
53
54
  show(): IDisposable;
54
55
  }
56
+ export declare class MockHTTPService {
57
+ get(url: string): Promise<HTTPResponse<any>>;
58
+ }
@@ -15,6 +15,10 @@ export interface IUniverCollaborationClientConfig {
15
15
  snapshotServerUrl?: string;
16
16
  collabSubmitChangesetUrl?: string;
17
17
  collabWebSocketUrl?: string;
18
+ /**
19
+ * The URL of the endpoint for getting the websocket session ticket.
20
+ */
21
+ wsSessionTicketUrl?: string;
18
22
  loginUrlKey?: string;
19
23
  retryConnectingInterval?: number;
20
24
  authzUrl?: string;
@@ -16,6 +16,7 @@ export { UniverCollaborationClientPlugin } from './plugin';
16
16
  export { CollaborationSessionService } from './services/collaboration-session/collaboration-session.service';
17
17
  export { CollaborationSession, SessionStatus } from './services/collaboration-session/collaboration-session';
18
18
  export type { ICollaborationSocket } from './services/socket/collaboration-socket.service';
19
+ export { type IUniverCollaborationClientConfig } from './controllers/config.schema';
19
20
  export { CollaborationSocketService, ICollaborationSocketService, } from './services/socket/collaboration-socket.service';
20
21
  export { LocalCacheService } from './services/local-cache/local-cache.service';
21
22
  export { IURLService } from './services/url/url.service';
@@ -1,5 +1,6 @@
1
1
  import { Nullable, Disposable, IConfigService, ILogService, Injector, LocaleService } from '@univerjs/core';
2
2
  import { ICollaborationSocket, ICollaborationSocketService } from '../socket/collaboration-socket.service';
3
+ import { HTTPService } from '@univerjs/network';
3
4
  import { IMessageService } from '@univerjs/ui';
4
5
  import { CollaborationSession, SessionStatus } from './collaboration-session';
5
6
  /**
@@ -13,6 +14,7 @@ export declare class CollaborationSessionService extends Disposable {
13
14
  private readonly _logService;
14
15
  private readonly _configService;
15
16
  private readonly _socketService;
17
+ private readonly _httpService;
16
18
  /**
17
19
  * Socket for collaboration sessions. Session are by unitID but the socket is share by collaboration sessions.
18
20
  */
@@ -26,7 +28,7 @@ export declare class CollaborationSessionService extends Disposable {
26
28
  private _socketReady;
27
29
  private _retryConnectingTimer;
28
30
  private _retryCount;
29
- constructor(_injector: Injector, _localeService: LocaleService, _messageService: IMessageService, _logService: ILogService, _configService: IConfigService, _socketService: ICollaborationSocketService);
31
+ constructor(_injector: Injector, _localeService: LocaleService, _messageService: IMessageService, _logService: ILogService, _configService: IConfigService, _socketService: ICollaborationSocketService, _httpService: HTTPService);
30
32
  private _initEventListeners;
31
33
  dispose(): void;
32
34
  /**
@@ -37,6 +39,18 @@ export declare class CollaborationSessionService extends Disposable {
37
39
  requireSession(unitID: string): Promise<CollaborationSession>;
38
40
  closeSession(unitID: string): void;
39
41
  reconnect(): void;
42
+ private _getSessionTicket;
43
+ private _createSocketURL;
44
+ /**
45
+ * Authentication flow for WebSocket connections:
46
+ * 1. Get one-time session ticket via HTTP request
47
+ * 2. Connect WebSocket with ticket as URL parameter
48
+ *
49
+ * Benefits:
50
+ * - Bypasses cookie-based auth restrictions
51
+ * - Supports custom auth headers
52
+ * - Uses secure one-time ticket validation
53
+ */
40
54
  private _createSocket;
41
55
  /**
42
56
  * Try to establish connection to the collaboration server.