QFIX: Minor changes to cloud transactor (#7998)
Some checks are pending
CI / formatting (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / svelte-check (push) Blocked by required conditions
CI / test (push) Blocked by required conditions
CI / uitest (push) Waiting to run
CI / uitest-pg (push) Waiting to run
CI / uitest-qms (push) Waiting to run
CI / uitest-workspaces (push) Waiting to run
CI / docker-build (push) Blocked by required conditions
CI / dist-build (push) Blocked by required conditions

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev 2025-02-13 21:46:09 +07:00 committed by GitHub
parent db1050e6da
commit 7be0af0c20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 359 additions and 116 deletions

View File

@ -1976,8 +1976,8 @@ importers:
specifier: ^5.0.0
version: 5.0.0(winston@3.13.1)
wrangler:
specifier: ^3.106.0
version: 3.106.0(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
specifier: ^3.108.1
version: 3.108.1(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
ws:
specifier: ^8.18.0
version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
@ -2387,32 +2387,32 @@ packages:
resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
engines: {node: '>=16.13'}
'@cloudflare/workerd-darwin-64@1.20250124.0':
resolution: {integrity: sha512-P5Z5KfVAuoCidIc0o2JPQZFLNTXDjtxN8vhtreCUr6V+xF5pqDNwQqeBDnDDF0gcszFQOYi2OZAB9e1MwssTwA==}
'@cloudflare/workerd-darwin-64@1.20250204.0':
resolution: {integrity: sha512-HpsgbWEfvdcwuZ8WAZhi1TlSCyyHC3tbghpKsOqGDaQNltyAFAWqa278TPNfcitYf/FmV4961v3eqUE+RFdHNQ==}
engines: {node: '>=16'}
cpu: [x64]
os: [darwin]
'@cloudflare/workerd-darwin-arm64@1.20250124.0':
resolution: {integrity: sha512-lVxf6qIfmJ5rS6rmGKV7lt6ApY6nhD4kAQTK4vKYm/npk2sXod6LASIY0U4WBCwy4N+S75a8hP2QtmQf+KV3Iw==}
'@cloudflare/workerd-darwin-arm64@1.20250204.0':
resolution: {integrity: sha512-AJ8Tk7KMJqePlch3SH8oL41ROtsrb07hKRHD6M+FvGC3tLtf26rpteAAMNYKMDYKzFNFUIKZNijYDFZjBFndXQ==}
engines: {node: '>=16'}
cpu: [arm64]
os: [darwin]
'@cloudflare/workerd-linux-64@1.20250124.0':
resolution: {integrity: sha512-5S4GzN08vW/CfzaM1rVAkRhPPSDX1O1t7u0pj+xdbGl4GcazBzE4ZLre+y9OMplZ9PBCkxXkRWqHXzabWA1x4A==}
'@cloudflare/workerd-linux-64@1.20250204.0':
resolution: {integrity: sha512-RIUfUSnDC8h73zAa+u1K2Frc7nc+eeQoBBP7SaqsRe6JdX8jfIv/GtWjQWCoj8xQFgLvhpJKZ4sTTTV+AilQbw==}
engines: {node: '>=16'}
cpu: [x64]
os: [linux]
'@cloudflare/workerd-linux-arm64@1.20250124.0':
resolution: {integrity: sha512-CHSYnutDfXgUWL9WcP0GbzIb5OyC9RZVCJGhKbDTQy6/uH7AivNcLzXtOhNdqetKjERmOxUbL9Us7vcMQLztog==}
'@cloudflare/workerd-linux-arm64@1.20250204.0':
resolution: {integrity: sha512-8Ql8jDjoIgr2J7oBD01kd9kduUz60njofrBpAOkjCPed15He8e8XHkYaYow3g0xpae4S2ryrPOeoD3M64sRxeg==}
engines: {node: '>=16'}
cpu: [arm64]
os: [linux]
'@cloudflare/workerd-windows-64@1.20250124.0':
resolution: {integrity: sha512-5TunEy5x4pNUQ10Z47qP5iF6m3X9uB2ZScKDLkNaWtbQ7EcMCapOWzuynVkTKIMBgDeKw6DAB8nbbkybPyMS9w==}
'@cloudflare/workerd-windows-64@1.20250204.0':
resolution: {integrity: sha512-RpDJO3+to+e17X3EWfRCagboZYwBz2fowc+jL53+fd7uD19v3F59H48lw2BDpHJMRyhg6ouWcpM94OhsHv8ecA==}
engines: {node: '>=16'}
cpu: [x64]
os: [win32]
@ -2477,6 +2477,9 @@ packages:
resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==}
engines: {node: '>=16.4'}
'@emnapi/runtime@1.3.1':
resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
'@esbuild-plugins/node-globals-polyfill@0.2.3':
resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==}
peerDependencies:
@ -2994,6 +2997,111 @@ packages:
'@iconify/utils@2.2.1':
resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==}
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [darwin]
'@img/sharp-darwin-x64@0.33.5':
resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [darwin]
'@img/sharp-libvips-darwin-arm64@1.0.4':
resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
cpu: [arm64]
os: [darwin]
'@img/sharp-libvips-darwin-x64@1.0.4':
resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
cpu: [x64]
os: [darwin]
'@img/sharp-libvips-linux-arm64@1.0.4':
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
cpu: [arm64]
os: [linux]
'@img/sharp-libvips-linux-arm@1.0.5':
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
cpu: [arm]
os: [linux]
'@img/sharp-libvips-linux-s390x@1.0.4':
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
cpu: [s390x]
os: [linux]
'@img/sharp-libvips-linux-x64@1.0.4':
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
cpu: [x64]
os: [linux]
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
cpu: [arm64]
os: [linux]
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
cpu: [x64]
os: [linux]
'@img/sharp-linux-arm64@0.33.5':
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
'@img/sharp-linux-arm@0.33.5':
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
'@img/sharp-linux-s390x@0.33.5':
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
'@img/sharp-linux-x64@0.33.5':
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
'@img/sharp-linuxmusl-arm64@0.33.5':
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
'@img/sharp-linuxmusl-x64@0.33.5':
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
'@img/sharp-wasm32@0.33.5':
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [wasm32]
'@img/sharp-win32-ia32@0.33.5':
resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ia32]
os: [win32]
'@img/sharp-win32-x64@0.33.5':
resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [win32]
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@ -3954,11 +4062,11 @@ packages:
version: 0.0.0
'@rush-temp/cloud-branding@file:projects/cloud-branding.tgz':
resolution: {integrity: sha512-1Bt42bNXoZ3BhwujvtPtWt3myfzWjeuafY4g0iVeRtJBtS5U8B/jeu7/NlUv7/BBCoGqpWT+UCbfuxbdBf7avg==, tarball: file:projects/cloud-branding.tgz}
resolution: {integrity: sha512-F0xtSdqy4bLs+Gt9eZnfst2vBTuCjT7F3m+/WmwmlxuoL8fWxbEx/Lu6ztycPeCKlky61LkCvOlvJsdZvQI5wQ==, tarball: file:projects/cloud-branding.tgz}
version: 0.0.0
'@rush-temp/cloud-transactor@file:projects/cloud-transactor.tgz':
resolution: {integrity: sha512-wz+vzpHhzoRN4NnC5kibClVMqNJPlU5Ee6krEOhAJQK8xlfZd+l3yhBIcvS1YN09uWOYJUojDl9yhHGWEXZc/Q==, tarball: file:projects/cloud-transactor.tgz}
resolution: {integrity: sha512-r6yWZUKJ49CEI1q8+mw24O3pYCsNuZFZ8V+MlTVb1olIS6Sb4i0oB1EE6c1roRKrDD5IQsjtbk/G4tnC1X2meQ==, tarball: file:projects/cloud-transactor.tgz}
version: 0.0.0
'@rush-temp/collaboration@file:projects/collaboration.tgz':
@ -4214,7 +4322,7 @@ packages:
version: 0.0.0
'@rush-temp/model-ai-bot@file:projects/model-ai-bot.tgz':
resolution: {integrity: sha512-MQPMbs5C4CPAuJVX/nYo0oz08O5/Nya+aKOC/cpnx9PrUO6jQjde0uaIHxE4Z7++Ks6caZWC7+o6XPScw0T9aQ==, tarball: file:projects/model-ai-bot.tgz}
resolution: {integrity: sha512-kgmd1/CkDGUW5RobiGiAYnfdO+C9x7WobJkq35Di56ScXz540W9MrWD9yLMmvRcETSkZr+rQY+BOPmYyjvX9Rw==, tarball: file:projects/model-ai-bot.tgz}
version: 0.0.0
'@rush-temp/model-all@file:projects/model-all.tgz':
@ -4574,7 +4682,7 @@ packages:
version: 0.0.0
'@rush-temp/pod-ai-bot@file:projects/pod-ai-bot.tgz':
resolution: {integrity: sha512-a7JTzNqMgf/BxBSVW2Xa7hFa3GYYujMfvMRO/IHzcOj3mCa198GnqaCdkglxM2li5TiZ1KhwSrur95J+1Skjxg==, tarball: file:projects/pod-ai-bot.tgz}
resolution: {integrity: sha512-EPudGHMe7m4s6PeA23nmc25YVXpq62MfJV3ZZCxy8aD+xJA1mJ78c5QG+RPBnEe5mVeLlufLNPeWVlyVcPrmKQ==, tarball: file:projects/pod-ai-bot.tgz}
version: 0.0.0
'@rush-temp/pod-analytics-collector@file:projects/pod-analytics-collector.tgz':
@ -4778,7 +4886,7 @@ packages:
version: 0.0.0
'@rush-temp/server-ai-bot-resources@file:projects/server-ai-bot-resources.tgz':
resolution: {integrity: sha512-UChmRA0uWxgRKIx9jl1+P4wlGdsdLjsMkR3VOFR3Ya/sYwYV78JOCBIvnsTox/vJha8hx4mynqxaTCSe2nqshA==, tarball: file:projects/server-ai-bot-resources.tgz}
resolution: {integrity: sha512-AGrxf/6mbPXEjpgCBcd33D2yHaDTyoVcz5H3AlfPBPeCjSOCdYk+zBsvWYsi+tyh0xH3+1D7BeEjHq0yQ4sNag==, tarball: file:projects/server-ai-bot-resources.tgz}
version: 0.0.0
'@rush-temp/server-ai-bot@file:projects/server-ai-bot.tgz':
@ -5030,7 +5138,7 @@ packages:
version: 0.0.0
'@rush-temp/server-tracker-resources@file:projects/server-tracker-resources.tgz':
resolution: {integrity: sha512-K6rsjo4rNef5+c7LhGFy+mwfwRb4b6YnwRzfP38gveTa0MA5CdMGTlmnaE5/OEciUwCRg77ePOyjA3giW/V1AA==, tarball: file:projects/server-tracker-resources.tgz}
resolution: {integrity: sha512-B7VBye3RcAPmzyZhoNQfYfr2qTqluHkcVilPF+UduSNimrvQT+w78KPUr7n5jVM2R9fBoE7yn7AZ7LKN6jptCg==, tarball: file:projects/server-tracker-resources.tgz}
version: 0.0.0
'@rush-temp/server-tracker@file:projects/server-tracker.tgz':
@ -7214,9 +7322,6 @@ packages:
caniuse-lite@1.0.30001689:
resolution: {integrity: sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==}
capnp-ts@0.7.0:
resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
centra@2.7.0:
resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==}
@ -7466,12 +7571,12 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
cookie@0.7.1:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
cookie@0.7.2:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
cookie@0.7.1:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
engines: {node: '>= 0.6'}
cookiejar@2.1.4:
@ -7968,6 +8073,10 @@ packages:
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
engines: {node: '>=8'}
detect-libc@2.0.3:
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
engines: {node: '>=8'}
detect-newline@3.1.0:
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
engines: {node: '>=8'}
@ -10508,8 +10617,8 @@ packages:
peerDependencies:
webpack: ^5.0.0
miniflare@3.20250124.0:
resolution: {integrity: sha512-ewsetUwhj4FqeLoE3UMqYHHyCYIOPzdhlpF9CHuHpMZbfLvI9SPd+VrKrLfOgyAF97EHqVWb6WamIrLdgtj6Kg==}
miniflare@3.20250204.0:
resolution: {integrity: sha512-f7tezEkOvVRVHIVul2EbTyKvWJCXpTDRAOxTxtD4N92+YI8PC2P8AvO4Z30vlN61r5Pje33fTBG8G1fEwSZIqQ==}
engines: {node: '>=16.13'}
hasBin: true
@ -12037,6 +12146,10 @@ packages:
resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==}
engines: {node: '>=14.15.0'}
sharp@0.33.5:
resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
shebang-command@1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
engines: {node: '>=0.10.0'}
@ -13216,17 +13329,17 @@ packages:
resolution: {integrity: sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==}
engines: {node: '>= 12.0.0'}
workerd@1.20250124.0:
resolution: {integrity: sha512-EnT9gN3M9/UHRFPZptKgK36DLOW8WfJV7cjNs3zstVbmF5cpFaHCAzX7tXWBO6zyvW/+EjklJPFtOvfatiZsuQ==}
workerd@1.20250204.0:
resolution: {integrity: sha512-zcKufjVFsQMiD3/acg1Ix00HIMCkXCrDxQXYRDn/1AIz3QQGkmbVDwcUk1Ki2jBUoXmBCMsJdycRucgMVEypWg==}
engines: {node: '>=16'}
hasBin: true
wrangler@3.106.0:
resolution: {integrity: sha512-jKPBtASIdiihU9AJBJRvWktqdc2prTy41LUjMk6Sq6BCZePrDnS9VWhQWovoYojreSd+dKhU+ggL53fNKvifRg==}
wrangler@3.108.1:
resolution: {integrity: sha512-SuiMv/ys52Cu7r6CVRXJT/GvneXHoB0ef5nGBWghSWyHxUSIm4KavGO6F/hTphn+WmSpHYQt3xNl5hdxk6rJlA==}
engines: {node: '>=16.17.0'}
hasBin: true
peerDependencies:
'@cloudflare/workers-types': ^4.20250121.0
'@cloudflare/workers-types': ^4.20250204.0
peerDependenciesMeta:
'@cloudflare/workers-types':
optional: true
@ -13417,8 +13530,8 @@ packages:
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
engines: {node: '>=12.20'}
youch@3.3.4:
resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==}
youch@3.2.3:
resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==}
zeed-dom@0.15.1:
resolution: {integrity: sha512-dtZ0aQSFyZmoJS0m06/xBN1SazUBPL5HpzlAcs/KcRW0rzadYw12deQBjeMhGKMMeGEp7bA9vmikMLaO4exBcg==}
@ -13430,6 +13543,9 @@ packages:
zen-observable@0.8.15:
resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==}
zod@3.22.3:
resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
@ -14211,19 +14327,19 @@ snapshots:
dependencies:
mime: 3.0.0
'@cloudflare/workerd-darwin-64@1.20250124.0':
'@cloudflare/workerd-darwin-64@1.20250204.0':
optional: true
'@cloudflare/workerd-darwin-arm64@1.20250124.0':
'@cloudflare/workerd-darwin-arm64@1.20250204.0':
optional: true
'@cloudflare/workerd-linux-64@1.20250124.0':
'@cloudflare/workerd-linux-64@1.20250204.0':
optional: true
'@cloudflare/workerd-linux-arm64@1.20250124.0':
'@cloudflare/workerd-linux-arm64@1.20250204.0':
optional: true
'@cloudflare/workerd-windows-64@1.20250124.0':
'@cloudflare/workerd-windows-64@1.20250204.0':
optional: true
'@cloudflare/workers-types@4.20241022.0': {}
@ -14336,6 +14452,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@emnapi/runtime@1.3.1':
dependencies:
tslib: 2.8.1
optional: true
'@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)':
dependencies:
esbuild: 0.17.19
@ -14680,6 +14801,81 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-darwin-arm64': 1.0.4
optional: true
'@img/sharp-darwin-x64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-darwin-x64': 1.0.4
optional: true
'@img/sharp-libvips-darwin-arm64@1.0.4':
optional: true
'@img/sharp-libvips-darwin-x64@1.0.4':
optional: true
'@img/sharp-libvips-linux-arm64@1.0.4':
optional: true
'@img/sharp-libvips-linux-arm@1.0.5':
optional: true
'@img/sharp-libvips-linux-s390x@1.0.4':
optional: true
'@img/sharp-libvips-linux-x64@1.0.4':
optional: true
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
optional: true
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
optional: true
'@img/sharp-linux-arm64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linux-arm64': 1.0.4
optional: true
'@img/sharp-linux-arm@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linux-arm': 1.0.5
optional: true
'@img/sharp-linux-s390x@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linux-s390x': 1.0.4
optional: true
'@img/sharp-linux-x64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linux-x64': 1.0.4
optional: true
'@img/sharp-linuxmusl-arm64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
optional: true
'@img/sharp-linuxmusl-x64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
optional: true
'@img/sharp-wasm32@0.33.5':
dependencies:
'@emnapi/runtime': 1.3.1
optional: true
'@img/sharp-win32-ia32@0.33.5':
optional: true
'@img/sharp-win32-x64@0.33.5':
optional: true
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@ -16906,7 +17102,7 @@ snapshots:
prettier: 3.2.5
ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.11.19)(ts-node@10.9.2(@types/node@20.11.19)(typescript@5.3.3)))(typescript@5.6.2)
typescript: 5.6.2
wrangler: 3.106.0(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
wrangler: 3.108.1(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- '@babel/core'
- '@jest/types'
@ -16939,7 +17135,7 @@ snapshots:
snappyjs: 0.7.0
ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.11.19)(ts-node@10.9.2(@types/node@20.11.19)(typescript@5.3.3)))(typescript@5.6.2)
typescript: 5.6.2
wrangler: 3.106.0(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
wrangler: 3.108.1(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- '@babel/core'
- '@jest/types'
@ -28536,13 +28732,6 @@ snapshots:
caniuse-lite@1.0.30001689: {}
capnp-ts@0.7.0:
dependencies:
debug: 4.4.0
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
centra@2.7.0:
dependencies:
follow-redirects: 1.15.6
@ -28825,9 +29014,9 @@ snapshots:
cookie-signature@1.0.6: {}
cookie@0.7.1: {}
cookie@0.5.0: {}
cookie@0.7.2: {}
cookie@0.7.1: {}
cookiejar@2.1.4: {}
@ -29339,6 +29528,9 @@ snapshots:
detect-libc@2.0.2: {}
detect-libc@2.0.3:
optional: true
detect-newline@3.1.0: {}
detect-node@2.1.0: {}
@ -32621,23 +32813,21 @@ snapshots:
tapable: 2.2.1
webpack: 5.97.1(esbuild@0.24.2)(webpack-cli@5.1.4)
miniflare@3.20250124.0(bufferutil@4.0.8)(utf-8-validate@6.0.4):
miniflare@3.20250204.0(bufferutil@4.0.8)(utf-8-validate@6.0.4):
dependencies:
'@cspotcode/source-map-support': 0.8.1
acorn: 8.14.0
acorn-walk: 8.3.2
capnp-ts: 0.7.0
exit-hook: 2.2.1
glob-to-regexp: 0.4.1
stoppable: 1.1.0
undici: 5.28.4
workerd: 1.20250124.0
workerd: 1.20250204.0
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
youch: 3.3.4
zod: 3.23.8
youch: 3.2.3
zod: 3.22.3
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
minimalistic-assert@1.0.1: {}
@ -34251,6 +34441,33 @@ snapshots:
tar-fs: 3.0.5
tunnel-agent: 0.6.0
sharp@0.33.5:
dependencies:
color: 4.2.3
detect-libc: 2.0.3
semver: 7.6.3
optionalDependencies:
'@img/sharp-darwin-arm64': 0.33.5
'@img/sharp-darwin-x64': 0.33.5
'@img/sharp-libvips-darwin-arm64': 1.0.4
'@img/sharp-libvips-darwin-x64': 1.0.4
'@img/sharp-libvips-linux-arm': 1.0.5
'@img/sharp-libvips-linux-arm64': 1.0.4
'@img/sharp-libvips-linux-s390x': 1.0.4
'@img/sharp-libvips-linux-x64': 1.0.4
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
'@img/sharp-linux-arm': 0.33.5
'@img/sharp-linux-arm64': 0.33.5
'@img/sharp-linux-s390x': 0.33.5
'@img/sharp-linux-x64': 0.33.5
'@img/sharp-linuxmusl-arm64': 0.33.5
'@img/sharp-linuxmusl-x64': 0.33.5
'@img/sharp-wasm32': 0.33.5
'@img/sharp-win32-ia32': 0.33.5
'@img/sharp-win32-x64': 0.33.5
optional: true
shebang-command@1.2.0:
dependencies:
shebang-regex: 1.0.0
@ -35758,31 +35975,31 @@ snapshots:
triple-beam: 1.4.1
winston-transport: 4.7.1
workerd@1.20250124.0:
workerd@1.20250204.0:
optionalDependencies:
'@cloudflare/workerd-darwin-64': 1.20250124.0
'@cloudflare/workerd-darwin-arm64': 1.20250124.0
'@cloudflare/workerd-linux-64': 1.20250124.0
'@cloudflare/workerd-linux-arm64': 1.20250124.0
'@cloudflare/workerd-windows-64': 1.20250124.0
'@cloudflare/workerd-darwin-64': 1.20250204.0
'@cloudflare/workerd-darwin-arm64': 1.20250204.0
'@cloudflare/workerd-linux-64': 1.20250204.0
'@cloudflare/workerd-linux-arm64': 1.20250204.0
'@cloudflare/workerd-windows-64': 1.20250204.0
wrangler@3.106.0(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4):
wrangler@3.108.1(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4):
dependencies:
'@cloudflare/kv-asset-handler': 0.3.4
'@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
'@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
blake3-wasm: 2.1.5
esbuild: 0.17.19
miniflare: 3.20250124.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
miniflare: 3.20250204.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
path-to-regexp: 6.3.0
unenv: 2.0.0-rc.1
workerd: 1.20250124.0
workerd: 1.20250204.0
optionalDependencies:
'@cloudflare/workers-types': 4.20241022.0
fsevents: 2.3.3
sharp: 0.33.5
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
wrap-ansi@2.1.0:
@ -35959,9 +36176,9 @@ snapshots:
yocto-queue@1.0.0: {}
youch@3.3.4:
youch@3.2.3:
dependencies:
cookie: 0.7.2
cookie: 0.5.0
mustache: 4.2.0
stacktracey: 2.1.8
@ -35977,4 +36194,6 @@ snapshots:
zen-observable@0.8.15: {}
zod@3.22.3: {}
zod@3.23.8: {}

View File

@ -421,10 +421,15 @@ onClient(() => {
channelProviders.set(res)
})
personsQuery.query(contact.class.Person, {}, (res) => {
personsStore.set(res)
personByIdStore.set(toIdMap(res))
})
personsQuery.query(
contact.class.Person,
{},
(res) => {
personsStore.set(res)
personByIdStore.set(toIdMap(res))
},
{ limit: 500 }
)
employeesQuery.query(contact.mixin.Employee, { active: { $in: [true, false] } }, (res) => {
employeesStore.set(res)

View File

@ -800,26 +800,28 @@ class TSessionManager implements SessionManager {
workspace.sessions.delete(sessionRef.session.sessionId)
const pipeline = workspace.pipeline instanceof Promise ? await workspace.pipeline : workspace.pipeline
workspace.tickHandlers.set(sessionRef.session.sessionId, {
ticks: this.timeouts.reconnectTimeout * ticksPerSecond,
operation: () => {
this.reconnectIds.delete(sessionRef.session.sessionId)
if (this.doHandleTick) {
workspace.tickHandlers.set(sessionRef.session.sessionId, {
ticks: this.timeouts.reconnectTimeout * ticksPerSecond,
operation: () => {
this.reconnectIds.delete(sessionRef.session.sessionId)
const user = sessionRef.session.getUser()
if (workspace !== undefined) {
const another = Array.from(workspace.sessions.values()).findIndex((p) => p.session.getUser() === user)
if (another === -1 && !workspace.upgrade) {
void this.trySetStatus(
workspace.context,
pipeline,
sessionRef.session,
false,
workspace.workspaceUuid
).catch(() => {})
const user = sessionRef.session.getUser()
if (workspace !== undefined) {
const another = Array.from(workspace.sessions.values()).findIndex((p) => p.session.getUser() === user)
if (another === -1 && !workspace.upgrade) {
void this.trySetStatus(
workspace.context,
pipeline,
sessionRef.session,
false,
workspace.workspaceUuid
).catch(() => {})
}
}
}
}
})
})
}
this.reconnectIds.add(sessionRef.session.sessionId)
}
try {

View File

@ -22,7 +22,7 @@
"@hcengineering/platform-rig": "*"
},
"devDependencies": {
"wrangler": "^3.106.0",
"wrangler": "^3.108.1",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"eslint-config-standard-with-typescript": "^40.0.0",

View File

@ -22,7 +22,7 @@
"@hcengineering/platform-rig": "^0.6.0",
"@cloudflare/workers-types": "^4.20241022.0",
"typescript": "^5.3.3",
"wrangler": "^3.106.0",
"wrangler": "^3.108.1",
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",

View File

@ -38,7 +38,7 @@
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.3",
"wrangler": "^3.106.0",
"wrangler": "^3.108.1",
"esbuild": "^0.24.2",
"@types/snappyjs": "^0.7.1"
},

View File

@ -89,6 +89,11 @@ export class Transactor extends DurableObject<Env> {
}
})
console.log({ message: 'wakeup', connections: ctx.getWebSockets().length })
// this.ctx.setHibernatableWebSocketEventTimeout(60 * 1000)
this.ctx.setWebSocketAutoResponse(new WebSocketRequestResponsePair(pingConst, pongConst))
// configureAnalytics(env.SENTRY_DSN, {})
// Analytics.setTag('application', 'transactor')
@ -114,8 +119,6 @@ export class Transactor extends DurableObject<Env> {
registerServerPlugins()
this.accountsUrl = env.ACCOUNTS_URL ?? 'http://127.0.0.1:3000'
this.ctx.setWebSocketAutoResponse(new WebSocketRequestResponsePair(pingConst, pongConst))
this.measureCtx = new NoMetricsContext(new CloudFlareLogger())
// initStatisticsContext('ctr-' + ctx.id.toString(), {
// statsUrl: this.env.STATS_URL ?? 'http://127.0.0.1:4900',
@ -218,31 +221,38 @@ export class Transactor extends DurableObject<Env> {
const request = cs.readRequest(buff, s.session.binaryMode)
const st = Date.now()
const r = this.sessionManager.handleRequest(this.measureCtx, s.session, cs, request, this.workspace)
void r.finally(() => {
const time = Date.now() - st
console.log({
message: 'handle-request: ' + time,
method: request.method,
params: request.params,
workspace: s.workspaceId,
user: s.session.getUser(),
time
this.ctx.waitUntil(
r.finally(() => {
const time = Date.now() - st
console.log({
message: `handle-request: ${request.method} time: ${time}`,
method: request.method,
params: request.params,
workspace: s.workspaceId,
user: s.session.getUser(),
time
})
})
})
this.ctx.waitUntil(r)
)
},
typeof message === 'string' ? Buffer.from(message) : Buffer.from(message)
)
} catch (err: any) {
console.error({ message: 'Failed to handle message:', err })
console.error({ message: 'Failed to handle message:', errMsg: err.message, err, stack: err.stack })
}
}
async webSocketError (ws: WebSocket, error: unknown): Promise<void> {
console.error({ message: 'WebSocket error:', error })
const session = this.sessions.get(ws)
console.error({ message: 'error:', error, account: session?.payload?.account })
await this.handleClose(ws, 1011, 'error')
}
async webSocketClose (ws: WebSocket, code: number, reason: string, wasClean: boolean): Promise<void> {
const session = this.sessions.get(ws)
console.warn({ message: 'closed', reason, code, wasClean, account: session?.payload?.account })
}
async alarm (): Promise<void> {
const memoryUsage = process.memoryUsage()
console.log({
@ -297,9 +307,8 @@ export class Transactor extends DurableObject<Env> {
if ('error' in session) {
console.error({ message: 'Failed to establish session:', error: session.error })
ws.close(4003, 'Session establishment failed')
if (session.terminate === true) {
ws.close()
ws.close(4003, 'Session establishment failed')
}
throw session.error
}
@ -310,7 +319,7 @@ export class Transactor extends DurableObject<Env> {
false,
false
)
cs.close()
ws.close(4003, 'Session establishment failed')
return true
}
@ -347,11 +356,11 @@ export class Transactor extends DurableObject<Env> {
isClosed: false,
close: () => {
cs.isClosed = true
console.warn({ message: 'close socket', id: cs.id })
ws.close()
},
checkState: () => {
if (ws.readyState === WebSocket.CLOSED || ws.readyState === WebSocket.CLOSING) {
ws.close()
return false
}
return true
@ -377,13 +386,21 @@ export class Transactor extends DurableObject<Env> {
smsg = compress(smsg)
}
ws.send(smsg)
try {
ws.send(smsg)
} catch (err: any) {
console.error({ message: 'failed to send', err })
}
},
sendPong: () => {
if (ws.readyState !== WebSocket.OPEN || cs.isClosed) {
return
}
ws.send(pongConst)
try {
ws.send(pongConst)
} catch (err: any) {
console.error({ message: 'failed to send', err })
}
}
}
return cs

View File

@ -1,7 +1,7 @@
#:schema node_modules/wrangler/config-schema.json
name = "cloud-transactor"
main = "src/index.ts"
compatibility_date = "2024-09-23"
compatibility_date = "2024-11-11"
compatibility_flags = ["nodejs_compat"]
keep_vars = true
@ -13,8 +13,8 @@ head_sampling_rate = 1 # optional. default = 1.
# If you are running back-end logic in a Worker, running it closer to your back-end infrastructure
# rather than the end user may result in better performance.
# Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
[placement]
mode = "smart"
#[placement]
#mode = "smart"
# Variable bindings. These are arbitrary, plaintext strings (similar to environment variables)
# Docs: