@juzi/wechaty-puppet-service 1.0.121 → 1.0.123

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 (32) hide show
  1. package/dist/cjs/src/client/puppet-service.d.ts +14 -0
  2. package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
  3. package/dist/cjs/src/client/puppet-service.js +63 -3
  4. package/dist/cjs/src/client/puppet-service.js.map +1 -1
  5. package/dist/cjs/src/package-json.js +3 -3
  6. package/dist/cjs/src/utils/pb-payload-helper.d.ts.map +1 -1
  7. package/dist/cjs/src/utils/pb-payload-helper.js +7 -0
  8. package/dist/cjs/src/utils/pb-payload-helper.js.map +1 -1
  9. package/dist/cjs/tests/fast-dirty-room-member.spec.js +123 -21
  10. package/dist/cjs/tests/fast-dirty-room-member.spec.js.map +1 -1
  11. package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
  12. package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
  13. package/dist/cjs/tests/grpc-stream-dirty-order.spec.js +135 -0
  14. package/dist/cjs/tests/grpc-stream-dirty-order.spec.js.map +1 -0
  15. package/dist/esm/src/client/puppet-service.d.ts +14 -0
  16. package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
  17. package/dist/esm/src/client/puppet-service.js +63 -3
  18. package/dist/esm/src/client/puppet-service.js.map +1 -1
  19. package/dist/esm/src/package-json.js +3 -3
  20. package/dist/esm/src/utils/pb-payload-helper.d.ts.map +1 -1
  21. package/dist/esm/src/utils/pb-payload-helper.js +7 -0
  22. package/dist/esm/src/utils/pb-payload-helper.js.map +1 -1
  23. package/dist/esm/tests/fast-dirty-room-member.spec.js +123 -21
  24. package/dist/esm/tests/fast-dirty-room-member.spec.js.map +1 -1
  25. package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
  26. package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
  27. package/dist/esm/tests/grpc-stream-dirty-order.spec.js +110 -0
  28. package/dist/esm/tests/grpc-stream-dirty-order.spec.js.map +1 -0
  29. package/package.json +3 -3
  30. package/src/client/puppet-service.ts +61 -3
  31. package/src/package-json.ts +3 -3
  32. package/src/utils/pb-payload-helper.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pb-payload-helper.js","sourceRoot":"","sources":["../../../../src/utils/pb-payload-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AACzC,qDAE2B;AAE3B,6DAA8C;AAKvC,MAAM,sBAAsB,GAAG,CAAC,UAAsB,EAAE,kBAA+C,EAAE,EAAE;IAChH,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAA;IAChE,IAAI,kBAAkB,CAAC,KAAK,EAAE;QAAE,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;KAAE;IACzF,IAAI,kBAAkB,CAAC,WAAW,EAAE;QAAE,oBAAoB,CAAC,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;KAAE;IAC3G,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAAE,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;KAAE;IAC/F,IAAI,kBAAkB,CAAC,QAAQ,EAAE;QAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAClG,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAAE,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;KAAE;IAC/F,IAAI,kBAAkB,CAAC,QAAQ,EAAE;QAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAClG,IAAI,kBAAkB,CAAC,QAAQ,EAAE;QAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAClG,IAAI,kBAAkB,CAAC,KAAK,EAAE;QAAE,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;KAAE;IACzF,IAAI,kBAAkB,CAAC,QAAQ,EAAE;QAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAElG,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAbY,QAAA,sBAAsB,0BAalC;AAEM,MAAM,sBAAsB,GAAG,CAAC,oBAA+C,EAAE,EAAE;IACxF,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAA;IAC7D,MAAM,kBAAkB,GAAgC;QACtD,GAAG,qBAAqB;KACzB,CAAA;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC;AAEM,MAAM,kBAAkB,GAAG,CAAC,UAAsB,EAAE,cAAuC,EAAE,EAAE;IACpG,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,CAAA;IACxD,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC3C,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,cAAc,CAAC,WAAW,EAAE;QAAE,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;KAAE;IAC/F,IAAI,cAAc,CAAC,YAAY,EAAE;QAAE,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;KAAE;IAClG,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAPY,QAAA,kBAAkB,sBAO9B;AAEM,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,eAAyC,EAAE,EAAE;IACvG,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,CAAA;IAC1D,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IACvD,iBAAiB,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IACzD,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IACvD,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrD,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AARY,QAAA,mBAAmB,uBAQ/B;AAEM,MAAM,mBAAmB,GAAG,CAAC,iBAAyC,EAAE,EAAE;IAC/E,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IACvD,MAAM,OAAO,GAA6B;QACxC,GAAG,kBAAkB;KACtB,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAPY,QAAA,mBAAmB,uBAO/B;AAEM,MAAM,kBAAkB,GAAG,CAAC,gBAAuC,EAAE,EAAE;IAC5E,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACrD,MAAM,cAAc,GAA4B;QAC9C,GAAG,iBAAiB;KACrB,CAAA;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B;AAEM,MAAM,kBAAkB,GAAG,CAAC,UAAsB,EAAE,cAAuC,EAAE,EAAE;IACpG,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,CAAA;IACxD,IAAI,cAAc,CAAC,MAAM,EAAE;QAAE,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE;IAChF,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,IAAI,EAAE;QAAE,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;KAAE;IAC1E,IAAI,cAAc,CAAC,MAAM,EAAE;QAAE,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE;IAChF,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,GAAG,EAAE;QAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE;IACvE,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,aAAa,EAAE;QAAE,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;KAAE;IACrG,gBAAgB;IAChB,IAAI,cAAc,CAAC,QAAQ,EAAE;QAAE,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IACtF,IAAI,cAAc,CAAC,YAAY,EAAE;QAAE,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;KAAE;IAClG,IAAI,cAAc,CAAC,WAAW,EAAE;QAAE,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;KAAE;IAC/F,IAAI,cAAc,CAAC,YAAY,EAAE;QAAE,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;KAAE;IAClG,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE;QACpC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrE,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;YAC7C,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;aAAE;YAC9D,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aAAE;YAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;aAAE;YAC3D,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAE,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;aAAE;YACvE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;aAAE;YAC3D,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aAAE;YAClD,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;aAAE;YACrD,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;aAAE;YACtF,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAC,CAAA;KACJ;IACD,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAhCY,QAAA,kBAAkB,sBAgC9B;AAEM,MAAM,kBAAkB,GAAG,CAAC,gBAAuC,EAAE,EAAE;IAC5E,MAAM,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IAC3E,MAAM,cAAc,GAA4B;QAC9C,GAAG,iBAAiB;QACpB,SAAS,EAAE,aAAa;KACzB,CAAA;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAPY,QAAA,kBAAkB,sBAO9B;AAEM,MAAM,sBAAsB,GAAG,CAAC,UAAsB,EAAE,kBAA+C,EAAE,EAAE;IAChH,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAA;IAChE,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAAE,oBAAoB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE;IAC5F,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAAE,oBAAoB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE;IAC5F,IAAI,kBAAkB,CAAC,QAAQ,EAAE;QAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAClG,IAAI,kBAAkB,CAAC,GAAG,EAAE;QAAE,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;KAAE;IACnF,IAAI,kBAAkB,CAAC,WAAW,EAAE;QAAE,oBAAoB,CAAC,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;KAAE;IAC3G,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAAE,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;KAAE;IAC/F,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAEM,MAAM,sBAAsB,GAAG,CAAC,oBAA+C,EAAE,EAAE;IACxF,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAA;IAC7D,MAAM,kBAAkB,GAAgC;QACtD,GAAG,qBAAqB;KACzB,CAAA;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC;AAEM,MAAM,eAAe,GAAG,KAAK,EAAE,UAAsB,EAAE,OAAmC,EAAE,gBAAgE,EAAE,EAAE;IACrK,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAA;IAC7C,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,CAAA;QAC5C,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gBAC5B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;gBACzD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACnD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;gBACzD,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC1I,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;gBACrC,MAAK;aACN;YACD,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;gBACxD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAA;gBACnC,MAAM,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBACvE,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;gBACpC,MAAK;aACN;YACD,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;gBAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAA;gBACnC,MAAM,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBACvE,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;gBACpC,MAAK;aACN;YACD,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAA;gBAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAA;gBACvC,MAAM,oBAAoB,GAAG,IAAA,8BAAsB,EAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;gBACnF,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;gBAC5C,MAAK;aACN;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;SAC/D;QACD,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;KAC3B;IACD,IAAI,OAAO,CAAC,MAAM,EAAE;QAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE;IACpD,IAAI,OAAO,CAAC,QAAQ,EAAE;QAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE;IAC1D,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC3E,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;KAClC;IACD,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAChD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAnDY,QAAA,eAAe,mBAmD3B;AAEM,MAAM,eAAe,GAAG,CAAC,IAA8B,EAAE,WAA2B,EAAE,EAAE;IAC7F,MAAM,OAAO,GAA+B;QAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;QACpB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;QACxB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;QAC5B,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE;KACvC,CAAA;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;QACjC,IAAI,cAAmD,CAAA;QACvD,QAAQ,OAAO,CAAC,OAAO,EAAE,EAAE;YACzB,KAAK,qBAAM,CAAC,WAAW,CAAC,iBAAiB;gBACvC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;gBACtG,MAAK;YACP,KAAK,qBAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;gBACxC,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAK;iBACN;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBAC9C,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACzD,MAAK;aACN;YACD,KAAK,qBAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;gBAC7C,IAAI,CAAC,gBAAgB,EAAE;oBACrB,MAAK;iBACN;gBACD,MAAM,cAAc,GAAG,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,CAAA;gBAC3D,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC5D,MAAK;aACN;YACD,KAAK,qBAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;gBAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;gBAC7C,IAAI,CAAC,gBAAgB,EAAE;oBACrB,MAAK;iBACN;gBACD,MAAM,cAAc,GAAG,IAAA,0BAAkB,EAAC,gBAAiB,CAAC,CAAA;gBAC5D,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;gBAChE,MAAK;aACN;YACD,KAAK,qBAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;gBAChD,MAAM,oBAAoB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAA;gBACrD,IAAI,CAAC,oBAAoB,EAAE;oBACzB,MAAK;iBACN;gBACD,MAAM,kBAAkB,GAAG,IAAA,8BAAsB,EAAC,oBAAoB,CAAC,CAAA;gBACvE,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAA;gBACxE,MAAK;aACN;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;SAC3E;QACD,IAAI,cAAc,EAAE;YAClB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SACzC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;SACtF;KACF;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,QAAQ,GAAG;YACjB,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;YAC9B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE;YACtC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE;YACpC,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;YAChC,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE;SAClC,CAAA;KACF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAxEY,QAAA,eAAe,mBAwE3B;AAEM,MAAM,sBAAsB,GAAG,CAAC,GAAa,EAAE,EAAE;IACtD,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;QAC5B,OAAO,GAAG,CAAC,CAAC,CAAC,qBAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAM,CAAC,eAAe,CAAC,UAAU,CAAA;KAClF;SAAM;QACL,OAAO,qBAAM,CAAC,eAAe,CAAC,UAAU,CAAA;KACzC;AACH,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC;AAEM,MAAM,wBAAwB,GAAG,CAAC,GAA+D,EAAE,EAAE;IAC1G,QAAQ,GAAG,EAAE;QACX,KAAK,qBAAM,CAAC,eAAe,CAAC,SAAS;YACnC,OAAO,IAAI,CAAA;QACb,KAAK,qBAAM,CAAC,eAAe,CAAC,UAAU;YACpC,OAAO,KAAK,CAAA;QACd,KAAK,qBAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QACvC;YACE,OAAO,SAAS,CAAA;KACnB;AACH,CAAC,CAAA;AAVY,QAAA,wBAAwB,4BAUpC;AAEM,MAAM,qBAAqB,GAAG,CAAC,YAAsC,EAAE,EAAE;IAC9E,MAAM,iBAAiB,GAA+B;QACpD,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE;QACpC,YAAY,EAAE,YAAY,CAAC,qBAAqB,EAAE;QAClD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;QAChC,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;QAC5B,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;KACjC,CAAA;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAEM,MAAM,qBAAqB,GAAG,CAAC,UAAsB,EAAE,iBAA6C,EAAE,EAAE;IAC7G,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAA;IAC9D,mBAAmB,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC3D,mBAAmB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACzE,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACvD,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACnD,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEvD,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAEM,MAAM,sBAAsB,GAAG,CAAC,WAA2B,EAAE,aAA0C,EAAE,EAAE;IAChH,MAAM,sBAAsB,GAAkC,EAAE,CAAA;IAChE,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;QAEpC,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,CAAC,kBAAkB,EAAE;YACvB,SAAQ;SACT;QAED,IAAI,OAAY,CAAA;QAChB,QAAQ,kBAAkB,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,qBAAM,CAAC,sBAAsB,CAAC,IAAI;gBACrC,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAG,CAAA;gBACvC,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,IAAI;gBACrC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAG,CAAC,CAAA;gBAChE,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,QAAQ;gBACzC,OAAO,GAAG,IAAA,2BAAmB,EAAC,kBAAkB,CAAC,WAAW,EAAG,CAAC,CAAA;gBAChE,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,GAAG;gBACpC,OAAO,GAAG,IAAA,0BAAkB,EAAC,kBAAkB,CAAC,UAAU,EAAG,CAAC,CAAA;gBAC9D,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,YAAY;gBAC7C,OAAO,GAAG,IAAA,8BAAsB,EAAC,kBAAkB,CAAC,cAAc,EAAG,CAAC,CAAA;gBACtE,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,OAAO;gBACxC,OAAO,GAAG,IAAA,0BAAkB,EAAC,kBAAkB,CAAC,UAAU,EAAG,CAAC,CAAA;gBAC9D,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,YAAY;gBAC7C,OAAO,GAAG,IAAA,8BAAsB,EAAC,WAAW,EAAE,kBAAkB,CAAC,kBAAkB,EAAG,CAAC,CAAA;gBACvF,MAAK;YACP,KAAK,qBAAM,CAAC,sBAAsB,CAAC,YAAY;gBAC7C,OAAO,GAAG,IAAA,8BAAsB,EAAC,kBAAkB,CAAC,cAAc,EAAG,CAAC,CAAA;gBACtE,MAAK;YACP;gBACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;SACxF;QAED,MAAM,kBAAkB,GAAgC;YACtD,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;YACvB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE;YACnC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;YACzB,OAAO;SACR,CAAA;QACD,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;KAChD;IACD,OAAO,sBAAsB,CAAA;AAC/B,CAAC,CAAA;AArDY,QAAA,sBAAsB,0BAqDlC;AAEM,MAAM,sBAAsB,GAAG,KAAK,EAAE,UAAsB,EAAE,sBAAqD,EAAE,gBAAgE,EAAE,EAAE;IAC9L,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,kBAAkB,IAAI,sBAAsB,EAAE;QACvD,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAA;QAEhE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACjF,oBAAoB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;QACvD,oBAAoB,CAAC,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACjE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAC7D,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,kBAAkB,CAAC,KAAK,EAAE;YAC5B,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;SACxD;QAED,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAA;QAChE,QAAQ,kBAAkB,CAAC,IAAI,EAAE;YAC/B,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC/B,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;gBACpE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACxD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACrC,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;gBAC7B,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;gBACpE,oBAAoB,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnF,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ;gBAChC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBACxE,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACrF,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;gBACnD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;gBAC3B,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;gBACnE,MAAM,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACnF,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;gBACjD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBACnC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;gBAC5E,MAAM,oBAAoB,GAAG,IAAA,8BAAsB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBAC3F,oBAAoB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;gBACzD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC/B,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;gBACvE,MAAM,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACnF,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;gBACjD,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBACnC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;gBAC5E,MAAM,oBAAoB,GAAG,MAAM,IAAA,8BAAsB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;gBACnH,oBAAoB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAA;gBAC7D,MAAK;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBACnC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;gBAC5E,MAAM,oBAAoB,GAAG,IAAA,8BAAsB,EAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBAC3F,oBAAoB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;gBACzD,MAAK;YACP;gBACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAA;SACpF;QACD,oBAAoB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAErD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;KAChC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAnEY,QAAA,sBAAsB,0BAmElC;AAEM,MAAM,qBAAqB,GAAG,CAAC,EAAoC,EAAE,EAAE;IAC5E,MAAM,OAAO,GAA+B;QAC1C,MAAM,EAAU,EAAE,CAAC,SAAS,EAAE;QAC9B,EAAE,EAAc,EAAE,CAAC,KAAK,EAAE;QAC1B,SAAS,EAAO,EAAE,CAAC,YAAY,EAAE;QACjC,IAAI,EAAY,EAAE,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAO,EAAE,CAAC,YAAY,EAAE;QACjC,cAAc,EAAE,EAAE,CAAC,iBAAiB,EAAE;QACtC,SAAS,EAAO,EAAE,CAAC,YAAY,EAAE;QACjC,QAAQ,EAAQ,EAAE,CAAC,WAAW,EAAE;KACjC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAbY,QAAA,qBAAqB,yBAajC;AAEM,MAAM,kBAAkB,GAAG,CAAC,EAAiC,EAAE,EAAE;IACtE,MAAM,OAAO,GAA4B;QACvC,OAAO,EAAO,EAAE,CAAC,UAAU,EAAE;QAC7B,KAAK,EAAS,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAQ,EAAE,CAAC,SAAS,EAAE;QAC5B,IAAI,EAAU,EAAE,CAAC,OAAO,EAAE;QAC1B,WAAW,EAAG,EAAE,CAAC,cAAc,EAAE;QACjC,QAAQ,EAAM,EAAE,CAAC,WAAW,EAAE;QAC9B,WAAW,EAAG,EAAE,CAAC,cAAc,EAAE;QACjC,MAAM,EAAQ,EAAE,CAAC,SAAS,EAAE;QAC5B,MAAM,EAAQ,EAAE,CAAC,SAAS,EAAY;QACtC;;;WAGG;QACH,MAAM,EAAQ,EAAE,CAAC,SAAS,EAAE;QAC5B,EAAE,EAAY,EAAE,CAAC,KAAK,EAAE;QACxB,IAAI,EAAU,EAAE,CAAC,OAAO,EAAE;QAC1B,KAAK,EAAS,EAAE,CAAC,aAAa,EAAE;QAChC,QAAQ,EAAM,EAAE,CAAC,WAAW,EAAE;QAC9B,SAAS,EAAK,EAAE,CAAC,YAAY,EAAE;QAC/B,IAAI,EAAU,EAAE,CAAC,OAAO,EAAE;QAC1B,KAAK,EAAS,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAU,EAAE,CAAC,OAAO,EAAY;QACpC;;;WAGG;QACH,MAAM,EAAU,EAAE,CAAC,SAAS,EAAE;QAC9B,cAAc,EAAE,EAAE,CAAC,iBAAiB,EAAE;QACtC,IAAI,EAAY,EAAE,CAAC,aAAa,EAAE;QAClC,QAAQ,EAAQ,EAAE,CAAC,WAAW,EAAE;QAChC,GAAG,EAAa,EAAE,CAAC,MAAM,EAAE;KAC5B,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAnCY,QAAA,kBAAkB,sBAmC9B"}
1
+ {"version":3,"file":"pb-payload-helper.js","sourceRoot":"","sources":["../../../../src/utils/pb-payload-helper.ts"],"names":[],"mappings":"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"}
@@ -28,20 +28,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  /**
31
- * Regression test for the RoomMember persistent-store dirty bug.
31
+ * Regression tests for the RoomMember persistent-store dirty semantics.
32
32
  *
33
- * The puppet-side cache mixin already knows that RoomMember dirty ids are
34
- * sometimes a compound `"<roomId><memberId>"` (using STRING_SPLITTER)
35
- * and splits the id before deleting from the in-memory LRU
36
- * (wechaty-puppet/src/mixins/cache-mixin.ts).
33
+ * The persistent `PayloadStore.roomMember` is a
34
+ * `FlashStore<roomId, {[memberId]: RoomMember}>` -- a per-room record of
35
+ * members. Dirty ids arrive in two shapes:
37
36
  *
38
- * However the client-side `fastDirty` here passes the raw id straight to
39
- * `PayloadStore.roomMember.delete`. The persistent FlashStore is keyed by
40
- * roomId only, so the delete silently no-ops and the stale entry survives
41
- * across process restarts.
37
+ * 1. A compound `"<roomId><STRING_SPLITTER><memberId>"` -- a single
38
+ * member's payload went stale (e.g. one member renamed).
39
+ * 2. A bare `"<roomId>"` -- the whole room's member set went stale.
42
40
  *
43
- * This test populates the store, fires the dirty path with a compound id,
44
- * and asserts the entry is gone.
41
+ * The previous handler treated both shapes the same by calling
42
+ * `roomMember.delete(roomId)`, which threw away the entire room's
43
+ * cache even when only one member was dirty. That thrash forces the
44
+ * next N-1 members to re-fetch over gRPC.
45
+ *
46
+ * The new handler must:
47
+ * - On compound id: drop only the named member, keep the rest.
48
+ * - On compound id whose split leaves the record empty: delete the row.
49
+ * - On bare roomId: delete the entire row (as before).
45
50
  */
46
51
  const tstest_1 = require("tstest");
47
52
  const os_1 = __importDefault(require("os"));
@@ -49,29 +54,126 @@ const path_1 = __importDefault(require("path"));
49
54
  const fs_1 = __importDefault(require("fs"));
50
55
  const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
51
56
  const mod_js_1 = require("../src/mod.js");
52
- (0, tstest_1.test)('fastDirty(RoomMember, "<roomId>\\u001F<memberId>") must clear the room entry', async (t) => {
57
+ const makePuppet = async () => {
53
58
  const token = `puppet_service_test_${Date.now()}_${Math.floor(Math.random() * 1e6)}`;
54
59
  const puppet = new mod_js_1.PuppetService({ token });
55
60
  const accountId = 'acct-test';
56
61
  await puppet._payloadStore.start(accountId);
62
+ return { puppet, token };
63
+ };
64
+ const cleanup = async (puppet, token) => {
65
+ await puppet._payloadStore.stop();
66
+ try {
67
+ await fs_1.default.promises.rm(path_1.default.join(os_1.default.homedir(), '.wechaty', 'wechaty-puppet-service', token), { recursive: true, force: true });
68
+ }
69
+ catch (_) { /* ignore */ }
70
+ };
71
+ (0, tstest_1.test)('fastDirty(RoomMember, "<roomId>\\u001F<memberId>") drops only the named member', async (t) => {
72
+ const { puppet, token } = await makePuppet();
57
73
  const roomId = 'room-test-id';
58
74
  await puppet._payloadStore.roomMember.set(roomId, {
59
75
  'member-A': { id: 'member-A', name: 'A' },
60
76
  'member-B': { id: 'member-B', name: 'B' },
61
77
  });
62
- const before = await puppet._payloadStore.roomMember.get(roomId);
63
- t.ok(before, 'sanity: roomMember entry exists before dirty');
64
78
  await puppet.fastDirty({
65
79
  payloadType: PUPPET.types.Dirty.RoomMember,
66
80
  payloadId: `${roomId}${PUPPET.STRING_SPLITTER}member-A`,
67
81
  });
68
82
  const after = await puppet._payloadStore.roomMember.get(roomId);
69
- t.notOk(after, 'roomMember entry must be cleared after compound-id dirty');
70
- await puppet._payloadStore.stop();
71
- // best-effort cleanup of the on-disk store dir
72
- try {
73
- await fs_1.default.promises.rm(path_1.default.join(os_1.default.homedir(), '.wechaty', 'wechaty-puppet-service', token), { recursive: true, force: true });
74
- }
75
- catch (_) { /* ignore */ }
83
+ t.ok(after, 'room entry must survive when only one member is dirtied');
84
+ t.notOk(after && after['member-A'], 'dirtied member-A must be gone');
85
+ t.ok(after && after['member-B'], 'unrelated member-B must be preserved');
86
+ await cleanup(puppet, token);
87
+ });
88
+ (0, tstest_1.test)('fastDirty(RoomMember, "<roomId>\\u001F<lastMember>") deletes the row when empty', async (t) => {
89
+ const { puppet, token } = await makePuppet();
90
+ const roomId = 'room-test-id-lone';
91
+ await puppet._payloadStore.roomMember.set(roomId, {
92
+ 'only-member': { id: 'only-member', name: 'Solo' },
93
+ });
94
+ await puppet.fastDirty({
95
+ payloadType: PUPPET.types.Dirty.RoomMember,
96
+ payloadId: `${roomId}${PUPPET.STRING_SPLITTER}only-member`,
97
+ });
98
+ const after = await puppet._payloadStore.roomMember.get(roomId);
99
+ t.notOk(after, 'row must be deleted once the record has no members left');
100
+ await cleanup(puppet, token);
101
+ });
102
+ (0, tstest_1.test)('fastDirty(RoomMember, "<roomId>") clears the whole room entry', async (t) => {
103
+ const { puppet, token } = await makePuppet();
104
+ const roomId = 'room-test-id-full';
105
+ await puppet._payloadStore.roomMember.set(roomId, {
106
+ 'member-A': { id: 'member-A', name: 'A' },
107
+ 'member-B': { id: 'member-B', name: 'B' },
108
+ });
109
+ await puppet.fastDirty({
110
+ payloadType: PUPPET.types.Dirty.RoomMember,
111
+ payloadId: roomId,
112
+ });
113
+ const after = await puppet._payloadStore.roomMember.get(roomId);
114
+ t.notOk(after, 'bare roomId dirty must clear the whole row');
115
+ await cleanup(puppet, token);
116
+ });
117
+ (0, tstest_1.test)('fastDirty(RoomMember) on unknown member is a no-op', async (t) => {
118
+ const { puppet, token } = await makePuppet();
119
+ const roomId = 'room-test-id-noop';
120
+ const before = {
121
+ 'member-A': { id: 'member-A', name: 'A' },
122
+ 'member-B': { id: 'member-B', name: 'B' },
123
+ };
124
+ await puppet._payloadStore.roomMember.set(roomId, before);
125
+ await puppet.fastDirty({
126
+ payloadType: PUPPET.types.Dirty.RoomMember,
127
+ payloadId: `${roomId}${PUPPET.STRING_SPLITTER}ghost-member`,
128
+ });
129
+ const after = await puppet._payloadStore.roomMember.get(roomId);
130
+ t.same(after, before, 'unrelated dirty must not disturb the record');
131
+ await cleanup(puppet, token);
132
+ });
133
+ (0, tstest_1.test)('fastDirty(RoomMember) concurrent compound dirties on same roomId drop every named member', async (t) => {
134
+ const { puppet, token } = await makePuppet();
135
+ const roomId = 'room-test-id-race';
136
+ await puppet._payloadStore.roomMember.set(roomId, {
137
+ 'member-A': { id: 'member-A', name: 'A' },
138
+ 'member-B': { id: 'member-B', name: 'B' },
139
+ });
140
+ // Fire both compound dirties without awaiting between them so their
141
+ // `get → mutate → set` cycles interleave. Without per-roomId
142
+ // serialization, both reads would see {A, B}, both writes would keep
143
+ // one sibling, and one of the two deletes would be lost.
144
+ await Promise.all([
145
+ puppet.fastDirty({
146
+ payloadType: PUPPET.types.Dirty.RoomMember,
147
+ payloadId: `${roomId}${PUPPET.STRING_SPLITTER}member-A`,
148
+ }),
149
+ puppet.fastDirty({
150
+ payloadType: PUPPET.types.Dirty.RoomMember,
151
+ payloadId: `${roomId}${PUPPET.STRING_SPLITTER}member-B`,
152
+ }),
153
+ ]);
154
+ const after = await puppet._payloadStore.roomMember.get(roomId);
155
+ // Either the whole row is gone (last shrink deleted it) or the record
156
+ // is empty. Both are acceptable "no members left" observations.
157
+ const noMembersLeft = !after || Object.keys(after).length === 0;
158
+ t.ok(noMembersLeft, `both dirtied members must be evicted, got: ${JSON.stringify(after)}`);
159
+ await cleanup(puppet, token);
160
+ });
161
+ (0, tstest_1.test)('fastDirty(RoomMember) prototype-key member id must not match a real member', async (t) => {
162
+ const { puppet, token } = await makePuppet();
163
+ const roomId = 'room-test-id-proto';
164
+ const before = {
165
+ 'member-A': { id: 'member-A', name: 'A' },
166
+ };
167
+ await puppet._payloadStore.roomMember.set(roomId, before);
168
+ // `toString` exists on Object.prototype; a naive `memberId in current`
169
+ // check would match it and take the mutate branch. The correct guard
170
+ // uses hasOwnProperty and treats this as an unknown member.
171
+ await puppet.fastDirty({
172
+ payloadType: PUPPET.types.Dirty.RoomMember,
173
+ payloadId: `${roomId}${PUPPET.STRING_SPLITTER}toString`,
174
+ });
175
+ const after = await puppet._payloadStore.roomMember.get(roomId);
176
+ t.same(after, before, 'prototype-key dirty must be a no-op');
177
+ await cleanup(puppet, token);
76
178
  });
77
179
  //# sourceMappingURL=fast-dirty-room-member.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fast-dirty-room-member.spec.js","sourceRoot":"","sources":["../../../tests/fast-dirty-room-member.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;;;;;;;;GAeG;AACH,mCAA6B;AAC7B,4CAAmB;AACnB,gDAAuB;AACvB,4CAAmB;AAEnB,6DAA8C;AAE9C,0CAA6C;AAE7C,IAAA,aAAI,EAAC,8EAA8E,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7F,MAAM,KAAK,GAAG,uBAAuB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACpF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC,EAAE,KAAK,EAAE,CAAQ,CAAA;IAElD,MAAM,SAAS,GAAG,WAAW,CAAA;IAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAE3C,MAAM,MAAM,GAAG,cAAc,CAAA;IAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;QAChD,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAS;QAChD,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAS;KACjD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAA;IAE5D,MAAM,MAAM,CAAC,SAAS,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;QAC1C,SAAS,EAAI,GAAG,MAAM,GAAG,MAAM,CAAC,eAAe,UAAU;KAC1D,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/D,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,0DAA0D,CAAC,CAAA;IAE1E,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAEjC,+CAA+C;IAC/C,IAAI;QACF,MAAM,YAAE,CAAC,QAAQ,CAAC,EAAE,CAClB,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,KAAK,CAAC,EACpE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CACjC,CAAA;KACF;IAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE;AAC9B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"fast-dirty-room-member.spec.js","sourceRoot":"","sources":["../../../tests/fast-dirty-room-member.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=grpc-stream-dirty-order.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-stream-dirty-order.spec.d.ts","sourceRoot":"","sources":["../../../tests/grpc-stream-dirty-order.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,135 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ /**
28
+ * Regression / hardening test for the EVENT_TYPE_DIRTY dispatch order.
29
+ *
30
+ * Client-side dirty handling touches two independent caches:
31
+ *
32
+ * - `fastDirty()` clears `_payloadStore` (FlashStore, on disk, async).
33
+ * - `emit('dirty')` triggers the puppet-side CacheMixin which clears
34
+ * the in-memory LRU synchronously in the same tick.
35
+ *
36
+ * If `emit('dirty')` runs before `fastDirty()` resolves, a listener that
37
+ * immediately reads back the payload -- as CacheMixin.onDirty does when
38
+ * a caller races with the dirty event -- can:
39
+ *
40
+ * 1. See an LRU miss (already cleared),
41
+ * 2. Refetch via `contactRawPayload` etc.,
42
+ * 3. Hit the still-un-cleared `_payloadStore` entry,
43
+ * 4. Repopulate the LRU with the stale row that fastDirty is about
44
+ * to delete a microtask later,
45
+ * 5. And the fresh fastDirty delete no-ops against a now-cold key.
46
+ *
47
+ * The current implementation `await`s fastDirty before emitting. This
48
+ * test pins that invariant: fastDirty must fully resolve before any
49
+ * `dirty` listener observes the event.
50
+ */
51
+ const tstest_1 = require("tstest");
52
+ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
53
+ const wechaty_grpc_1 = require("@juzi/wechaty-grpc");
54
+ const mod_js_1 = require("../src/mod.js");
55
+ (0, tstest_1.test)('onGrpcStreamEvent awaits fastDirty before emitting dirty', async (t) => {
56
+ const token = `puppet_service_test_${Date.now()}_${Math.floor(Math.random() * 1e6)}`;
57
+ const puppet = new mod_js_1.PuppetService({ token });
58
+ let fastDirtyResolvedAt;
59
+ let dirtyEmittedAt;
60
+ const FASTDIRTY_DELAY_MS = 50;
61
+ puppet.fastDirty = async (_payload) => {
62
+ await new Promise(resolve => setTimeout(resolve, FASTDIRTY_DELAY_MS));
63
+ fastDirtyResolvedAt = Date.now();
64
+ };
65
+ puppet.on('dirty', () => {
66
+ dirtyEmittedAt = Date.now();
67
+ });
68
+ const dirtyJson = JSON.stringify({
69
+ payloadType: PUPPET.types.Dirty.Contact,
70
+ payloadId: 'contact-x',
71
+ });
72
+ const fakeEvent = {
73
+ getType: () => wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DIRTY,
74
+ getPayload: () => dirtyJson,
75
+ getSeq: () => 0,
76
+ };
77
+ await puppet.onGrpcStreamEvent(fakeEvent);
78
+ t.ok(fastDirtyResolvedAt, 'fastDirty must have been invoked');
79
+ t.ok(dirtyEmittedAt, 'dirty listener must have been invoked');
80
+ t.ok(fastDirtyResolvedAt <= dirtyEmittedAt, `dirty emit (${dirtyEmittedAt}) must not precede fastDirty resolve (${fastDirtyResolvedAt})`);
81
+ });
82
+ (0, tstest_1.test)('onGrpcStreamEvent: dirty emit sequence-number is strictly after every fastDirty resolution', async (t) => {
83
+ // Wall-clock ordering (the baseline test above) is fine as a smoke
84
+ // signal but can collapse to a tie when both boundaries fall inside
85
+ // the same millisecond. The invariant we actually care about is
86
+ // *causal*: each fastDirty must have fully resolved before the
87
+ // corresponding dirty emit fires. Record call ordinals from a shared
88
+ // monotonic counter to pin that -- ordinals cannot tie.
89
+ const token = `puppet_service_test_${Date.now()}_${Math.floor(Math.random() * 1e6)}`;
90
+ const puppet = new mod_js_1.PuppetService({ token });
91
+ let sequence = 0;
92
+ const nextOrdinal = () => ++sequence;
93
+ // Order of interest per event: fastDirty enter -> fastDirty resolve -> dirty emit.
94
+ const fastDirtyEnterOrdinals = [];
95
+ const fastDirtyResolveOrdinals = [];
96
+ const dirtyEmitOrdinals = [];
97
+ const fastDirtyStub = tstest_1.sinon.stub().callsFake(async (_payload) => {
98
+ fastDirtyEnterOrdinals.push(nextOrdinal());
99
+ // Yield the microtask queue so a broken ordering would surface: if
100
+ // emit ran ahead of the await point below, its ordinal would slot
101
+ // between our enter and resolve records.
102
+ await new Promise(resolve => setImmediate(resolve));
103
+ fastDirtyResolveOrdinals.push(nextOrdinal());
104
+ });
105
+ puppet.fastDirty = fastDirtyStub;
106
+ const dirtySpy = tstest_1.sinon.spy(() => {
107
+ dirtyEmitOrdinals.push(nextOrdinal());
108
+ });
109
+ puppet.on('dirty', dirtySpy);
110
+ const makeEvent = (payloadId) => {
111
+ const dirtyJson = JSON.stringify({
112
+ payloadType: PUPPET.types.Dirty.Contact,
113
+ payloadId,
114
+ });
115
+ return {
116
+ getType: () => wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DIRTY,
117
+ getPayload: () => dirtyJson,
118
+ getSeq: () => 0,
119
+ };
120
+ };
121
+ // Two back-to-back dirty events: this is the scenario Fix #6 pins,
122
+ // sequential await must hold across both.
123
+ await puppet.onGrpcStreamEvent(makeEvent('contact-1'));
124
+ await puppet.onGrpcStreamEvent(makeEvent('contact-2'));
125
+ t.equal(fastDirtyStub.callCount, 2, 'fastDirty invoked once per dirty event');
126
+ t.equal(dirtySpy.callCount, 2, 'dirty listener invoked once per dirty event');
127
+ t.equal(fastDirtyEnterOrdinals.length, 2, 'both fastDirty invocations recorded an entry ordinal');
128
+ t.equal(fastDirtyResolveOrdinals.length, 2, 'both fastDirty invocations recorded a resolve ordinal');
129
+ t.equal(dirtyEmitOrdinals.length, 2, 'both dirty emits recorded an ordinal');
130
+ for (let i = 0; i < 2; i++) {
131
+ t.ok(fastDirtyEnterOrdinals[i] < fastDirtyResolveOrdinals[i], `event #${i}: fastDirty must enter (ord=${fastDirtyEnterOrdinals[i]}) before it resolves (ord=${fastDirtyResolveOrdinals[i]})`);
132
+ t.ok(fastDirtyResolveOrdinals[i] < dirtyEmitOrdinals[i], `event #${i}: dirty emit ordinal (${dirtyEmitOrdinals[i]}) must strictly follow fastDirty resolve ordinal (${fastDirtyResolveOrdinals[i]})`);
133
+ }
134
+ });
135
+ //# sourceMappingURL=grpc-stream-dirty-order.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-stream-dirty-order.spec.js","sourceRoot":"","sources":["../../../tests/grpc-stream-dirty-order.spec.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,20 @@ declare class PuppetService extends PUPPET.Puppet {
23
23
  options: PuppetServiceOptions;
24
24
  static readonly VERSION: string;
25
25
  protected _payloadStore: PayloadStore;
26
+ /**
27
+ * Per-roomId serialization chain for RoomMember compound dirty events.
28
+ *
29
+ * The compound RoomMember handler is a `get → mutate → set` sequence
30
+ * across an async FlashStore. Two dirty events for the same roomId
31
+ * (e.g. member-A and member-B, arriving back-to-back) would otherwise
32
+ * both read the same snapshot and each write back with only their own
33
+ * key removed -- losing one of the deletes.
34
+ *
35
+ * Keyed by roomId, each entry chains the pending handler run so a
36
+ * follow-up dirty for the same room waits for the in-flight one to
37
+ * finish. Entries self-clean after their tail resolves.
38
+ */
39
+ private _roomMemberDirtyChain;
26
40
  private timeoutMilliseconds;
27
41
  protected _grpcManager?: GrpcManager;
28
42
  get grpcManager(): GrpcManager;
@@ -1 +1 @@
1
- {"version":3,"file":"puppet-service.d.ts","sourceRoot":"","sources":["../../../../src/client/puppet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppet-service.d.ts","sourceRoot":"","sources":["../../../../src/client/puppet-service.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,20 @@ class PuppetService extends PUPPET.Puppet {
47
47
  options;
48
48
  static VERSION = VERSION;
49
49
  _payloadStore;
50
+ /**
51
+ * Per-roomId serialization chain for RoomMember compound dirty events.
52
+ *
53
+ * The compound RoomMember handler is a `get → mutate → set` sequence
54
+ * across an async FlashStore. Two dirty events for the same roomId
55
+ * (e.g. member-A and member-B, arriving back-to-back) would otherwise
56
+ * both read the same snapshot and each write back with only their own
57
+ * key removed -- losing one of the deletes.
58
+ *
59
+ * Keyed by roomId, each entry chains the pending handler run so a
60
+ * follow-up dirty for the same room waits for the in-flight one to
61
+ * finish. Entries self-clean after their tail resolves.
62
+ */
63
+ _roomMemberDirtyChain = new Map();
50
64
  timeoutMilliseconds;
51
65
  _grpcManager;
52
66
  get grpcManager() {
@@ -382,9 +396,55 @@ class PuppetService extends PUPPET.Puppet {
382
396
  [PUPPET.types.Dirty.Post]: async (_) => { },
383
397
  [PUPPET.types.Dirty.Room]: async (id) => this._payloadStore.room?.delete(id),
384
398
  [PUPPET.types.Dirty.RoomMember]: async (id) => {
385
- const [roomId] = id.split(PUPPET.STRING_SPLITTER);
386
- if (roomId) {
387
- await this._payloadStore.roomMember?.delete(roomId);
399
+ const [roomId, memberId] = id.split(PUPPET.STRING_SPLITTER);
400
+ if (!roomId) {
401
+ return;
402
+ }
403
+ const store = this._payloadStore.roomMember;
404
+ if (!store) {
405
+ return;
406
+ }
407
+ // Bare roomId: the whole member set is stale, drop the row.
408
+ // Row-level delete is idempotent so it does not need serialization.
409
+ if (memberId === undefined) {
410
+ await store.delete(roomId);
411
+ return;
412
+ }
413
+ // Compound id: `get → mutate → set` is a read-modify-write across
414
+ // an async store. Serialize per roomId so two concurrent compound
415
+ // dirties don't each read the same snapshot and each drop only
416
+ // their own key -- which would lose one of the two deletes.
417
+ const previous = this._roomMemberDirtyChain.get(roomId) ?? Promise.resolve();
418
+ const next = (async () => {
419
+ // Swallow the previous link's rejection so a failure upstream
420
+ // does not silently skip our own mutation. The prior handler
421
+ // already reported its error via fastDirty()'s try/catch.
422
+ try {
423
+ await previous;
424
+ }
425
+ catch (_) { /* ignore, upstream already reported */ }
426
+ const current = await store.get(roomId);
427
+ if (!current || !Object.prototype.hasOwnProperty.call(current, memberId)) {
428
+ return;
429
+ }
430
+ const { [memberId]: _drop, ...rest } = current;
431
+ if (Object.keys(rest).length === 0) {
432
+ await store.delete(roomId);
433
+ }
434
+ else {
435
+ await store.set(roomId, rest);
436
+ }
437
+ })();
438
+ this._roomMemberDirtyChain.set(roomId, next);
439
+ try {
440
+ await next;
441
+ }
442
+ finally {
443
+ // Only clear the slot if we are still the tail; otherwise a
444
+ // later handler has already extended the chain and owns cleanup.
445
+ if (this._roomMemberDirtyChain.get(roomId) === next) {
446
+ this._roomMemberDirtyChain.delete(roomId);
447
+ }
388
448
  }
389
449
  },
390
450
  [PUPPET.types.Dirty.Tag]: async (id) => this._payloadStore.tag?.delete(id),