From a4bf7ee5d34978bc1c6fa2b7c41a1df62db0620f Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Tue, 14 Oct 2025 10:06:08 +0700 Subject: [PATCH] Session counters --- common/config/rush/pnpm-lock.yaml | 670 ++++++++++++------ common/scripts/package.json | 5 +- packages/client/CHANGELOG.json | 17 + packages/client/CHANGELOG.md | 9 +- packages/client/package.json | 21 +- packages/collaboration/CHANGELOG.json | 17 + packages/collaboration/CHANGELOG.md | 9 +- packages/collaboration/package.json | 15 +- packages/core/CHANGELOG.json | 12 + packages/core/CHANGELOG.md | 9 +- packages/core/package.json | 21 +- .../src/__tests__/performance-benchmark.ts | 145 ++++ packages/core/src/__tests__/utils.test.ts | 336 +++++++++ packages/core/src/types.ts | 10 +- packages/core/src/utils.ts | 29 +- packages/datalake/CHANGELOG.json | 17 + packages/datalake/CHANGELOG.md | 9 +- packages/datalake/package.json | 15 +- packages/elastic/CHANGELOG.json | 17 + packages/elastic/CHANGELOG.md | 9 +- packages/elastic/package.json | 15 +- packages/hulylake/CHANGELOG.json | 17 + packages/hulylake/CHANGELOG.md | 9 +- packages/hulylake/package.json | 17 +- packages/kafka/CHANGELOG.json | 17 + packages/kafka/CHANGELOG.md | 9 +- packages/kafka/package.json | 15 +- packages/middleware/CHANGELOG.json | 17 + packages/middleware/CHANGELOG.md | 16 +- packages/middleware/package.json | 17 +- packages/minio/CHANGELOG.json | 17 + packages/minio/CHANGELOG.md | 9 +- packages/minio/package.json | 13 +- packages/mongo/CHANGELOG.json | 17 + packages/mongo/CHANGELOG.md | 9 +- packages/mongo/package.json | 13 +- packages/postgres/CHANGELOG.json | 17 + packages/postgres/CHANGELOG.md | 9 +- packages/postgres/package.json | 13 +- packages/s3/CHANGELOG.json | 17 + packages/s3/CHANGELOG.md | 9 +- packages/s3/package.json | 15 +- packages/server-storage/CHANGELOG.json | 29 + packages/server-storage/CHANGELOG.md | 9 +- packages/server-storage/package.json | 27 +- packages/server/CHANGELOG.json | 17 + packages/server/CHANGELOG.md | 9 +- packages/server/package.json | 21 +- packages/server/src/client.ts | 30 +- packages/server/src/sessionManager.ts | 74 +- 50 files changed, 1519 insertions(+), 396 deletions(-) create mode 100644 packages/core/src/__tests__/performance-benchmark.ts create mode 100644 packages/core/src/__tests__/utils.test.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 428b86855f..3cacc37e2e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -13,33 +13,33 @@ importers: ../../packages/client: dependencies: '@hcengineering/account-client': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/client': - specifier: ^0.7.5 - version: 0.7.5 - '@hcengineering/client-resources': - specifier: ^0.7.5 - version: 0.7.5 - '@hcengineering/core': specifier: ^0.7.6 version: 0.7.6 + '@hcengineering/client-resources': + specifier: ^0.7.6 + version: 0.7.6 + '@hcengineering/core': + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 ws: specifier: ^8.18.2 version: 8.18.3(utf-8-validate@6.0.5) devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -73,6 +73,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -89,17 +92,17 @@ importers: ../../packages/collaboration: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/text': - specifier: ^0.7.4 - version: 0.7.4(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) + specifier: ^0.7.5 + version: 0.7.5(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) '@hcengineering/text-ydoc': - specifier: ^0.7.4 - version: 0.7.4(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) + specifier: ^0.7.5 + version: 0.7.5(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) base64-js: specifier: ^1.5.1 version: 1.5.1 @@ -108,8 +111,8 @@ importers: version: 13.6.27 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -137,6 +140,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -153,8 +159,8 @@ importers: ../../packages/core: dependencies: '@hcengineering/analytics': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/communication-sdk-types': specifier: ^0.7.3 version: 0.7.3 @@ -162,23 +168,23 @@ importers: specifier: ^0.7.3 version: 0.7.3 '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 - '@hcengineering/query': specifier: ^0.7.5 version: 0.7.5 + '@hcengineering/query': + specifier: ^0.7.6 + version: 0.7.6 '@hcengineering/rpc': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/storage': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 fast-equals: specifier: ^5.2.2 version: 5.3.2 @@ -187,8 +193,8 @@ importers: version: 8.3.2 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -219,6 +225,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -235,21 +244,21 @@ importers: ../../packages/datalake: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -277,6 +286,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -299,21 +311,21 @@ importers: specifier: ^7.17.14 version: 7.17.14 '@hcengineering/analytics': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -338,6 +350,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -357,24 +372,24 @@ importers: ../../packages/hulylake: dependencies: '@hcengineering/core': + specifier: ^0.7.7 + version: 0.7.7 + '@hcengineering/hulylake-client': specifier: ^0.7.6 version: 0.7.6 - '@hcengineering/hulylake-client': + '@hcengineering/platform': specifier: ^0.7.5 version: 0.7.5 - '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -402,6 +417,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -421,24 +439,24 @@ importers: ../../packages/kafka: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/storage': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 kafkajs: specifier: ^2.2.4 version: 2.2.4 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -466,6 +484,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -482,17 +503,17 @@ importers: ../../packages/middleware: dependencies: '@hcengineering/analytics': - specifier: ^0.7.4 - version: 0.7.4 - '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 - '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 - '@hcengineering/query': specifier: ^0.7.5 version: 0.7.5 + '@hcengineering/core': + specifier: ^0.7.7 + version: 0.7.7 + '@hcengineering/platform': + specifier: ^0.7.5 + version: 0.7.5 + '@hcengineering/query': + specifier: ^0.7.6 + version: 0.7.6 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core @@ -501,8 +522,8 @@ importers: version: 5.3.2 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -530,6 +551,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -546,11 +570,11 @@ importers: ../../packages/minio: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core @@ -559,8 +583,8 @@ importers: version: 8.0.6 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -588,6 +612,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -604,11 +631,11 @@ importers: ../../packages/mongo: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core @@ -620,8 +647,8 @@ importers: version: 6.20.0 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -649,6 +676,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -665,11 +695,11 @@ importers: ../../packages/postgres: dependencies: '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/postgres-base': specifier: ^0.7.12 version: 0.7.12 @@ -681,8 +711,8 @@ importers: version: 3.4.7 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -710,6 +740,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -735,24 +768,24 @@ importers: specifier: ^3.738.0 version: 3.901.0 '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/storage': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@smithy/node-http-handler': specifier: ^4.0.2 version: 4.3.0 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -780,6 +813,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -796,33 +832,33 @@ importers: ../../packages/server: dependencies: '@hcengineering/account-client': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/analytics': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/rpc': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/server-core': specifier: workspace:0.7.3 version: link:../core '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 utf-8-validate: specifier: ^6.0.4 version: 6.0.5 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -853,6 +889,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -869,11 +908,11 @@ importers: ../../packages/server-storage: dependencies: '@hcengineering/analytics': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/core': - specifier: ^0.7.6 - version: 0.7.6 + specifier: ^0.7.7 + version: 0.7.7 '@hcengineering/datalake': specifier: workspace:0.7.3 version: link:../datalake @@ -884,8 +923,8 @@ importers: specifier: workspace:0.7.3 version: link:../minio '@hcengineering/platform': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/s3': specifier: workspace:0.7.3 version: link:../s3 @@ -893,15 +932,15 @@ importers: specifier: workspace:0.7.3 version: link:../core '@hcengineering/server-token': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 '@hcengineering/storage': - specifier: ^0.7.4 - version: 0.7.4 + specifier: ^0.7.5 + version: 0.7.5 devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@types/jest': specifier: ^29.5.5 version: 29.5.14 @@ -932,6 +971,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.18.8)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) @@ -951,8 +993,8 @@ importers: ../scripts: devDependencies: '@hcengineering/platform-rig': - specifier: ^0.7.18 - version: 0.7.18(@babel/core@7.28.4) + specifier: ^0.7.19 + version: 0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) @@ -974,6 +1016,9 @@ importers: eslint-plugin-promise: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: + specifier: ^2.35.1 + version: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) istanbul-lib-coverage: specifier: ^3.2.2 version: 3.2.2 @@ -1524,17 +1569,17 @@ packages: '@formatjs/intl-localematcher@0.6.2': resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} - '@hcengineering/account-client@0.7.4': - resolution: {integrity: sha512-CY5On4xHez/tg+9TeeqdcjCNQ4LPTDHFyCPWsMs62Kfk/nGallrYEBCxIVRxLp1Lnx57OGjx4GVAjzQYwyIQ5Q==} + '@hcengineering/account-client@0.7.5': + resolution: {integrity: sha512-OLJ8wrsJAYx4tbjh1XB86FXLpKdF2E7Tr71Gx8sFp7HhIGNBxsX7DR+JlKM2ih3+sczamuftpTipP6BrqPRK2A==} - '@hcengineering/analytics@0.7.4': - resolution: {integrity: sha512-W80+eFKR+Ty1gmzYOZk45vRjhQGn8SrdfqSfuCE1Bk9iYXGCAbzy5UtNQxfNSp8BzFkS/GZdoZL022saBKg8bQ==} + '@hcengineering/analytics@0.7.5': + resolution: {integrity: sha512-pc76hJxJWh3/9//P/+l8WyowJ/+tpmicrTXwG5c5TBPXAEtqvat/vZF8WOgCo0/0tajISChJ4l1O2GJuPzljhA==} - '@hcengineering/client-resources@0.7.5': - resolution: {integrity: sha512-nMVmRoHor0IEk7gh9IeXbKeW99a3/XJZBj/3dBsCehw/5A/wv+nvNtLaCFgMljW3w0zNUYOio8USkn4yDH3I0Q==} + '@hcengineering/client-resources@0.7.6': + resolution: {integrity: sha512-J2zr71x/D1IDE/udl5Q65K4HY+2P5TLiwOxsyaQr5EMuYFVT5WI7ddlQme4mbwJvfVdaEWJzcpG+TRxIH8z+Fw==} - '@hcengineering/client@0.7.5': - resolution: {integrity: sha512-dZR1mIg0ogsf8g+BmKw5/LkipcyhHYYvd02hxaltwtAuEOkj7X+JKwuw/JEp4SgKrYU1OOncVw9TF8YtOlDHXg==} + '@hcengineering/client@0.7.6': + resolution: {integrity: sha512-QBRDi/kIqmwdEmNjaXEZE0KbW/E6H8J4J2p0j3hPmJS2tmHs3U4o4etl0ZLMMmDloskfxlI10smQm3fWLAqIYA==} '@hcengineering/communication-sdk-types@0.7.3': resolution: {integrity: sha512-Noi9J+s0IH5qbnt5wV8WXMClKmCCnvPpquf3GjJ8CuBmmQvUAv0ogIy7mbuC60ZZDJaHHY9ihtrxZY3lNOJsvA==} @@ -1542,48 +1587,48 @@ packages: '@hcengineering/communication-types@0.7.3': resolution: {integrity: sha512-FeOx3oXgzhTq2abEZY4YZ6aqMTv0QxSx94OAkWvW1JD8l0GyYCf2Qnx1aC9pRIUzrEA61Eri9PLBj/+y00BItw==} - '@hcengineering/core@0.7.6': - resolution: {integrity: sha512-MWaN7XCwERBP4o4xbApqNGCshRlgElosTSWvxt+7h/qlvXYMpVLrOsfHemgpuhwwQe+ruwH0jdPmCHak9t+09A==} + '@hcengineering/core@0.7.7': + resolution: {integrity: sha512-SgCZ87CHeOuUjxkKOYQlW3fKf6WSTgGjJi9vHWt2ceqhqb9eFc8x3RtDwKsHo3MW6+dzg/f76SMTwYkV5qyJSA==} - '@hcengineering/hulylake-client@0.7.5': - resolution: {integrity: sha512-Vf8QMGfmd4eRsqXGMqe/TiGB9JvJ2dpV3x3NKy9lInOl6n4nrajSyTpQ2lWN+gOhSmUG8muu2XgTjsS9XBkLbw==} + '@hcengineering/hulylake-client@0.7.6': + resolution: {integrity: sha512-UwWerlpMVSJgkb6Z8qBnbX4Eq5HoCEAlLtHYKV0SIyBnuubfhxfEN2NMK86EGWwmOBbf5urozdVrQWRfZTvyLQ==} - '@hcengineering/measurements@0.7.10': - resolution: {integrity: sha512-6xsrHorpJkQth4GVtdPoCM5s6USyYtoV9j8tCPhbLUk5yQn+CIvrDZxN60JGBOqvL6hYb6cis2FrAG5NC3HYPw==} + '@hcengineering/measurements@0.7.13': + resolution: {integrity: sha512-v2Cr10kPxulHMTxX8rP0EoaafYB9tGdcUlXGRrAirS+NX1/1rMtm9WSBKkFHH8F9TfzH7FO6owRVfw9uIO0REg==} - '@hcengineering/platform-rig@0.7.18': - resolution: {integrity: sha512-XCeXtmbvMiHuCN31oV4ofVC3q/aqZ37zLOY+YVS0W+5SPM9rs7I4v7GrI4IYAhD8TM9EMbUwuOdq1mhaez6qeg==} + '@hcengineering/platform-rig@0.7.19': + resolution: {integrity: sha512-3Fi5nU+nEPjzzcm3FIfEZU+ZgdkiSfL46ojbj42jdXnWMkxew2aZZVtfmIpPnMUP9AMZlj2/EA+yOcMzfY/VmA==} hasBin: true - '@hcengineering/platform@0.7.4': - resolution: {integrity: sha512-IP+L+UHf6L2D7aoBOZoDyibwURmOOfdNJtWAVTWkHeba/RnAiqohq4LgxUJinUlXITaHM+k/YPdbVabFaIqXrA==} + '@hcengineering/platform@0.7.5': + resolution: {integrity: sha512-muxvDzIpB6chefTdL5vDt3wS8jQbxRXrq5DagXMt/QrgKr3dz0Xbk2sWocuaJXRGrtcllReWHm0OM0Ck+Pd9Ww==} '@hcengineering/postgres-base@0.7.12': resolution: {integrity: sha512-46RH23C0YLjrvZANX/+SLK0wb7cyqtrxdtXlOVAzRg9UHjy0hHfG+rbgOQ03x7LzBdDQaIKdgRCfydfYkQperA==} - '@hcengineering/query@0.7.5': - resolution: {integrity: sha512-Ka+7gH63tjxC225Z5Waj8UOG0033sQDpnpfPAxKtp9AkdS/B7KSrkaDr5B8DUBG1EQrda3VeheAVI8t7xpJiCg==} + '@hcengineering/query@0.7.6': + resolution: {integrity: sha512-/C7p9Kl3JoJftzmPNIXWt8J+auG7OkqYOowXWu4ocFsIxkAGFGR91NqpUALf+DP15XHaGYyuecwhOP2AUHH3rA==} - '@hcengineering/retry@0.7.4': - resolution: {integrity: sha512-XgfAHhf4Qnkp/eSyDMXMt9+9X8OdQNx3MLKYfZQnHjdBvmMmSl5XQ6lS6FO8M8RC1/H3W1PSO2dJ3jT5tuyDyg==} + '@hcengineering/retry@0.7.5': + resolution: {integrity: sha512-cpqDgavawmph13wVzUF3mgOJRSsK/phNTYV3z7k8WCjrTWDlVEJjUJis4FcMbIXvK8qrshSlCKs59HQfn2AkRg==} - '@hcengineering/rpc@0.7.4': - resolution: {integrity: sha512-y6zCo1ZnbzCwyUAIy8aaowxOJU3dNBeLCKIWpBxanQkVuExwkFAvV3Feuh2X0ZvO6BoG16poN3b+usLu0nES2Q==} + '@hcengineering/rpc@0.7.5': + resolution: {integrity: sha512-ecM3z+CdbB/XAkezj0k1s2vJGUQSv3kLCqrd9aYaxUD0fRAflt7MuVb8DtQn8s50H/i7rFu9wR6ELxXo0KAUuQ==} - '@hcengineering/server-token@0.7.4': - resolution: {integrity: sha512-n4/BS9lPbvFup1WXZLzAlBQ4XoHkd0wGnFu40O6xjmB6Uu7QI334mfzpg41aNnyV4u0iiFh7c8lFNt0ATmpmtQ==} + '@hcengineering/server-token@0.7.5': + resolution: {integrity: sha512-icoQGUbWoxh6yQWT+81y36iUhfUr/UHrXOepEf2sFV+Vxn2s9cTgaVIqmalyBvTlwPzycIDrfQwUvNWm1jDEeQ==} - '@hcengineering/storage@0.7.4': - resolution: {integrity: sha512-Y4JxAZIvnr1INKnI1ANyLGV7C/lb0RRbTcb/afflK7Pwjbbigh8PYVfS+uur68ImAnUhrjbFvJNY+vbnOUNBtg==} + '@hcengineering/storage@0.7.5': + resolution: {integrity: sha512-E7PiVruvqVhxUDqMEmsTOKu9knVeElyyU796wbRE5SEFOd9MY0p2lLr7vcwmbc0U/NPA+JD5NWHZwoTmdvBcgg==} - '@hcengineering/text-core@0.7.4': - resolution: {integrity: sha512-I/HL+d93GPV03nxTA0Jgm1LRD3R9tkwZwmbTe7XiQycfsroBXNR/nFZtnPCj8lTB40XQRaDW0z8lCV/R6vy8pA==} + '@hcengineering/text-core@0.7.5': + resolution: {integrity: sha512-kT9USjZkXdwzEUITvHYhbkzFLtQR4ioEuSiX4SNVYbHxeWoFsNTJgT02H3wTX/3PYKZTpLgLR2srJDW4GY+86g==} - '@hcengineering/text-ydoc@0.7.4': - resolution: {integrity: sha512-z73L8PLTBTmTTb3GXavoMWCuovSHj/5CNewd3zNUxUmZr/f4106laXwoxrNSm13b6XHcaVB5z6nl/SD+5chFpA==} + '@hcengineering/text-ydoc@0.7.5': + resolution: {integrity: sha512-vOhHVUDuO2j+9uTDjCUyuiarGmR6XOIm8oREKDAE7pMKbdXtibOP63A8CTiGGlYulBd8sBRBEO1lF9x9nly/Uw==} - '@hcengineering/text@0.7.4': - resolution: {integrity: sha512-0CHE1tnUlj8yEn7Srz3my+MXl5lOFeJVzaSwFMnlo8EStJonQc7qJFeKyDapncwY7jukHIv8RJxgy7qnjdyimA==} + '@hcengineering/text@0.7.5': + resolution: {integrity: sha512-oyG5ksha3t5TZ+PC33kIgRYdDBt2wRV8ZRKCwcv5tdx19xSp5ut5CGWVhnk7bWnf00FyJY8K2YM+UU4KzSR/iQ==} '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} @@ -2592,6 +2637,11 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -2742,12 +2792,12 @@ packages: peerDependencies: esbuild: '>= 0.14.0' - esbuild-svelte@0.8.2: - resolution: {integrity: sha512-tG97WrhH/OH8wFCmRBk6sRggMVMPNZDktGx1jJcvh9Obvjwm8M1UYoXmliuLL+4fs/wfyVVwM2fvyNYz2e6UPQ==} - engines: {node: '>=14'} + esbuild-svelte@0.9.3: + resolution: {integrity: sha512-CgEcGY1r/d16+aggec3czoFBEBaYIrFOnMxpsO6fWNaNEqHregPN5DLAPZDqrL7rXDNplW+WMu8s3GMq9FqgJA==} + engines: {node: '>=18'} peerDependencies: - esbuild: '>=0.9.6' - svelte: '>=3.43.0 <6 || ^5.0.0-next.0' + esbuild: '>=0.17.0' + svelte: '>=4.2.1 <6' esbuild@0.25.10: resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} @@ -2766,6 +2816,12 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + eslint-config-standard-with-typescript@40.0.0: resolution: {integrity: sha512-GXUJcwIXiTQaS3H4etv8a1lejVVdZYaxZNz3g7vt6GoJosQqMTurbmSC4FVGyHiGT/d1TjFr3+47A3xsHhsG+Q==} deprecated: Please use eslint-config-love, instead. @@ -2822,6 +2878,16 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-svelte@2.46.1: + resolution: {integrity: sha512-7xYr2o4NID/f9OEYMqxsEQsCsj4KaMy4q5sANaKkAb6/QeCjYFxRmDm2S3YC3A3pl1kyPZ/syOx/i7LcWYSbIw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3481,6 +3547,9 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + known-css-properties@0.35.0: + resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} + lcov-parse@1.0.0: resolution: {integrity: sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==} hasBin: true @@ -3498,6 +3567,10 @@ packages: engines: {node: '>=16'} hasBin: true + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -3645,6 +3718,11 @@ packages: msgpackr@1.11.5: resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3784,6 +3862,38 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-safe-parser@6.0.0: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + postgres@3.4.7: resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} engines: {node: '>=12'} @@ -4159,6 +4269,24 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svelte-eslint-parser@0.33.1: + resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 + peerDependenciesMeta: + svelte: + optional: true + + svelte-eslint-parser@0.43.0: + resolution: {integrity: sha512-GpU52uPKKcVnh8tKN5P4UZpJ/fUDndmq7wfsvoVXsyP+aY0anol7Yqo01fyrlaWGMFfm4av5DyrjlaXdLRJvGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + svelte-preprocess@5.1.4: resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} engines: {node: '>= 16.0.0'} @@ -4459,6 +4587,10 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -5316,68 +5448,70 @@ snapshots: dependencies: tslib: 2.8.1 - '@hcengineering/account-client@0.7.4': + '@hcengineering/account-client@0.7.5': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 - '@hcengineering/analytics@0.7.4': + '@hcengineering/analytics@0.7.5': dependencies: - '@hcengineering/platform': 0.7.4 + '@hcengineering/platform': 0.7.5 - '@hcengineering/client-resources@0.7.5': + '@hcengineering/client-resources@0.7.6': dependencies: - '@hcengineering/analytics': 0.7.4 - '@hcengineering/client': 0.7.5 - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 - '@hcengineering/rpc': 0.7.4 + '@hcengineering/analytics': 0.7.5 + '@hcengineering/client': 0.7.6 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 + '@hcengineering/rpc': 0.7.5 snappyjs: 0.7.0 - '@hcengineering/client@0.7.5': + '@hcengineering/client@0.7.6': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 '@hcengineering/communication-sdk-types@0.7.3': dependencies: '@hcengineering/communication-types': 0.7.3 - '@hcengineering/core': 0.7.6 + '@hcengineering/core': 0.7.7 '@hcengineering/communication-types@0.7.3': dependencies: - '@hcengineering/core': 0.7.6 + '@hcengineering/core': 0.7.7 - '@hcengineering/core@0.7.6': + '@hcengineering/core@0.7.7': dependencies: - '@hcengineering/analytics': 0.7.4 - '@hcengineering/measurements': 0.7.10 - '@hcengineering/platform': 0.7.4 + '@hcengineering/analytics': 0.7.5 + '@hcengineering/measurements': 0.7.13 + '@hcengineering/platform': 0.7.5 fast-equals: 5.3.2 - '@hcengineering/hulylake-client@0.7.5': + '@hcengineering/hulylake-client@0.7.6': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/retry': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/retry': 0.7.5 - '@hcengineering/measurements@0.7.10': {} + '@hcengineering/measurements@0.7.13': {} - '@hcengineering/platform-rig@0.7.18(@babel/core@7.28.4)': + '@hcengineering/platform-rig@0.7.19(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3))': dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.9.3) esbuild: 0.25.10 esbuild-plugin-copy: 2.1.1(esbuild@0.25.10) - esbuild-svelte: 0.8.2(esbuild@0.25.10)(svelte@4.2.20) + esbuild-svelte: 0.9.3(esbuild@0.25.10)(svelte@4.2.20) eslint: 8.57.1 eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint-plugin-import@2.32.0(eslint@8.57.1))(eslint-plugin-n@15.7.0(eslint@8.57.1))(eslint-plugin-promise@6.6.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3) eslint-plugin-import: 2.32.0(eslint@8.57.1) eslint-plugin-n: 15.7.0(eslint@8.57.1) eslint-plugin-promise: 6.6.0(eslint@8.57.1) + eslint-plugin-svelte: 2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) prettier: 3.6.2 prettier-plugin-svelte: 3.4.0(prettier@3.6.2)(svelte@4.2.20) svelte: 4.2.20 - svelte-preprocess: 5.1.4(@babel/core@7.28.4)(svelte@4.2.20)(typescript@5.9.3) + svelte-eslint-parser: 0.33.1(svelte@4.2.20) + svelte-preprocess: 5.1.4(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(svelte@4.2.20)(typescript@5.9.3) svelte2tsx: 0.7.45(svelte@4.2.20)(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -5391,8 +5525,9 @@ snapshots: - stylus - sugarss - supports-color + - ts-node - '@hcengineering/platform@0.7.4': + '@hcengineering/platform@0.7.5': dependencies: intl-messageformat: 10.7.17 @@ -5400,45 +5535,45 @@ snapshots: dependencies: postgres: 3.4.7 - '@hcengineering/query@0.7.5': + '@hcengineering/query@0.7.6': dependencies: - '@hcengineering/analytics': 0.7.4 - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/analytics': 0.7.5 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 fast-equals: 5.3.2 - '@hcengineering/retry@0.7.4': {} + '@hcengineering/retry@0.7.5': {} - '@hcengineering/rpc@0.7.4': + '@hcengineering/rpc@0.7.5': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 msgpackr: 1.11.5 - '@hcengineering/server-token@0.7.4': + '@hcengineering/server-token@0.7.5': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 jwt-simple: 0.5.6 uuid: 8.3.2 - '@hcengineering/storage@0.7.4': + '@hcengineering/storage@0.7.5': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/platform': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/platform': 0.7.5 fast-equals: 5.3.2 - '@hcengineering/text-core@0.7.4': + '@hcengineering/text-core@0.7.5': dependencies: - '@hcengineering/core': 0.7.6 + '@hcengineering/core': 0.7.7 fast-equals: 5.3.2 hash-it: 6.0.0 - '@hcengineering/text-ydoc@0.7.4(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2)': + '@hcengineering/text-ydoc@0.7.5(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2)': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/text': 0.7.4(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) - '@hcengineering/text-core': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/text': 0.7.5(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2) + '@hcengineering/text-core': 0.7.5 y-protocols: 1.0.6(yjs@13.6.27) yjs: 13.6.27 transitivePeerDependencies: @@ -5447,10 +5582,10 @@ snapshots: - prosemirror-state - prosemirror-view - '@hcengineering/text@0.7.4(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2)': + '@hcengineering/text@0.7.5(prosemirror-inputrules@1.5.0)(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.2)': dependencies: - '@hcengineering/core': 0.7.6 - '@hcengineering/text-core': 0.7.4 + '@hcengineering/core': 0.7.7 + '@hcengineering/text-core': 0.7.5 '@tiptap/core': 2.26.2(@tiptap/pm@2.26.2) '@tiptap/extension-blockquote': 2.26.2(@tiptap/core@2.26.2(@tiptap/pm@2.26.2)) '@tiptap/extension-bold': 2.26.2(@tiptap/core@2.26.2(@tiptap/pm@2.26.2)) @@ -6803,6 +6938,8 @@ snapshots: css-what@6.2.2: {} + cssesc@3.0.0: {} + data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -6988,7 +7125,7 @@ snapshots: fs-extra: 10.1.0 globby: 11.1.0 - esbuild-svelte@0.8.2(esbuild@0.25.10)(svelte@4.2.20): + esbuild-svelte@0.9.3(esbuild@0.25.10)(svelte@4.2.20): dependencies: '@jridgewell/trace-mapping': 0.3.31 esbuild: 0.25.10 @@ -7029,6 +7166,11 @@ snapshots: escape-string-regexp@4.0.0: {} + eslint-compat-utils@0.5.1(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + semver: 7.7.2 + eslint-config-standard-with-typescript@40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint-plugin-import@2.32.0(eslint@8.57.1))(eslint-plugin-n@15.7.0(eslint@8.57.1))(eslint-plugin-promise@6.6.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3): dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) @@ -7106,6 +7248,25 @@ snapshots: dependencies: eslint: 8.57.1 + eslint-plugin-svelte@2.46.1(eslint@8.57.1)(svelte@4.2.20)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)): + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@jridgewell/sourcemap-codec': 1.5.5 + eslint: 8.57.1 + eslint-compat-utils: 0.5.1(eslint@8.57.1) + esutils: 2.0.3 + known-css-properties: 0.35.0 + postcss: 8.5.6 + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) + postcss-safe-parser: 6.0.0(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + semver: 7.7.2 + svelte-eslint-parser: 0.43.0(svelte@4.2.20) + optionalDependencies: + svelte: 4.2.20 + transitivePeerDependencies: + - ts-node + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 @@ -7989,6 +8150,8 @@ snapshots: kleur@3.0.3: {} + known-css-properties@0.35.0: {} + lcov-parse@1.0.0: {} leven@3.1.0: {} @@ -8002,6 +8165,8 @@ snapshots: dependencies: isomorphic.js: 0.2.5 + lilconfig@2.1.0: {} + lines-and-columns@1.2.4: {} linkify-it@5.0.0: @@ -8140,6 +8305,8 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.3 + nanoid@3.3.11: {} + natural-compare@1.4.0: {} neo-async@2.6.2: {} @@ -8276,6 +8443,33 @@ snapshots: possible-typed-array-names@1.1.0: {} + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)): + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + optionalDependencies: + postcss: 8.5.6 + ts-node: 10.9.2(@types/node@22.18.8)(typescript@5.9.3) + + postcss-safe-parser@6.0.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-scss@4.0.9(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postgres@3.4.7: {} prelude-ls@1.2.1: {} @@ -8707,7 +8901,27 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-preprocess@5.1.4(@babel/core@7.28.4)(svelte@4.2.20)(typescript@5.9.3): + svelte-eslint-parser@0.33.1(svelte@4.2.20): + dependencies: + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + postcss: 8.5.6 + postcss-scss: 4.0.9(postcss@8.5.6) + optionalDependencies: + svelte: 4.2.20 + + svelte-eslint-parser@0.43.0(svelte@4.2.20): + dependencies: + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + postcss: 8.5.6 + postcss-scss: 4.0.9(postcss@8.5.6) + optionalDependencies: + svelte: 4.2.20 + + svelte-preprocess@5.1.4(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)))(postcss@8.5.6)(svelte@4.2.20)(typescript@5.9.3): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -8717,6 +8931,8 @@ snapshots: svelte: 4.2.20 optionalDependencies: '@babel/core': 7.28.4 + postcss: 8.5.6 + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.8)(typescript@5.9.3)) typescript: 5.9.3 svelte2tsx@0.7.45(svelte@4.2.20)(typescript@5.9.3): @@ -9014,6 +9230,8 @@ snapshots: yallist@3.1.1: {} + yaml@1.10.2: {} + yargs-parser@21.1.1: {} yargs@17.7.2: diff --git a/common/scripts/package.json b/common/scripts/package.json index a62de484fe..3174fc7564 100644 --- a/common/scripts/package.json +++ b/common/scripts/package.json @@ -9,7 +9,7 @@ "test:coverage": "node run-tests-with-coverage.js" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.2.0", @@ -20,7 +20,8 @@ "eslint-plugin-n": "^15.4.0", "eslint": "^8.54.0", "@typescript-eslint/parser": "^6.21.0", - "eslint-config-standard-with-typescript": "^40.0.0" + "eslint-config-standard-with-typescript": "^40.0.0", + "eslint-plugin-svelte": "^2.35.1" }, "private": true } diff --git a/packages/client/CHANGELOG.json b/packages/client/CHANGELOG.json index d875ad506b..1ac423a317 100644 --- a/packages/client/CHANGELOG.json +++ b/packages/client/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/server-client", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/server-client_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/server-client_v0.7.3", diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index a9ce9486ec..9c561cf862 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/server-client -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/client/package.json b/packages/client/package.json index b310a77265..6a7dd6a71c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/server-client", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -33,16 +33,17 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "@types/node": "^22.15.29" + "@types/node": "^22.15.29", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/platform": "^0.7.4", - "@hcengineering/core": "^0.7.6", - "@hcengineering/client-resources": "^0.7.5", - "@hcengineering/client": "^0.7.5", - "@hcengineering/account-client": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/server-token": "^0.7.4", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/core": "^0.7.7", + "@hcengineering/client-resources": "^0.7.6", + "@hcengineering/client": "^0.7.6", + "@hcengineering/account-client": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/server-token": "^0.7.5", "ws": "^8.18.2" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/collaboration/CHANGELOG.json b/packages/collaboration/CHANGELOG.json index b6cc8aeca2..a163dd4b2c 100644 --- a/packages/collaboration/CHANGELOG.json +++ b/packages/collaboration/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/collaboration", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/collaboration_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/collaboration_v0.7.3", diff --git a/packages/collaboration/CHANGELOG.md b/packages/collaboration/CHANGELOG.md index f9fa3e928e..70b5321272 100644 --- a/packages/collaboration/CHANGELOG.md +++ b/packages/collaboration/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/collaboration -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/collaboration/package.json b/packages/collaboration/package.json index 61ef0776f9..bb354b5a94 100644 --- a/packages/collaboration/package.json +++ b/packages/collaboration/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/collaboration", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@types/node": "^22.15.29", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", @@ -31,13 +31,14 @@ "typescript": "^5.9.3", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/text": "^0.7.4", - "@hcengineering/text-ydoc": "^0.7.4", + "@hcengineering/core": "^0.7.7", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/text": "^0.7.5", + "@hcengineering/text-ydoc": "^0.7.5", "base64-js": "^1.5.1", "yjs": "^13.6.27" }, diff --git a/packages/core/CHANGELOG.json b/packages/core/CHANGELOG.json index 38eb1dbbca..ce10b54cc6 100644 --- a/packages/core/CHANGELOG.json +++ b/packages/core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@hcengineering/server-core", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/server-core_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/server-core_v0.7.3", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 31264d9b63..578771a073 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/server-core -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/core/package.json b/packages/core/package.json index ee7aa3a006..9c2258871a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/server-core", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@types/node": "^22.15.29", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", @@ -32,18 +32,19 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "@types/uuid": "^8.3.1" + "@types/uuid": "^8.3.1", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/analytics": "^0.7.4", + "@hcengineering/analytics": "^0.7.5", "@hcengineering/communication-sdk-types": "^0.7.3", "@hcengineering/communication-types": "^0.7.3", - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/query": "^0.7.5", - "@hcengineering/rpc": "^0.7.4", - "@hcengineering/server-token": "^0.7.4", - "@hcengineering/storage": "^0.7.4", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/query": "^0.7.6", + "@hcengineering/rpc": "^0.7.5", + "@hcengineering/server-token": "^0.7.5", + "@hcengineering/storage": "^0.7.5", "fast-equals": "^5.2.2", "uuid": "^8.3.2" }, diff --git a/packages/core/src/__tests__/performance-benchmark.ts b/packages/core/src/__tests__/performance-benchmark.ts new file mode 100644 index 0000000000..af0812b0b8 --- /dev/null +++ b/packages/core/src/__tests__/performance-benchmark.ts @@ -0,0 +1,145 @@ +// +// Copyright © 2025 Hardcore Engineering Inc. +// +// Licensed under the Eclipse Public License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. You may +// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +/** + * Performance comparison between original and optimized estimateDocSize + */ + +import { estimateDocSize } from '../utils' + +interface PerfResult { + name: string + size: number + time: number +} + +function benchmark (name: string, obj: any, iterations: number = 1000): PerfResult { + const start = process.hrtime.bigint() + let size = 0 + for (let i = 0; i < iterations; i++) { + size = estimateDocSize(obj) + } + const end = process.hrtime.bigint() + const elapsed = Number(end - start) / 1000000 // Convert to milliseconds + + return { name, size, time: elapsed } +} + +console.log('Performance Benchmarks for estimateDocSize (Optimized Version)\n') +console.log('='.repeat(70)) + +// Test 1: Small flat object +const smallFlat = { a: 1, b: 'test', c: true, d: null } +const r1 = benchmark('Small flat object (4 props)', smallFlat, 10000) +console.log(`${r1.name}`) +console.log(` Size: ${r1.size} bytes`) +console.log(` Time: ${r1.time.toFixed(2)}ms for 10000 iterations`) +console.log(` Avg: ${(r1.time / 10000).toFixed(4)}ms per call\n`) + +// Test 2: Large flat object +const largeFlat: any = {} +for (let i = 0; i < 1000; i++) { + largeFlat[`key${i}`] = `value${i}` +} +const r2 = benchmark('Large flat object (1000 props)', largeFlat, 1000) +console.log(`${r2.name}`) +console.log(` Size: ${r2.size} bytes`) +console.log(` Time: ${r2.time.toFixed(2)}ms for 1000 iterations`) +console.log(` Avg: ${(r2.time / 1000).toFixed(4)}ms per call\n`) + +// Test 3: Deeply nested object +let deeplyNested: any = { value: 'end' } +for (let i = 0; i < 50; i++) { + deeplyNested = { nested: deeplyNested } +} +const r3 = benchmark('Deeply nested object (50 levels)', deeplyNested, 5000) +console.log(`${r3.name}`) +console.log(` Size: ${r3.size} bytes`) +console.log(` Time: ${r3.time.toFixed(2)}ms for 5000 iterations`) +console.log(` Avg: ${(r3.time / 5000).toFixed(4)}ms per call\n`) + +// Test 4: Array with objects +const arrayWithObjects = { + items: Array(100) + .fill(0) + .map((_, i) => ({ + id: i, + name: `Item ${i}`, + active: true, + metadata: { score: i * 2 } + })) +} +const r4 = benchmark('Array with 100 objects', arrayWithObjects, 1000) +console.log(`${r4.name}`) +console.log(` Size: ${r4.size} bytes`) +console.log(` Time: ${r4.time.toFixed(2)}ms for 1000 iterations`) +console.log(` Avg: ${(r4.time / 1000).toFixed(4)}ms per call\n`) + +// Test 5: Complex document (MongoDB-like) +const complexDoc = { + _id: '507f1f77bcf86cd799439011', + _class: 'contact.class.Person', + space: 'space:contacts', + modifiedBy: 'user:admin', + modifiedOn: 1704067200000, + firstName: 'John', + lastName: 'Doe', + email: 'john.doe@example.com', + phone: '+1-555-0123', + avatar: null, + channels: ['email', 'phone', 'slack'], + metadata: { + source: 'import', + verified: true, + score: 95, + tags: ['developer', 'senior', 'fullstack'] + }, + history: Array(10) + .fill(0) + .map((_, i) => ({ + timestamp: Date.now() - i * 86400000, + action: `Action ${i}`, + user: `user${i}` + })) +} +const r5 = benchmark('Complex document', complexDoc, 5000) +console.log(`${r5.name}`) +console.log(` Size: ${r5.size} bytes`) +console.log(` Time: ${r5.time.toFixed(2)}ms for 5000 iterations`) +console.log(` Avg: ${(r5.time / 5000).toFixed(4)}ms per call\n`) + +// Test 6: Circular reference handling +const circular: any = { + name: 'root', + children: [ + { name: 'child1', value: 1 }, + { name: 'child2', value: 2 } + ] +} +circular.children[0].parent = circular +circular.children[1].parent = circular +const r6 = benchmark('Object with circular refs', circular, 5000) +console.log(`${r6.name}`) +console.log(` Size: ${r6.size} bytes`) +console.log(` Time: ${r6.time.toFixed(2)}ms for 5000 iterations`) +console.log(` Avg: ${(r6.time / 5000).toFixed(4)}ms per call\n`) + +console.log('='.repeat(70)) +console.log('\nKey Improvements in Optimized Version:') +console.log('✓ Handles circular references without infinite loops') +console.log('✓ Uses queue index instead of shift() for O(1) operations') +console.log('✓ Only counts own properties (not prototype chain)') +console.log('✓ Better performance for large objects') +console.log('✓ More accurate size estimation') diff --git a/packages/core/src/__tests__/utils.test.ts b/packages/core/src/__tests__/utils.test.ts new file mode 100644 index 0000000000..29e7153667 --- /dev/null +++ b/packages/core/src/__tests__/utils.test.ts @@ -0,0 +1,336 @@ +// +// Copyright © 2025 Hardcore Engineering Inc. +// +// Licensed under the Eclipse Public License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. You may +// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import { estimateDocSize } from '../utils' + +describe('estimateDocSize', () => { + describe('primitive types', () => { + it('should estimate undefined', () => { + const obj = { a: undefined } + const size = estimateDocSize(obj) + expect(size).toBe(2) // 'a' (1) + undefined (1) + }) + + it('should estimate null', () => { + const obj = { a: null } + const size = estimateDocSize(obj) + expect(size).toBe(2) // 'a' (1) + null (1) + }) + + it('should estimate boolean', () => { + const obj = { flag: true } + const size = estimateDocSize(obj) + expect(size).toBe(5) // 'flag' (4) + boolean (1) + }) + + it('should estimate number', () => { + const obj = { count: 42 } + const size = estimateDocSize(obj) + expect(size).toBe(13) // 'count' (5) + number (8) + }) + + it('should estimate string', () => { + const obj = { name: 'hello' } + const size = estimateDocSize(obj) + expect(size).toBe(9) // 'name' (4) + 'hello' (5) + }) + + it('should estimate symbol', () => { + const sym = Symbol('test') + const obj = { sym } + const size = estimateDocSize(obj) + // 'sym' (3) + Symbol(test).toString() length + expect(size).toBeGreaterThan(3) + }) + + it('should estimate bigint', () => { + const obj = { big: BigInt(12345) } + const size = estimateDocSize(obj) + expect(size).toBe(8) // 'big' (3) + '12345' (5) + }) + + it('should estimate Date', () => { + const obj = { date: new Date('2025-01-01') } + const size = estimateDocSize(obj) + expect(size).toBe(28) // 'date' (4) + Date estimation (24) + }) + }) + + describe('complex types', () => { + it('should estimate empty object', () => { + const obj = {} + const size = estimateDocSize(obj) + expect(size).toBe(0) + }) + + it('should estimate nested object', () => { + const obj = { + user: { + name: 'John', + age: 30 + } + } + const size = estimateDocSize(obj) + // 'user' (4) + 'name' (4) + 'John' (4) + 'age' (3) + 8 (number) + expect(size).toBe(23) + }) + + it('should estimate empty array', () => { + const obj = { items: [] } + const size = estimateDocSize(obj) + expect(size).toBe(9) // 'items' (5) + array overhead (4) + }) + + it('should estimate array with primitives', () => { + const obj = { numbers: [1, 2, 3] } + const size = estimateDocSize(obj) + // 'numbers' (7) + array (4) + '0' (1) + 8 + '1' (1) + 8 + '2' (1) + 8 = 38 + expect(size).toBe(38) + }) + + it('should estimate array with objects', () => { + const obj = { + users: [{ name: 'Alice' }, { name: 'Bob' }] + } + const size = estimateDocSize(obj) + // 'users' (5) + array (4) + '0' (1) + 'name' (4) + 'Alice' (5) + '1' (1) + 'name' (4) + 'Bob' (3) + expect(size).toBe(27) + }) + + it('should estimate deeply nested structures', () => { + const obj = { + level1: { + level2: { + level3: { + value: 'deep' + } + } + } + } + const size = estimateDocSize(obj) + // 'level1' (6) + 'level2' (6) + 'level3' (6) + 'value' (5) + 'deep' (4) + expect(size).toBe(27) + }) + }) + + describe('mixed types', () => { + it('should estimate complex document', () => { + const obj = { + _id: 'doc123', + _class: 'contact.class.Person', + name: 'John Doe', + age: 30, + active: true, + tags: ['developer', 'manager'], + address: { + street: '123 Main St', + city: 'New York', + zip: 10001 + }, + createdOn: new Date('2025-01-01') + } + const size = estimateDocSize(obj) + expect(size).toBeGreaterThan(100) + expect(size).toBeLessThan(300) + }) + + it('should handle mixed arrays', () => { + const obj = { + mixed: [1, 'two', true, null, { key: 'value' }] + } + const size = estimateDocSize(obj) + // 'mixed' (5) + array (4) + // '0' (1) + number (8) + // '1' (1) + 'two' (3) + // '2' (1) + boolean (1) + // '3' (1) + null (1) + // '4' (1) + 'key' (3) + 'value' (5) + expect(size).toBe(35) + }) + }) + + describe('edge cases', () => { + it('should handle circular references gracefully', () => { + const obj: any = { a: 1 } + obj.self = obj + // Should not crash with optimized version + const size = estimateDocSize(obj) + // Should count 'a' (1) + number (8) + 'self' (4) = 13 + // The circular reference is detected and not processed again + expect(size).toBe(13) + }) + + it('should handle complex circular references', () => { + const obj1: any = { name: 'obj1' } + const obj2: any = { name: 'obj2' } + obj1.ref = obj2 + obj2.ref = obj1 + const size = estimateDocSize(obj1) + // Should not crash and should count both objects only once + expect(size).toBeGreaterThan(0) + expect(size).toBeLessThan(50) + }) + + it('should skip functions', () => { + const obj = { + name: 'test', + method: () => 'hello' // Use arrow function to avoid function properties + } + const size = estimateDocSize(obj) + // 'name' (4) + 'test' (4) + 'method' (6) + function properties + // Arrow functions have properties like 'length' and 'name' + expect(size).toBeGreaterThan(14) + expect(size).toBeLessThan(50) + }) + + it('should handle objects with null prototype', () => { + const obj = Object.create(null) + obj.key = 'value' + const size = estimateDocSize(obj) + expect(size).toBe(8) // 'key' (3) + 'value' (5) + }) + + it('should not count inherited properties', () => { + const proto = { inherited: 'value' } + const obj = Object.create(proto) + obj.own = 'test' + const size = estimateDocSize(obj) + // Should only count 'own' (3) + 'test' (4) = 7 + // Should NOT count 'inherited' from prototype + expect(size).toBe(7) + }) + + it('should handle arrays with holes', () => { + const obj = { arr: [1, , 3] } // eslint-disable-line no-sparse-arrays + const size = estimateDocSize(obj) + // 'arr' (3) + array (4) + '0' (1) + number (8) + '2' (1) + number (8) + // Note: hole at index 1 is not counted as it doesn't exist + expect(size).toBe(25) + }) + + it('should handle large strings', () => { + const largeString = 'x'.repeat(10000) + const obj = { data: largeString } + const size = estimateDocSize(obj) + expect(size).toBe(10004) // 'data' (4) + 10000 characters + }) + }) + + describe('realistic document scenarios', () => { + it('should estimate typical MongoDB-like document', () => { + const doc = { + _id: '507f1f77bcf86cd799439011', + _class: 'contact.class.Person', + space: 'space:contacts', + modifiedBy: 'user:admin', + modifiedOn: 1704067200000, + firstName: 'John', + lastName: 'Doe', + email: 'john.doe@example.com', + phone: '+1-555-0123', + avatar: null, + channels: ['email', 'phone'], + metadata: { + source: 'import', + verified: true, + score: 95 + } + } + const size = estimateDocSize(doc) + expect(size).toBeGreaterThan(200) + expect(size).toBeLessThan(500) + }) + + it('should estimate transaction document', () => { + const tx = { + _id: 'tx:123', + _class: 'core.class.TxCreateDoc', + space: 'core.space.Tx', + modifiedBy: 'user:admin', + modifiedOn: Date.now(), + objectId: 'doc:456', + objectClass: 'contact.class.Person', + objectSpace: 'space:contacts', + attributes: { + name: 'New Person', + email: 'new@example.com' + } + } + const size = estimateDocSize(tx) + expect(size).toBeGreaterThan(150) + expect(size).toBeLessThan(400) + }) + }) + + describe('performance', () => { + it('should handle large flat objects efficiently', () => { + const obj: any = {} + for (let i = 0; i < 1000; i++) { + obj[`key${i}`] = `value${i}` + } + const start = Date.now() + const size = estimateDocSize(obj) + const elapsed = Date.now() - start + expect(size).toBeGreaterThan(8000) + expect(elapsed).toBeLessThan(100) // Should complete in <100ms + }) + + it('should handle deeply nested objects', () => { + let obj: any = { value: 'end' } + for (let i = 0; i < 100; i++) { + obj = { nested: obj } + } + const start = Date.now() + const size = estimateDocSize(obj) + const elapsed = Date.now() - start + expect(size).toBeGreaterThan(600) + expect(elapsed).toBeLessThan(50) + }) + + it('should handle large arrays efficiently', () => { + const obj = { + items: Array(1000) + .fill(0) + .map((_, i) => ({ + id: i, + name: `Item ${i}`, + active: true + })) + } + const start = Date.now() + const size = estimateDocSize(obj) + const elapsed = Date.now() - start + expect(size).toBeGreaterThan(10000) + expect(elapsed).toBeLessThan(100) + }) + }) + + describe('consistency', () => { + it('should return same size for equivalent objects', () => { + const obj1 = { a: 1, b: 'test', c: true } + const obj2 = { a: 1, b: 'test', c: true } + expect(estimateDocSize(obj1)).toBe(estimateDocSize(obj2)) + }) + + it('should be order independent for object keys', () => { + const obj1 = { a: 1, b: 2, c: 3 } + const obj2 = { c: 3, a: 1, b: 2 } + // Note: The current implementation iterates over keys via 'for..in' + // which may have order-dependent behavior, but for estimation purposes + // the total size should be the same + expect(estimateDocSize(obj1)).toBe(estimateDocSize(obj2)) + }) + }) +}) diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index c48c3d4aa0..06b955eabb 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -572,6 +572,14 @@ export interface ClientSessionCtx { sendError: (id: ReqId | undefined, msg: any, error: any) => Promise } +// +// Will add some values to global one second counters map +// +export interface OneSecondCounters { + // Will add value, and then done is called, value will be returned + add: (counter: string, count: number) => void +} + /** * @public */ @@ -710,7 +718,7 @@ export type SessionHealth = 'healthy' | 'degraded' | 'unhealthy' /** * @public */ -export interface SessionManager { +export interface SessionManager extends OneSecondCounters { // workspaces: Map sessions: Map diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts index 017b828240..fbee8e1274 100644 --- a/packages/core/src/utils.ts +++ b/packages/core/src/utils.ts @@ -44,20 +44,37 @@ import type { Pipeline } from './types' /** * Return some estimation for object size + * Optimized version that handles circular references and uses more efficient queue processing */ export function estimateDocSize (_obj: any): number { let result = 0 const toProcess = [_obj] - while (toProcess.length > 0) { - const obj = toProcess.shift() - if (typeof obj === 'undefined') { + const visited = new WeakSet() + let index = 0 + + while (index < toProcess.length) { + const obj = toProcess[index++] + + if (typeof obj === 'undefined' || typeof obj === 'function') { continue } - if (typeof obj === 'function') { + + // Handle primitives directly + const objType = typeof obj + if (objType !== 'object' || obj === null) { continue } - for (const key in obj) { - // include prototype properties + + // Check for circular references + if (visited.has(obj)) { + continue + } + visited.add(obj) + + // Use Object.keys to only iterate over own properties (not prototype chain) + const keys = Object.keys(obj) + for (let i = 0; i < keys.length; i++) { + const key = keys[i] const value = obj[key] const type = getTypeOf(value) result += key.length diff --git a/packages/datalake/CHANGELOG.json b/packages/datalake/CHANGELOG.json index 4db7b2ee09..73542eacea 100644 --- a/packages/datalake/CHANGELOG.json +++ b/packages/datalake/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/datalake", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/datalake_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/datalake_v0.7.3", diff --git a/packages/datalake/CHANGELOG.md b/packages/datalake/CHANGELOG.md index 62cd11a7bd..e731dee97c 100644 --- a/packages/datalake/CHANGELOG.md +++ b/packages/datalake/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/datalake -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/datalake/package.json b/packages/datalake/package.json index 1b48faf46c..d08674a781 100644 --- a/packages/datalake/package.json +++ b/packages/datalake/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/datalake", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -32,13 +32,14 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "ts-node": "^10.8.0" + "ts-node": "^10.8.0", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/server-token": "^0.7.4" + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/server-token": "^0.7.5" }, "repository": "https://github.com/hcengineering/huly.server", "publishConfig": { diff --git a/packages/elastic/CHANGELOG.json b/packages/elastic/CHANGELOG.json index 921760e613..97ae4e036f 100644 --- a/packages/elastic/CHANGELOG.json +++ b/packages/elastic/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/elastic", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/elastic_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/elastic_v0.7.3", diff --git a/packages/elastic/CHANGELOG.md b/packages/elastic/CHANGELOG.md index c5d44edd33..6cb99b3402 100644 --- a/packages/elastic/CHANGELOG.md +++ b/packages/elastic/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/elastic -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/elastic/package.json b/packages/elastic/package.json index 6086d2699c..6abec229de 100644 --- a/packages/elastic/package.json +++ b/packages/elastic/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/elastic", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -38,7 +38,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -51,14 +51,15 @@ "typescript": "^5.9.3", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", "@elastic/elasticsearch": "^7.17.14", - "@hcengineering/analytics": "^0.7.4" + "@hcengineering/analytics": "^0.7.5" }, "repository": "https://github.com/hcengineering/huly.server", "publishConfig": { diff --git a/packages/hulylake/CHANGELOG.json b/packages/hulylake/CHANGELOG.json index 6b04537b21..599eb74ba8 100644 --- a/packages/hulylake/CHANGELOG.json +++ b/packages/hulylake/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/hulylake", "entries": [ + { + "version": "0.7.5", + "tag": "@hcengineering/hulylake_v0.7.5", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.4", "tag": "@hcengineering/hulylake_v0.7.4", diff --git a/packages/hulylake/CHANGELOG.md b/packages/hulylake/CHANGELOG.md index 6f2e0d4bfa..0952e449b7 100644 --- a/packages/hulylake/CHANGELOG.md +++ b/packages/hulylake/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/hulylake -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.5 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.4 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/hulylake/package.json b/packages/hulylake/package.json index 5f592a2484..ada2fd388c 100644 --- a/packages/hulylake/package.json +++ b/packages/hulylake/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/hulylake", - "version": "0.7.4", + "version": "0.7.5", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -32,14 +32,15 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "ts-node": "^10.8.0" + "ts-node": "^10.8.0", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/server-token": "^0.7.4", - "@hcengineering/hulylake-client": "^0.7.5" + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/server-token": "^0.7.5", + "@hcengineering/hulylake-client": "^0.7.6" }, "repository": "https://github.com/hcengineering/huly.server", "publishConfig": { diff --git a/packages/kafka/CHANGELOG.json b/packages/kafka/CHANGELOG.json index a28768cf6d..034716bc36 100644 --- a/packages/kafka/CHANGELOG.json +++ b/packages/kafka/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/kafka", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/kafka_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/kafka_v0.7.3", diff --git a/packages/kafka/CHANGELOG.md b/packages/kafka/CHANGELOG.md index 1c723b6800..cb16a1f2a4 100644 --- a/packages/kafka/CHANGELOG.md +++ b/packages/kafka/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/kafka -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/kafka/package.json b/packages/kafka/package.json index 6f6b5fb5f4..772b8a0dc2 100644 --- a/packages/kafka/package.json +++ b/packages/kafka/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/kafka", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,13 +31,14 @@ "@types/node": "^22.15.29", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/storage": "^0.7.4", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/storage": "^0.7.5", "kafkajs": "^2.2.4" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/middleware/CHANGELOG.json b/packages/middleware/CHANGELOG.json index 66db87b52c..ce61ec7ed4 100644 --- a/packages/middleware/CHANGELOG.json +++ b/packages/middleware/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/middleware", "entries": [ + { + "version": "0.7.6", + "tag": "@hcengineering/middleware_v0.7.6", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.5", "tag": "@hcengineering/middleware_v0.7.5", diff --git a/packages/middleware/CHANGELOG.md b/packages/middleware/CHANGELOG.md index cccf9e4a96..c6692dae69 100644 --- a/packages/middleware/CHANGELOG.md +++ b/packages/middleware/CHANGELOG.md @@ -1,9 +1,15 @@ # Change Log - @hcengineering/middleware -This log was last generated on Mon, 13 Oct 2025 18:19:06 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.6 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.5 - Mon, 13 Oct 2025 18:19:06 GMT ### Patches @@ -11,7 +17,6 @@ Mon, 13 Oct 2025 18:19:06 GMT - Fix ordering middleware ## 0.7.4 - Mon, 13 Oct 2025 12:15:35 GMT ### Patches @@ -19,7 +24,6 @@ Mon, 13 Oct 2025 12:15:35 GMT - update deps ## 0.7.3 - Sat, 11 Oct 2025 18:26:50 GMT ### Patches @@ -27,7 +31,6 @@ Sat, 11 Oct 2025 18:26:50 GMT - Use latest platform-rig ## 0.7.2 - Fri, 10 Oct 2025 14:32:03 GMT ### Patches @@ -36,7 +39,6 @@ Fri, 10 Oct 2025 14:32:03 GMT - New deps ## 0.7.1 - Thu, 09 Oct 2025 16:43:17 GMT ### Patches @@ -44,7 +46,7 @@ Thu, 09 Oct 2025 16:43:17 GMT - Fix export ## 0.7.0 - Thu, 09 Oct 2025 16:41:02 GMT _Initial release_ + diff --git a/packages/middleware/package.json b/packages/middleware/package.json index 961367a080..2806adb7dc 100644 --- a/packages/middleware/package.json +++ b/packages/middleware/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/middleware", - "version": "0.7.5", + "version": "0.7.6", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,14 +31,15 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "@types/node": "^22.15.29" + "@types/node": "^22.15.29", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/query": "^0.7.5", - "@hcengineering/analytics": "^0.7.4", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/query": "^0.7.6", + "@hcengineering/analytics": "^0.7.5", "fast-equals": "^5.2.2" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/minio/CHANGELOG.json b/packages/minio/CHANGELOG.json index 0bdb14972f..6307aaa802 100644 --- a/packages/minio/CHANGELOG.json +++ b/packages/minio/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/minio", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/minio_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/minio_v0.7.3", diff --git a/packages/minio/CHANGELOG.md b/packages/minio/CHANGELOG.md index 1fe5737da8..d39e2684db 100644 --- a/packages/minio/CHANGELOG.md +++ b/packages/minio/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/minio -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/minio/package.json b/packages/minio/package.json index 11372c3d7a..e58f823a37 100644 --- a/packages/minio/package.json +++ b/packages/minio/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/minio", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,12 +31,13 @@ "@types/node": "^22.15.29", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", "minio": "^8.0.5" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/mongo/CHANGELOG.json b/packages/mongo/CHANGELOG.json index 6847931270..5d6fe6f752 100644 --- a/packages/mongo/CHANGELOG.json +++ b/packages/mongo/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/mongo", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/mongo_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/mongo_v0.7.3", diff --git a/packages/mongo/CHANGELOG.md b/packages/mongo/CHANGELOG.md index 5bb5492d33..7ea1422695 100644 --- a/packages/mongo/CHANGELOG.md +++ b/packages/mongo/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/mongo -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/mongo/package.json b/packages/mongo/package.json index d35f9d9ada..0653f63126 100644 --- a/packages/mongo/package.json +++ b/packages/mongo/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/mongo", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,12 +31,13 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "@types/node": "^22.15.29" + "@types/node": "^22.15.29", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", "mongodb": "^6.16.0", "bson": "^6.10.3" }, diff --git a/packages/postgres/CHANGELOG.json b/packages/postgres/CHANGELOG.json index 7317a48e23..0430e662ce 100644 --- a/packages/postgres/CHANGELOG.json +++ b/packages/postgres/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/postgres", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/postgres_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/postgres_v0.7.3", diff --git a/packages/postgres/CHANGELOG.md b/packages/postgres/CHANGELOG.md index 4c9815091a..3d32aa4836 100644 --- a/packages/postgres/CHANGELOG.md +++ b/packages/postgres/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/postgres -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/postgres/package.json b/packages/postgres/package.json index 72ac9d86f6..d1d60bbfd6 100644 --- a/packages/postgres/package.json +++ b/packages/postgres/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/postgres", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,13 +31,14 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", - "@types/node": "^22.15.29" + "@types/node": "^22.15.29", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { "postgres": "^3.4.7", - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", "@hcengineering/postgres-base": "^0.7.12" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/s3/CHANGELOG.json b/packages/s3/CHANGELOG.json index ea10a3f55c..9dc46508a7 100644 --- a/packages/s3/CHANGELOG.json +++ b/packages/s3/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/s3", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/s3_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/s3_v0.7.3", diff --git a/packages/s3/CHANGELOG.md b/packages/s3/CHANGELOG.md index 53396b5d92..1445878a87 100644 --- a/packages/s3/CHANGELOG.md +++ b/packages/s3/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/s3 -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/s3/package.json b/packages/s3/package.json index 0127b95805..60014e2d8a 100644 --- a/packages/s3/package.json +++ b/packages/s3/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/s3", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -18,7 +18,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", @@ -31,13 +31,14 @@ "@types/node": "^22.15.29", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/storage": "^0.7.4", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/storage": "^0.7.5", "@aws-sdk/client-s3": "^3.738.0", "@aws-sdk/s3-request-presigner": "^3.738.0", "@aws-sdk/lib-storage": "^3.738.0", diff --git a/packages/server-storage/CHANGELOG.json b/packages/server-storage/CHANGELOG.json index fc70ef54fa..ca95d6cbc5 100644 --- a/packages/server-storage/CHANGELOG.json +++ b/packages/server-storage/CHANGELOG.json @@ -1,6 +1,35 @@ { "name": "@hcengineering/server-storage", "entries": [ + { + "version": "0.7.5", + "tag": "@hcengineering/server-storage_v0.7.5", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "deps" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + }, + { + "comment": "Updating dependency \"@hcengineering/minio\" from `0.7.3` to `0.7.4`" + }, + { + "comment": "Updating dependency \"@hcengineering/s3\" from `0.7.3` to `0.7.4`" + }, + { + "comment": "Updating dependency \"@hcengineering/datalake\" from `0.7.3` to `0.7.4`" + }, + { + "comment": "Updating dependency \"@hcengineering/hulylake\" from `0.7.4` to `0.7.5`" + } + ] + } + }, { "version": "0.7.4", "tag": "@hcengineering/server-storage_v0.7.4", diff --git a/packages/server-storage/CHANGELOG.md b/packages/server-storage/CHANGELOG.md index a6df8d54f2..dee4753d93 100644 --- a/packages/server-storage/CHANGELOG.md +++ b/packages/server-storage/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/server-storage -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.5 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- deps ## 0.7.4 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/server-storage/package.json b/packages/server-storage/package.json index dc55caded4..73fdbd2a70 100644 --- a/packages/server-storage/package.json +++ b/packages/server-storage/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/server-storage", - "version": "0.7.4", + "version": "0.7.5", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -38,7 +38,7 @@ }, "devDependencies": { "cross-env": "~7.0.3", - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@types/node": "^22.15.29", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", @@ -52,19 +52,20 @@ "typescript": "^5.9.3", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/minio": "workspace:0.7.3", - "@hcengineering/s3": "workspace:0.7.3", - "@hcengineering/datalake": "workspace:0.7.3", - "@hcengineering/hulylake": "workspace:0.7.4", - "@hcengineering/storage": "^0.7.4", - "@hcengineering/analytics": "^0.7.4", - "@hcengineering/server-token": "^0.7.4" + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/minio": "workspace:0.7.4", + "@hcengineering/s3": "workspace:0.7.4", + "@hcengineering/datalake": "workspace:0.7.4", + "@hcengineering/hulylake": "workspace:0.7.5", + "@hcengineering/storage": "^0.7.5", + "@hcengineering/analytics": "^0.7.5", + "@hcengineering/server-token": "^0.7.5" }, "repository": "https://github.com/hcengineering/huly.server", "publishConfig": { diff --git a/packages/server/CHANGELOG.json b/packages/server/CHANGELOG.json index ddc6e85820..b08ca698fe 100644 --- a/packages/server/CHANGELOG.json +++ b/packages/server/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@hcengineering/server", "entries": [ + { + "version": "0.7.4", + "tag": "@hcengineering/server_v0.7.4", + "date": "Tue, 14 Oct 2025 05:23:10 GMT", + "comments": { + "patch": [ + { + "comment": "add counters for session manager" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/server-core\" from `0.7.3` to `0.7.4`" + } + ] + } + }, { "version": "0.7.3", "tag": "@hcengineering/server_v0.7.3", diff --git a/packages/server/CHANGELOG.md b/packages/server/CHANGELOG.md index ff23ea82b2..070c8a8e6d 100644 --- a/packages/server/CHANGELOG.md +++ b/packages/server/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/server -This log was last generated on Mon, 13 Oct 2025 12:15:35 GMT and should not be manually modified. +This log was last generated on Tue, 14 Oct 2025 05:23:10 GMT and should not be manually modified. + +## 0.7.4 +Tue, 14 Oct 2025 05:23:10 GMT + +### Patches + +- add counters for session manager ## 0.7.3 Mon, 13 Oct 2025 12:15:35 GMT diff --git a/packages/server/package.json b/packages/server/package.json index edc82662cc..05ec23e8cf 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/server", - "version": "0.7.3", + "version": "0.7.4", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", @@ -19,7 +19,7 @@ }, "devDependencies": { "cross-env": "~7.0.3", - "@hcengineering/platform-rig": "^0.7.18", + "@hcengineering/platform-rig": "^0.7.19", "@types/node": "^22.15.29", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", @@ -32,16 +32,17 @@ "typescript": "^5.9.3", "jest": "^29.7.0", "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5" + "@types/jest": "^29.5.5", + "eslint-plugin-svelte": "^2.35.1" }, "dependencies": { - "@hcengineering/account-client": "^0.7.4", - "@hcengineering/analytics": "^0.7.4", - "@hcengineering/core": "^0.7.6", - "@hcengineering/platform": "^0.7.4", - "@hcengineering/rpc": "^0.7.4", - "@hcengineering/server-core": "workspace:0.7.3", - "@hcengineering/server-token": "^0.7.4", + "@hcengineering/account-client": "^0.7.5", + "@hcengineering/analytics": "^0.7.5", + "@hcengineering/core": "^0.7.7", + "@hcengineering/platform": "^0.7.5", + "@hcengineering/rpc": "^0.7.5", + "@hcengineering/server-core": "workspace:0.7.4", + "@hcengineering/server-token": "^0.7.5", "utf-8-validate": "^6.0.4" }, "repository": "https://github.com/hcengineering/huly.server", diff --git a/packages/server/src/client.ts b/packages/server/src/client.ts index 1a109e2b21..caaeba6b9d 100644 --- a/packages/server/src/client.ts +++ b/packages/server/src/client.ts @@ -16,7 +16,6 @@ import type { LoginInfoWithWorkspaces } from '@hcengineering/account-client' import { generateId, - type PermissionsGrant, TxProcessor, type Account, type AccountUuid, @@ -31,6 +30,7 @@ import { type LoadModelResponse, type MeasureContext, type OperationDomain, + type PermissionsGrant, type PersonId, type Ref, type SearchOptions, @@ -38,21 +38,23 @@ import { type SearchResult, type SessionData, type SocialId, + type Space, type Timestamp, type Tx, type TxCUD, type TxResult, type WorkspaceDataId, - type WorkspaceIds, - type Space + type WorkspaceIds } from '@hcengineering/core' import { PlatformError, unknownError } from '@hcengineering/platform' import { BackupClientOps, createBroadcastEvent, + estimateDocSize, SessionDataImpl, type ClientSessionCtx, type ConnectionSocket, + type OneSecondCounters, type Pipeline, type Session, type SessionRequest, @@ -89,7 +91,8 @@ export class ClientSession implements Session { readonly workspace: WorkspaceIds, readonly account: Account, readonly info: LoginInfoWithWorkspaces, - readonly allowUpload: boolean + readonly allowUpload: boolean, + readonly counter: OneSecondCounters ) { this.isAdmin = this.token.extra?.admin === 'true' } @@ -128,9 +131,12 @@ export class ClientSession implements Session { } async loadModel (ctx: ClientSessionCtx, lastModelTx: Timestamp, hash?: string): Promise { + this.counter.add('loadModel', 1) try { this.includeSessionContext(ctx) const result = await ctx.pipeline.loadModel(ctx.ctx, lastModelTx, hash) + + this.counter.add('clientSendMemory', estimateDocSize(result)) await ctx.sendResponse(ctx.requestId, result) } catch (err) { await ctx.sendError(ctx.requestId, 'Failed to loadModel', unknownError(err)) @@ -139,6 +145,7 @@ export class ClientSession implements Session { } async loadModelRaw (ctx: ClientSessionCtx, lastModelTx: Timestamp, hash?: string): Promise { + // eslint-disable-next-line @typescript-eslint/no-unused-vars this.includeSessionContext(ctx) return await ctx.ctx.with('load-model', {}, (_ctx) => ctx.pipeline.loadModel(_ctx, lastModelTx, hash)) } @@ -195,8 +202,11 @@ export class ClientSession implements Session { query: DocumentQuery, options?: FindOptions ): Promise { + this.counter.add('find-' + ctx.pipeline.context.hierarchy.getBaseClass(_class), 1) try { - await ctx.sendResponse(ctx.requestId, await this.findAllRaw(ctx, _class, query, options)) + const result = await this.findAllRaw(ctx, _class, query, options) + this.counter.add('clientSendMemory', estimateDocSize(result)) + await ctx.sendResponse(ctx.requestId, result) } catch (err) { await ctx.sendError(ctx.requestId, 'Failed to findAll', unknownError(err)) ctx.ctx.error('failed to findAll', { err }) @@ -204,6 +214,7 @@ export class ClientSession implements Session { } async searchFulltext (ctx: ClientSessionCtx, query: SearchQuery, options: SearchOptions): Promise { + this.counter.add('fulltext', 1) try { this.lastRequest = Date.now() this.includeSessionContext(ctx) @@ -271,6 +282,13 @@ export class ClientSession implements Session { } async tx (ctx: ClientSessionCtx, tx: Tx): Promise { + this.counter.add( + 'tx-' + + ctx.pipeline.context.hierarchy.getBaseClass( + TxProcessor.isExtendsCUD(tx._class) ? (tx as TxCUD).objectClass : tx._class + ), + 1 + ) try { const { broadcastPromise, asyncsPromise } = await this.txRaw(ctx, tx) await broadcastPromise @@ -395,6 +413,8 @@ export class ClientSession implements Session { } async domainRequest (ctx: ClientSessionCtx, domain: OperationDomain, params: DomainParams): Promise { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + this.counter.add('dr-' + domain, 1) try { const { asyncsPromise, broadcastPromise } = await this.domainRequestRaw(ctx, domain, params) diff --git a/packages/server/src/sessionManager.ts b/packages/server/src/sessionManager.ts index 7431dd34a3..63deb8e879 100644 --- a/packages/server/src/sessionManager.ts +++ b/packages/server/src/sessionManager.ts @@ -255,38 +255,31 @@ export class TSessionManager implements SessionManager { return { sys, user, anonymous } } + counters = new Map() + + add (counter: string, count: number): void { + this.counters.set(counter, (this.counters.get(counter) ?? 0) + count) + } + private handleWorkspaceTick (): void { - this.ctx.measure('sessions', this.sessions.size) + this.ctx.measure('sessions', this.sessions.size, true) - const { sys, user, anonymous } = this.calcWorkspaceStats(Array.from(this.sessions.values())) + if (this.ticks % ticksPerSecond === 0) { + // Let's update workspace statistics every 10 seconds + this.sendUserWorkspaceStats() - let userWorkspaces: number = 0 - let sysOnlyWorkspaces: number = 0 - - for (const ws of this.workspaces.values()) { - const { sys, user } = this.calcWorkspaceStats(Array.from(ws.sessions.values())) - if (user > 0) { - userWorkspaces++ - } else { - if (sys > 0) { - sysOnlyWorkspaces++ - } + // Send extra counters and clear them to collect again + for (const [c, v] of [...this.counters.entries()]) { + this.ctx.measure('_' + c, v, true) + this.counters.set(c, 0) } } - this.ctx.measure('sessions-user', user) - this.ctx.measure('sessions-system', sys) - this.ctx.measure('sessions-anonymous', anonymous) - - this.ctx.measure('workspaces', this.workspaces.size) - this.ctx.measure('workspaces-user', userWorkspaces) - this.ctx.measure('workspaces-systemonly', sysOnlyWorkspaces) - if (this.ticks % (60 * ticksPerSecond) === 0) { const workspacesToUpdate: WorkspaceUuid[] = [] for (const [wsId, workspace] of this.workspaces.entries()) { - // update account lastVisit every minute per every workspace.∏ + // update account lastVisit every minute per every workspace. for (const val of workspace.sessions.values()) { if (val.session.getUser() !== systemAccountUuid) { workspacesToUpdate.push(wsId) @@ -344,6 +337,32 @@ export class TSessionManager implements SessionManager { } } + private sendUserWorkspaceStats (): void { + const { sys, user, anonymous } = this.calcWorkspaceStats(Array.from(this.sessions.values())) + + let userWorkspaces: number = 0 + let sysOnlyWorkspaces: number = 0 + + for (const ws of this.workspaces.values()) { + const { sys, user } = this.calcWorkspaceStats(Array.from(ws.sessions.values())) + if (user > 0) { + userWorkspaces++ + } else { + if (sys > 0) { + sysOnlyWorkspaces++ + } + } + } + + this.ctx.measure('sessions-user', user, true) + this.ctx.measure('sessions-system', sys, true) + this.ctx.measure('sessions-anonymous', anonymous, true) + + this.ctx.measure('workspaces', this.workspaces.size, true) + this.ctx.measure('workspaces-user', userWorkspaces, true) + this.ctx.measure('workspaces-systemonly', sysOnlyWorkspaces, true) + } + private handleSessionTick (now: number): void { for (const s of this.sessions.values()) { const isCurrentUserTick = this.ticks % ticksPerSecond === s.tickHash @@ -422,7 +441,8 @@ export class TSessionManager implements SessionManager { role }, info, - token.extra?.mode === 'backup' + token.extra?.mode === 'backup', + this ) } @@ -513,7 +533,7 @@ export class TSessionManager implements SessionManager { } } - this.ctx.measure('sessions-hung', hungSessions) + this.ctx.measure('sessions-hung', hungSessions, true) const hungSessionsPercent = totalSessions > 0 ? (100 * hungSessions) / totalSessions : 0 @@ -664,6 +684,7 @@ export class TSessionManager implements SessionManager { sessionId: string | undefined ): Promise { return await ctx.with('📲 add-session', { source: token.extra?.service ?? '🤦‍♂️user' }, async (ctx) => { + this.add('addSession', 1) let account: LoginInfoWithWorkspaces | undefined try { @@ -919,6 +940,8 @@ export class TSessionManager implements SessionManager { workspaceDataId: WorkspaceDataId | undefined, branding: Branding | null ): Workspace { + this.add('startWorkspace', 1) + const upgrade = token.extra?.model === 'upgrade' const context = ctx.newChild('🧲 session', {}, { span: false }) const workspaceIds: WorkspaceIds = { @@ -1026,6 +1049,7 @@ export class TSessionManager implements SessionManager { const sessionRef = this.sessions.get(ws.id) if (sessionRef !== undefined) { + // We need to close all requests from counters ctx.info('bye happen', { workspaceId: workspace?.wsId.uuid, userId: sessionRef.session.getUser(), @@ -1324,6 +1348,7 @@ export class TSessionManager implements SessionManager { request: Request, workspaceId: WorkspaceUuid ): Promise { + this.add('request', 1) // Calculate total number of clients const reqId = generateId() const source = service.token.extra?.service ?? '🤦‍♂️user' @@ -1458,6 +1483,7 @@ export class TSessionManager implements SessionManager { ws: ConnectionSocket, operation: (ctx: ClientSessionCtx, rateLimit: RateLimitInfo | undefined) => Promise ): Promise { + this.add('request', 1) const rateLimitStatus = this.checkRate(service) // If remaining is 0, rate limit is exceeded if (rateLimitStatus?.remaining === 0) {