release: v2.2.7 [2026-06-14 17:27:47]

### 修复
- **分步填表 · 保留楼层场景下 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` 的保留楼层场景受影响并被修复。
---
This commit is contained in:
Jenkins CI
2026-06-14 17:27:47 +08:00
parent 2dad292d70
commit cc6618a493
8 changed files with 33 additions and 7 deletions

View File

@@ -1 +1 @@
function a0_0x4c31(_0x4bee5f,_0x496717){_0x4bee5f=_0x4bee5f-0x16d;const _0x388542=a0_0x3885();let _0x4c3149=_0x388542[_0x4bee5f];if(a0_0x4c31['ZDMnSF']===undefined){var _0x23d44d=function(_0x1d8643){const _0x127b22='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ad9dd='',_0x158ce3='';for(let _0x2912d0=0x0,_0x4789ba,_0x582c8e,_0x1b92c0=0x0;_0x582c8e=_0x1d8643['charAt'](_0x1b92c0++);~_0x582c8e&&(_0x4789ba=_0x2912d0%0x4?_0x4789ba*0x40+_0x582c8e:_0x582c8e,_0x2912d0++%0x4)?_0x2ad9dd+=String['fromCharCode'](0xff&_0x4789ba>>(-0x2*_0x2912d0&0x6)):0x0){_0x582c8e=_0x127b22['indexOf'](_0x582c8e);}for(let _0x402384=0x0,_0x4e4818=_0x2ad9dd['length'];_0x402384<_0x4e4818;_0x402384++){_0x158ce3+='%'+('00'+_0x2ad9dd['charCodeAt'](_0x402384)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x158ce3);};const _0x145b18=function(_0x246448,_0x11912a){let _0x12e36a=[],_0x56c407=0x0,_0x18865e,_0x2fca19='';_0x246448=_0x23d44d(_0x246448);let _0x320ce0;for(_0x320ce0=0x0;_0x320ce0<0x100;_0x320ce0++){_0x12e36a[_0x320ce0]=_0x320ce0;}for(_0x320ce0=0x0;_0x320ce0<0x100;_0x320ce0++){_0x56c407=(_0x56c407+_0x12e36a[_0x320ce0]+_0x11912a['charCodeAt'](_0x320ce0%_0x11912a['length']))%0x100,_0x18865e=_0x12e36a[_0x320ce0],_0x12e36a[_0x320ce0]=_0x12e36a[_0x56c407],_0x12e36a[_0x56c407]=_0x18865e;}_0x320ce0=0x0,_0x56c407=0x0;for(let _0x30f34e=0x0;_0x30f34e<_0x246448['length'];_0x30f34e++){_0x320ce0=(_0x320ce0+0x1)%0x100,_0x56c407=(_0x56c407+_0x12e36a[_0x320ce0])%0x100,_0x18865e=_0x12e36a[_0x320ce0],_0x12e36a[_0x320ce0]=_0x12e36a[_0x56c407],_0x12e36a[_0x56c407]=_0x18865e,_0x2fca19+=String['fromCharCode'](_0x246448['charCodeAt'](_0x30f34e)^_0x12e36a[(_0x12e36a[_0x320ce0]+_0x12e36a[_0x56c407])%0x100]);}return _0x2fca19;};a0_0x4c31['acniYk']=_0x145b18,a0_0x4c31['JEEKRR']={},a0_0x4c31['ZDMnSF']=!![];}const _0x6ec022=_0x388542[0x0],_0x154932=_0x4bee5f+_0x6ec022,_0x1a588f=a0_0x4c31['JEEKRR'][_0x154932];return!_0x1a588f?(a0_0x4c31['YHeDZF']===undefined&&(a0_0x4c31['YHeDZF']=!![]),_0x4c3149=a0_0x4c31['acniYk'](_0x4c3149,_0x496717),a0_0x4c31['JEEKRR'][_0x154932]=_0x4c3149):_0x4c3149=_0x1a588f,_0x4c3149;}const a0_0x16cc87=a0_0x4c31;(function(_0xd51fb6,_0x7b0f19){const _0x2b4e00=a0_0x4c31,_0xa7de71=_0xd51fb6();while(!![]){try{const _0x15978a=parseInt(_0x2b4e00(0x171,'@bOT'))/0x1*(-parseInt(_0x2b4e00(0x174,'xH1['))/0x2)+-parseInt(_0x2b4e00(0x179,'Qn8O'))/0x3+-parseInt(_0x2b4e00(0x176,'ZgZG'))/0x4+-parseInt(_0x2b4e00(0x184,'NNwJ'))/0x5+-parseInt(_0x2b4e00(0x183,'aUBI'))/0x6*(parseInt(_0x2b4e00(0x18a,'5n2T'))/0x7)+parseInt(_0x2b4e00(0x177,'014B'))/0x8*(-parseInt(_0x2b4e00(0x185,'jX1y'))/0x9)+parseInt(_0x2b4e00(0x189,'!OzC'))/0xa*(parseInt(_0x2b4e00(0x17e,'2pJk'))/0xb);if(_0x15978a===_0x7b0f19)break;else _0xa7de71['push'](_0xa7de71['shift']());}catch(_0x322320){_0xa7de71['push'](_0xa7de71['shift']());}}}(a0_0x3885,0x42fa0));export const SENSITIVE_KEYS=new Set([a0_0x16cc87(0x186,'NNwJ'),a0_0x16cc87(0x178,'v(4z'),a0_0x16cc87(0x188,'PZ7o'),a0_0x16cc87(0x17c,'2pJk'),a0_0x16cc87(0x187,'aUBI'),a0_0x16cc87(0x180,'82%$'),a0_0x16cc87(0x17a,'YPyP'),a0_0x16cc87(0x17b,'vE4D')]);function a0_0x3885(){const _0x2c73e8=['W4ypW5XcW7nzW6vlA8o+W5pcPLO','W4ldVuNcO8oXWOrZWQ97W7Whm8k8','WPvlWO0/WQav','W5mLW6zUW7rZmSoxWR/dNW','fCksiCkFWQnfW78qW43dMgVdRHnsBmkmm1lcMHS4W4dcGe8','WQOjDuldG8olW6O/B8khW5SuWQC9','WOmNjrf6pHBdS0hdLCo0WOu','o8oPpCk5FfDhFCkZbmkFW6XH','jIqUzmkbWQ0KW70','o8oTpCk8Evngs8klhSk/W5rG','WOqHt0SkysJdQW','c8kuWPBcIeeEpLWfBq','FCoSDr1ZCqVcRG','bCkue8oYW6HBWQtcOc7cLYlcLq','gmo4W7xcLeZdVmkQW6i','A1m9qCoqWOlcMGPDWQm','W7PAWQ9wnSoEW5uGdCooWO3dKq','C8k9s3/cRCohWPK','WOVcGSkyaSopW6pdRmomibVdRSoahZO','afGbW5tdMsddNSkYW7LidSkz','khzSW7RdSfj5W5SDW67dHG','l2mHWPjMW7JcIGCAW44','W5RcIr/cVSkmxCoEWO7cRs0','WQ0hFKBdGSocWR1wvSkdW7mM','WOxdNYhcOSkmq8oNWOq','W4ucW5zfW7vuW6W/tComW7VcRMzy','W7FcO0LoWOCjdSoaW6rv','DCkVW5JcVSkIAqZcGdRdUMBdTq','WOZcMbdcRmkMBSo+','WO52W4fLW55knmoD'];a0_0x3885=function(){return _0x2c73e8;};return a0_0x3885();}
const a0_0xb649e2=a0_0x375c;(function(_0x64334b,_0x15b67e){const _0x4e79ff=a0_0x375c,_0x2b2857=_0x64334b();while(!![]){try{const _0x4901eb=parseInt(_0x4e79ff(0x123,'2@lL'))/0x1+parseInt(_0x4e79ff(0x122,'0Kh&'))/0x2*(parseInt(_0x4e79ff(0x124,'o(#F'))/0x3)+-parseInt(_0x4e79ff(0x129,'376W'))/0x4+-parseInt(_0x4e79ff(0x11a,'Iv5i'))/0x5+parseInt(_0x4e79ff(0x12f,'W(LY'))/0x6+-parseInt(_0x4e79ff(0x12e,'NgGk'))/0x7+-parseInt(_0x4e79ff(0x121,'*K2g'))/0x8;if(_0x4901eb===_0x15b67e)break;else _0x2b2857['push'](_0x2b2857['shift']());}catch(_0x464eb2){_0x2b2857['push'](_0x2b2857['shift']());}}}(a0_0x1872,0xd8973));function a0_0x375c(_0xfe4ae7,_0x41e131){_0xfe4ae7=_0xfe4ae7-0x11a;const _0x1872bb=a0_0x1872();let _0x375c7d=_0x1872bb[_0xfe4ae7];if(a0_0x375c['bBaMZB']===undefined){var _0x434c9a=function(_0x2af3e1){const _0x53693e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x568539='',_0x5ae763='';for(let _0xcab226=0x0,_0x16a280,_0x5d9229,_0x12dc01=0x0;_0x5d9229=_0x2af3e1['charAt'](_0x12dc01++);~_0x5d9229&&(_0x16a280=_0xcab226%0x4?_0x16a280*0x40+_0x5d9229:_0x5d9229,_0xcab226++%0x4)?_0x568539+=String['fromCharCode'](0xff&_0x16a280>>(-0x2*_0xcab226&0x6)):0x0){_0x5d9229=_0x53693e['indexOf'](_0x5d9229);}for(let _0x212fc8=0x0,_0x4713a8=_0x568539['length'];_0x212fc8<_0x4713a8;_0x212fc8++){_0x5ae763+='%'+('00'+_0x568539['charCodeAt'](_0x212fc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ae763);};const _0x57e4d6=function(_0x4726f5,_0x1b6168){let _0x29f827=[],_0x17d8d2=0x0,_0x1b4437,_0x134a1e='';_0x4726f5=_0x434c9a(_0x4726f5);let _0x12be5b;for(_0x12be5b=0x0;_0x12be5b<0x100;_0x12be5b++){_0x29f827[_0x12be5b]=_0x12be5b;}for(_0x12be5b=0x0;_0x12be5b<0x100;_0x12be5b++){_0x17d8d2=(_0x17d8d2+_0x29f827[_0x12be5b]+_0x1b6168['charCodeAt'](_0x12be5b%_0x1b6168['length']))%0x100,_0x1b4437=_0x29f827[_0x12be5b],_0x29f827[_0x12be5b]=_0x29f827[_0x17d8d2],_0x29f827[_0x17d8d2]=_0x1b4437;}_0x12be5b=0x0,_0x17d8d2=0x0;for(let _0x5c5d1a=0x0;_0x5c5d1a<_0x4726f5['length'];_0x5c5d1a++){_0x12be5b=(_0x12be5b+0x1)%0x100,_0x17d8d2=(_0x17d8d2+_0x29f827[_0x12be5b])%0x100,_0x1b4437=_0x29f827[_0x12be5b],_0x29f827[_0x12be5b]=_0x29f827[_0x17d8d2],_0x29f827[_0x17d8d2]=_0x1b4437,_0x134a1e+=String['fromCharCode'](_0x4726f5['charCodeAt'](_0x5c5d1a)^_0x29f827[(_0x29f827[_0x12be5b]+_0x29f827[_0x17d8d2])%0x100]);}return _0x134a1e;};a0_0x375c['tIPMZJ']=_0x57e4d6,a0_0x375c['KrDxKH']={},a0_0x375c['bBaMZB']=!![];}const _0x202817=_0x1872bb[0x0],_0x30662f=_0xfe4ae7+_0x202817,_0x4ee7bd=a0_0x375c['KrDxKH'][_0x30662f];return!_0x4ee7bd?(a0_0x375c['aWuRyq']===undefined&&(a0_0x375c['aWuRyq']=!![]),_0x375c7d=a0_0x375c['tIPMZJ'](_0x375c7d,_0x41e131),a0_0x375c['KrDxKH'][_0x30662f]=_0x375c7d):_0x375c7d=_0x4ee7bd,_0x375c7d;}export const SENSITIVE_KEYS=new Set([a0_0xb649e2(0x11c,'F9V%'),a0_0xb649e2(0x125,'va[)'),a0_0xb649e2(0x120,'Qj(P'),a0_0xb649e2(0x127,'JAUQ'),a0_0xb649e2(0x11f,'A@1$'),a0_0xb649e2(0x11b,'^bc9'),a0_0xb649e2(0x11d,'vtUq'),a0_0xb649e2(0x128,'jLPT')]);function a0_0x1872(){const _0x2fc826=['W4FcGxFcRqfMvLabjCoFt8o3','W6VcVmkcr1nspxJdMeScsmkJ','W7q1W4f+W6ZdMSoZWPnUfa','oYtcSmkHWO7dQX81W7VcRrvGoW','W4auAIqcW653W4v1W7RdRSk7oW','ECoXbSoTBqZcP8orfbJcNSowWOq','W5NdTmoNWOv9CghdSCkFWOiDluxdSa','CmoisdiNW5akz8oud8oUemkDWOG','W5RdTmoNWOKlnqVcRCkyWPu','W61JW6JcKYuQW5iQaSk6W7ddRGm','WOe0W4nmfSkpxmo4yI4','W51eWOxcTSogdG','Fmo+tKpcIWLIdJ8sW5i','WR3dTMhcTGmVB8oFj8kZW4rZW78','WQhcVGKVWPNcK8oTWRTcFW','WOXMyCokuNOtkCkQWRvDW7e/pshdTCkpW5BcPmkziNyajW','a8kXc8oUW6RcH8kFyCk7bSkPWOTR','ASkdW4LLbfxcVCkVD8oE','CLBdJZNdUCoPW4zXWOu5WQmcDq','WPFcKmk0WR7dKJvedCksva','pqOGtCopgNNdJSocvZZdVSkWWOi','CmomtJmJW58joSoKa8otdSkD','v3bmdxL7cI0jW54','WRZdKmkYfmolWOumWRybWRO'];a0_0x1872=function(){return _0x2fc826;};return a0_0x1872();}