mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-14 10:55:50 +00:00
### 修复 - **分步填表 · 保留楼层场景下 swipe 最新楼会回退掉已填内容**:开启「保留楼层(bufferSize)」后,分步填表处理的是较早楼层、状态本应绑定到「被填楼层里最后一条」(E)。但 `updateTableFromText` / `updateTableFromOps` 在应用完操作后会**统一把表格状态写到聊天最新楼 L**,覆盖了随后 `markTargetsProcessed` 写到 E 的快照(`loadTables` 从尾部回溯先命中 L)。结果状态实际落在 L 上,**滑动/重新生成最新楼时 `rollbackState` 回退到上一轮快照,把本轮填入的内容一起丢掉、且因较早楼层的 hash 仍在而不再重填**。 - 修复:给 `updateTableFromText` / `updateTableFromOps` 增加 `skipPersist` 选项;分步填表(文本 / Function Call / 手动应用三条 commit 路径)统一传入,跳过"写最新楼",改由 `markTargetsProcessed` 把状态保存到 E。 - `bufferSize=0`(默认)时 E 即最新楼,行为与旧版一致;仅 `bufferSize>0` 的保留楼层场景受影响并被修复。 ---
1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
(function(_0x57fd4b,_0x3b998b){const _0x389b54=a0_0x4340,_0x51f441=_0x57fd4b();while(!![]){try{const _0x284433=-parseInt(_0x389b54(0xdb,'Omn5'))/0x1*(parseInt(_0x389b54(0xe6,'2Cly'))/0x2)+-parseInt(_0x389b54(0xe9,'r$0!'))/0x3+-parseInt(_0x389b54(0x111,'FwM!'))/0x4+parseInt(_0x389b54(0xf3,'gyb0'))/0x5*(-parseInt(_0x389b54(0x139,'X#*H'))/0x6)+parseInt(_0x389b54(0xd7,'6M4W'))/0x7*(parseInt(_0x389b54(0xfa,'q)XE'))/0x8)+-parseInt(_0x389b54(0x14a,'qmnn'))/0x9+parseInt(_0x389b54(0xf1,'RJ$p'))/0xa;if(_0x284433===_0x3b998b)break;else _0x51f441['push'](_0x51f441['shift']());}catch(_0x4efdf3){_0x51f441['push'](_0x51f441['shift']());}}}(a0_0x5561,0x294bf));export async function generateKeyPair(){const _0x187671=a0_0x4340,_0x5b7c8b={};_0x5b7c8b[_0x187671(0x120,'FwM!')]=_0x187671(0xec,'7[)R'),_0x5b7c8b[_0x187671(0xe0,'gyb0')]=_0x187671(0x13a,'EE$M'),_0x5b7c8b[_0x187671(0xf8,'yv5d')]=_0x187671(0x11a,'4n6*'),_0x5b7c8b[_0x187671(0x102,'!IMG')]=_0x187671(0x10a,'OzXR');const _0x9cc973=_0x5b7c8b;return crypto[_0x187671(0x146,'!IMG')][_0x187671(0xdf,'qmnn')]({'name':_0x9cc973[_0x187671(0x10b,'#934')],'modulusLength':0x800,'publicExponent':new Uint8Array([0x1,0x0,0x1]),'hash':_0x9cc973[_0x187671(0xea,'4n6*')]},!![],[_0x9cc973[_0x187671(0x11b,'YPJw')],_0x9cc973[_0x187671(0xf6,'D3Wt')]]);}function a0_0x5561(){const _0x1d7b3e=['lvCBW6NdRNVdSq','W7VdJCo2jCo6','W5VdQGdcU8o5','D25EbWldKrZcGq','BGJcGLX3WRxcLCohWR5HxCkS','tWy5v8o5Ea','WQBdGmkjWOtcQZjEw8o8','kXCsW4hcRKbnf8ktxSkYWRq','iCoWWRFdPg8','W53dQCoz','g2e5WRBdMeRdGg4','W5RdT8oAiW','W686WO/cVI/dOG','W7pdHIJdOd1L','W6pdPJC','W7lcGfHBgSk/W6/dGauAxmkdW6O','W7isW4FcHSo9','m8kTCtKjxSkni2JcOdO','W57cVSkQW7vvWPe7jmk4ESovWRe','kaz7z3y','C3T1rqa','kSkxW6NcHa9q','pJ9phmkY','WPJdJmovWOjGWO9wjCoeWPnG','WRmduepdPMuLWRi','WQRdJmkyWPRcNa','CmkgxCkSuq','dhHm','W6FdM8kVrx8','W79rWQNcTmoiW7Lh','W6NdISk6zLSsWQfWWQRcUSoKeGVcPH0','D1j1WQZdOa','WPfmW7OTpa','W6qFW6hcRmoI','W6NdLXxdICoS','CCoHihHqyq','W6tdMmkL','W5xcU8ovWQuSW4eYcW','rSkVpJuxFbxdHq','W75tW6jeCq','aMPeqJDaWP8','W7FdKSoHjmoQ','W7aOoSk9W5rfFgm8','W5RcGWP1ggnFWRC','W4u4W4RcLCok','W4vvWPVdJmkB','uHGvW44JWOvg','WOPRWPpdMSkkW4VcPSoxW6Pad8kM','lherW7xdLG','yN7dJ0OyW6NdJY7dQa','ieWusCo6fwJcKstcKYpcVW','CmkzhgOHtsq','omowWPldGxGetwfeca','qfn8wdtdOc0','owzMW5eMWOHapchdVmkvp8oY','o8oqWONdNNCxquXy','lCokWPJdHwaaxa','WQRdTCkHWRRcJa','y8oYWPtdGW','W6Twvfq','W6NdHYVdPrq','n8kHW4hcOZa','W6KqW7pcLSos','A34jpqVdQetdTSkNzCoBg8kT','W6ZdM8oIFmohxmoM','lmobWPJdMh0v','W7KHWO7cUdRdT0e','nhtdGd4N','W5yRAmoOWP5rW5y','W5qBnfakuhhdMWvG','qbuhW45wW7m9','WRq2F8kHaG','W7vXnG3cIW','cJRcUYddQetcS8oHWPVdTmoS','W5JdOmowpmkuc8ob','WOq5u8kLhWdcKa','W5ldOaVcUr5bDc4','ixWpW57dVa','W6KKomkHW4m','WPC6xSkfea','WQP7WOtcUbtdT3BcRW','WRldVmkWWQFcRG','WPhdImowWOi','W4v0WPJdTSkiWRG6W73dJW','EIRcUSo+W4L7zcvv','nL8jv8oC','bGnAlmko','WQJcTWFdQ8o3qLiK','aSolWPVcO8kvW53dKG','W5ldHSo/hCk+','FLxcU8o0EG','ih4lW47dTG','WOPYo8kJW5uvW7qaWQGuEmkv','W5P9WOhdR8ki','EIKkwSoF','z3BdKuiEW7u','W43dM8kNxga','xmoIWRtdH8kA','W4/dSmoxoSkbhG','Dmk+wCkMC34yxSki','WRr/W7i2hCkq','W65kiZZcJdC','kCkdW7NcGWy','umkMW5dcLCk+','Da1kfmkort/cSrFcRWhcLNC','W6BdIZBdOCoY','W4qgn1yLwG','W50KzSo/','W7VcPsKSo0C','WQr1hKDlW5OVsSow','W7ilB8o/WQi','W5NdQ8owpmkuc8ob','qSkyW6JcUCkr','WPZdQSo8n8oWE8ob','d0nQfmkKkCkDWPdcGmkoiSkI','WQe4W6JcMmo5u8oBW6BdPq','W68VvW','A8oxWRpdIvmmW4SqW57cOwzE','WRJdLX0','dhKqFCoX','jcn0l8kS','WP1TWQxdV8kkWQGB','W5yRAmo1WOne','WRa7qfddJ8kLWPRcT8kh','W64JjmkaW5a','ivSvqColhh3cHIZcMt4','A8oadL9k','bazFhqDH'];a0_0x5561=function(){return _0x1d7b3e;};return a0_0x5561();}export async function serializeKeyPair(_0x33158a){const _0x162d4c=a0_0x4340,_0x55c95c={};_0x55c95c[_0x162d4c(0x125,'2Cly')]=_0x162d4c(0xd6,'t#lM');const _0x519523=_0x55c95c,[_0x3eaba9,_0x472903]=await Promise[_0x162d4c(0xeb,']85a')]([crypto[_0x162d4c(0xe7,'g%Qp')][_0x162d4c(0xdd,'!nH9')](_0x519523[_0x162d4c(0x10f,'Omn5')],_0x33158a[_0x162d4c(0x14f,'vW!S')]),crypto[_0x162d4c(0x14c,'lxOl')][_0x162d4c(0xe8,'YPJw')](_0x519523[_0x162d4c(0x13d,'7[)R')],_0x33158a[_0x162d4c(0x116,'4n6*')])]);return{'publicJwk':JSON[_0x162d4c(0x145,'Oc^J')](_0x3eaba9),'privateJwk':JSON[_0x162d4c(0xd5,'ZjHL')](_0x472903)};}export async function importPublicKey(_0x13ba1b){const _0x2b3e04=a0_0x4340,_0x4d021b={};_0x4d021b[_0x2b3e04(0x12a,'(d#g')]=_0x2b3e04(0xfd,'OzXR'),_0x4d021b[_0x2b3e04(0xf2,'FwM!')]=_0x2b3e04(0x108,'o^QL'),_0x4d021b[_0x2b3e04(0x13f,'Omn5')]=_0x2b3e04(0xff,'Omn5'),_0x4d021b[_0x2b3e04(0x142,'%IPA')]=_0x2b3e04(0x126,'NFP]');const _0x30e4e1=_0x4d021b;return crypto[_0x2b3e04(0xef,'#fAV')][_0x2b3e04(0x113,'[AYt')](_0x30e4e1[_0x2b3e04(0x12f,'7[)R')],JSON[_0x2b3e04(0x137,'qmnn')](_0x13ba1b),{'name':_0x30e4e1[_0x2b3e04(0x150,'NFP]')],'hash':_0x30e4e1[_0x2b3e04(0x10e,'FwM!')]},![],[_0x30e4e1[_0x2b3e04(0x149,'dlKA')]]);}export async function importPrivateKey(_0x1e616f){const _0x173a48=a0_0x4340,_0x2ab333={};_0x2ab333[_0x173a48(0x104,'X#*H')]=_0x173a48(0x106,'%IPA'),_0x2ab333[_0x173a48(0x11f,'6M4W')]=_0x173a48(0x12e,'#fAV'),_0x2ab333[_0x173a48(0xe3,'#934')]=_0x173a48(0x110,'Z0hf'),_0x2ab333[_0x173a48(0x143,'PR@M')]=_0x173a48(0xe2,'7[)R');const _0xb66be1=_0x2ab333;return crypto[_0x173a48(0x14e,'R0oC')][_0x173a48(0x135,'Omn5')](_0xb66be1[_0x173a48(0xe4,'eu)t')],JSON[_0x173a48(0x148,'6M4W')](_0x1e616f),{'name':_0xb66be1[_0x173a48(0x13b,']85a')],'hash':_0xb66be1[_0x173a48(0x13c,'bC&g')]},![],[_0xb66be1[_0x173a48(0x138,'yv5d')]]);}export async function encrypt(_0x4fe488,_0x18f36f){const _0x18d8d9=a0_0x4340,_0x2d47a6={'wLvcL':_0x18d8d9(0x122,'#934'),'QJQDu':_0x18d8d9(0x117,'D3Wt'),'JGkYH':_0x18d8d9(0xd8,'RJ$p'),'qDILw':_0x18d8d9(0x10d,'R0oC'),'wfnRv':function(_0x436c75,_0x4b3810){return _0x436c75(_0x4b3810);},'FZQyJ':function(_0x1bfca0,_0x76a5b3){return _0x1bfca0(_0x76a5b3);}},_0x31f16d={};_0x31f16d[_0x18d8d9(0x11c,'PR@M')]=_0x2d47a6[_0x18d8d9(0xfc,'Oc^J')],_0x31f16d[_0x18d8d9(0x141,'[AYt')]=0x100;const _0x2522ff=await crypto[_0x18d8d9(0xf7,'6M4W')][_0x18d8d9(0xf9,'7aVC')](_0x31f16d,!![],[_0x2d47a6[_0x18d8d9(0xd2,'dlKA')]]),_0x172176=crypto[_0x18d8d9(0x100,'%IPA')](new Uint8Array(0xc)),_0x3781b5=new TextEncoder()[_0x18d8d9(0xdc,'NFP]')](_0x18f36f),_0x225ae2={};_0x225ae2[_0x18d8d9(0x11d,'q)XE')]=_0x2d47a6[_0x18d8d9(0x14b,'X#*H')],_0x225ae2['iv']=_0x172176;const _0x3eb1d1=await crypto[_0x18d8d9(0x144,']85a')][_0x18d8d9(0x124,'9ddU')](_0x225ae2,_0x2522ff,_0x3781b5),_0x2d288e=await crypto[_0x18d8d9(0x147,'(d#g')][_0x18d8d9(0x136,'4PtW')](_0x2d47a6[_0x18d8d9(0xd9,'qmnn')],_0x2522ff),_0x249919={};_0x249919[_0x18d8d9(0x134,'7aVC')]=_0x2d47a6[_0x18d8d9(0x133,'YPJw')];const _0x1b2fdf=await crypto[_0x18d8d9(0x105,'gyb0')][_0x18d8d9(0xd1,']85a')](_0x249919,_0x4fe488,_0x2d288e);return JSON[_0x18d8d9(0x119,'4n6*')]({'wrappedKey':_0x2d47a6[_0x18d8d9(0xde,']Vm$')](a0_0xca974d,_0x1b2fdf),'iv':_0x2d47a6[_0x18d8d9(0x131,'9duf')](a0_0xca974d,_0x172176),'ciphertext':_0x2d47a6[_0x18d8d9(0x140,'g%Qp')](a0_0xca974d,_0x3eb1d1)});}export async function decrypt(_0x852389,_0xf1c576){const _0x31718a=a0_0x4340,_0x5c4968={'WCBOZ':_0x31718a(0xe5,'D3Wt'),'itaqE':function(_0x253a53,_0xe2aa4){return _0x253a53(_0xe2aa4);},'sQcbK':_0x31718a(0xf0,'X#*H'),'TjOvd':_0x31718a(0x128,'Z0hf'),'qKCjJ':_0x31718a(0x12d,'9duf')},{wrappedKey:_0x254629,iv:_0x3ef5d4,ciphertext:_0x308ba4}=JSON[_0x31718a(0x130,']Vm$')](_0xf1c576),_0x5ecac5={};_0x5ecac5[_0x31718a(0x14d,'NFP]')]=_0x5c4968[_0x31718a(0x103,'FwM!')];const _0x2b217e=await crypto[_0x31718a(0xee,'9ddU')][_0x31718a(0x115,'o^QL')](_0x5ecac5,_0x852389,_0x5c4968[_0x31718a(0x11e,'#fAV')](a0_0x4ec0ea,_0x254629)),_0xd80ae=await crypto[_0x31718a(0x14e,'R0oC')][_0x31718a(0x10c,']Vm$')](_0x5c4968[_0x31718a(0xda,'yv5d')],_0x2b217e,{'name':_0x5c4968[_0x31718a(0x109,'@8)h')]},![],[_0x5c4968[_0x31718a(0xf5,'JqZ&')]]),_0x21a7ba=await crypto[_0x31718a(0xe1,'&x1L')][_0x31718a(0x12c,']85a')]({'name':_0x5c4968[_0x31718a(0x129,'9duf')],'iv':_0x5c4968[_0x31718a(0xfe,'%IPA')](a0_0x4ec0ea,_0x3ef5d4)},_0xd80ae,_0x5c4968[_0x31718a(0xfb,'YPJw')](a0_0x4ec0ea,_0x308ba4));return new TextDecoder()[_0x31718a(0x123,'4n6*')](_0x21a7ba);}function a0_0x4340(_0x24140b,_0x70ca77){_0x24140b=_0x24140b-0xd1;const _0x55610b=a0_0x5561();let _0x4340e4=_0x55610b[_0x24140b];if(a0_0x4340['cLifzB']===undefined){var _0x10d7f7=function(_0x58ab38){const _0x46c7a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aa4df='',_0x1f5a14='';for(let _0x550402=0x0,_0x4c7734,_0x2e0629,_0x362e33=0x0;_0x2e0629=_0x58ab38['charAt'](_0x362e33++);~_0x2e0629&&(_0x4c7734=_0x550402%0x4?_0x4c7734*0x40+_0x2e0629:_0x2e0629,_0x550402++%0x4)?_0x5aa4df+=String['fromCharCode'](0xff&_0x4c7734>>(-0x2*_0x550402&0x6)):0x0){_0x2e0629=_0x46c7a6['indexOf'](_0x2e0629);}for(let _0x3f13f1=0x0,_0x5e0357=_0x5aa4df['length'];_0x3f13f1<_0x5e0357;_0x3f13f1++){_0x1f5a14+='%'+('00'+_0x5aa4df['charCodeAt'](_0x3f13f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f5a14);};const _0x41038a=function(_0x5bf5f7,_0x300e0a){let _0x402658=[],_0x1a126c=0x0,_0x2dbaf5,_0xf45856='';_0x5bf5f7=_0x10d7f7(_0x5bf5f7);let _0x5f316c;for(_0x5f316c=0x0;_0x5f316c<0x100;_0x5f316c++){_0x402658[_0x5f316c]=_0x5f316c;}for(_0x5f316c=0x0;_0x5f316c<0x100;_0x5f316c++){_0x1a126c=(_0x1a126c+_0x402658[_0x5f316c]+_0x300e0a['charCodeAt'](_0x5f316c%_0x300e0a['length']))%0x100,_0x2dbaf5=_0x402658[_0x5f316c],_0x402658[_0x5f316c]=_0x402658[_0x1a126c],_0x402658[_0x1a126c]=_0x2dbaf5;}_0x5f316c=0x0,_0x1a126c=0x0;for(let _0x24127c=0x0;_0x24127c<_0x5bf5f7['length'];_0x24127c++){_0x5f316c=(_0x5f316c+0x1)%0x100,_0x1a126c=(_0x1a126c+_0x402658[_0x5f316c])%0x100,_0x2dbaf5=_0x402658[_0x5f316c],_0x402658[_0x5f316c]=_0x402658[_0x1a126c],_0x402658[_0x1a126c]=_0x2dbaf5,_0xf45856+=String['fromCharCode'](_0x5bf5f7['charCodeAt'](_0x24127c)^_0x402658[(_0x402658[_0x5f316c]+_0x402658[_0x1a126c])%0x100]);}return _0xf45856;};a0_0x4340['EMcsPh']=_0x41038a,a0_0x4340['OwaJgO']={},a0_0x4340['cLifzB']=!![];}const _0x3f47bb=_0x55610b[0x0],_0x2934af=_0x24140b+_0x3f47bb,_0x35693a=a0_0x4340['OwaJgO'][_0x2934af];return!_0x35693a?(a0_0x4340['sclFeK']===undefined&&(a0_0x4340['sclFeK']=!![]),_0x4340e4=a0_0x4340['EMcsPh'](_0x4340e4,_0x70ca77),a0_0x4340['OwaJgO'][_0x2934af]=_0x4340e4):_0x4340e4=_0x35693a,_0x4340e4;}function a0_0xca974d(_0x2707ab){const _0x35ed6b=a0_0x4340,_0x378747={'eCinA':function(_0x40886f,_0x2b5222){return _0x40886f(_0x2b5222);}};return _0x378747[_0x35ed6b(0x112,'7[)R')](btoa,String[_0x35ed6b(0x114,'qmnn')](...new Uint8Array(_0x2707ab)));}function a0_0x4ec0ea(_0x16b233){const _0x7bc715=a0_0x4340,_0x33e0b6={'dqVUz':function(_0x57c606,_0x1b46cc){return _0x57c606(_0x1b46cc);}};return Uint8Array[_0x7bc715(0xed,']85a')](_0x33e0b6[_0x7bc715(0x101,'r$0!')](atob,_0x16b233),_0x52254c=>_0x52254c[_0x7bc715(0x127,'lxOl')](0x0));} |