feat: add subscription manager to handle subscription sharing (#1517)

* feat: add subscription manager to handle subscription sharing

* fix(services): add missing methods to the interface

* fix(services): add subscription manager specs

* feat(snjs): add subscriptions e2e tests

* fix(snjs): add wait in subscription cancelling test

* fix(snjs): checking for canceled invitations in tests

* fix(snjs): add e2e test for restored limit of subscription invitations

* chore(lint): fix linter issues
This commit is contained in:
Karol Sójko
2022-09-13 10:28:11 +02:00
committed by GitHub
parent 2b830c0fae
commit 55b1409a80
55 changed files with 512 additions and 91 deletions

110
yarn.lock
View File

@@ -3480,6 +3480,23 @@ __metadata:
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^1.3.2":
version: 1.3.2
resolution: "@eslint/eslintrc@npm:1.3.2"
dependencies:
ajv: ^6.12.4
debug: ^4.3.2
espree: ^9.4.0
globals: ^13.15.0
ignore: ^5.2.0
import-fresh: ^3.2.1
js-yaml: ^4.1.0
minimatch: ^3.1.2
strip-json-comments: ^3.1.1
checksum: 2074dca47d7e1c5c6323ff353f690f4b25d3ab53fe7d27337e2592d37a894cf60ca0e85ca66b50ff2db0bc7e630cc1e9c7347d65bb185b61416565584c38999c
languageName: node
linkType: hard
"@expo/react-native-action-sheet@npm:^3.13.0":
version: 3.13.0
resolution: "@expo/react-native-action-sheet@npm:3.13.0"
@@ -6226,16 +6243,15 @@ __metadata:
languageName: unknown
linkType: soft
"@standardnotes/api@workspace:*, @standardnotes/api@workspace:packages/api":
"@standardnotes/api@workspace:*, @standardnotes/api@workspace:^, @standardnotes/api@workspace:packages/api":
version: 0.0.0-use.local
resolution: "@standardnotes/api@workspace:packages/api"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/encryption": "workspace:*"
"@standardnotes/models": "workspace:*"
"@standardnotes/responses": "workspace:*"
"@standardnotes/security": ^1.1.0
"@standardnotes/services": "workspace:*"
"@standardnotes/utils": "workspace:*"
"@types/jest": ^28.1.5
"@types/lodash": ^4.14.182
@@ -6397,7 +6413,7 @@ __metadata:
languageName: unknown
linkType: soft
"@standardnotes/common@npm:1.25.0, @standardnotes/common@npm:^1.25.0":
"@standardnotes/common@npm:1.25.0":
version: 1.25.0
resolution: "@standardnotes/common@npm:1.25.0"
dependencies:
@@ -6413,12 +6429,12 @@ __metadata:
languageName: node
linkType: hard
"@standardnotes/common@npm:^1.30.0":
version: 1.30.0
resolution: "@standardnotes/common@npm:1.30.0"
"@standardnotes/common@npm:^1.32.0":
version: 1.32.0
resolution: "@standardnotes/common@npm:1.32.0"
dependencies:
reflect-metadata: ^0.1.13
checksum: 833b6e7f3ee4cfbf306769d7387073073204a3dd5cd9adaf11bb10914338a4b16420e5ef196d28974427b491d7630d887a7a9e3dcbfb070f30c491437213b329
checksum: 52d33f385e4cc26ac8d2f723c3a5e12bb8a2c4a17f08700ca5843810583ca722475a83b71f86bb1402fda7c7c66e8149beb3f70848efc90da4aafef663d7ffbe
languageName: node
linkType: hard
@@ -6605,7 +6621,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/encryption@workspace:packages/encryption"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/config": 2.4.3
"@standardnotes/models": "workspace:*"
"@standardnotes/responses": "workspace:*"
@@ -6647,7 +6663,7 @@ __metadata:
resolution: "@standardnotes/features@workspace:packages/features"
dependencies:
"@standardnotes/auth": ^3.19.4
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/security": ^1.2.0
"@types/jest": ^28.1.5
"@typescript-eslint/eslint-plugin": ^5.30.0
@@ -6663,7 +6679,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/filepicker@workspace:packages/filepicker"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/files": "workspace:*"
"@standardnotes/utils": "workspace:*"
"@types/jest": ^28.1.5
@@ -6681,7 +6697,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/files@workspace:packages/files"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/encryption": "workspace:*"
"@standardnotes/models": "workspace:*"
"@standardnotes/responses": "workspace:*"
@@ -7067,7 +7083,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/models@workspace:packages/models"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/features": "workspace:*"
"@standardnotes/responses": "workspace:*"
"@standardnotes/utils": "workspace:*"
@@ -7134,7 +7150,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/responses@workspace:packages/responses"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@standardnotes/features": "workspace:*"
"@standardnotes/security": ^1.1.0
"@types/jest": ^28.1.5
@@ -7201,8 +7217,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/services@workspace:packages/services"
dependencies:
"@standardnotes/api": "workspace:^"
"@standardnotes/auth": ^3.19.4
"@standardnotes/common": ^1.30.0
"@standardnotes/common": ^1.32.0
"@standardnotes/encryption": "workspace:^"
"@standardnotes/files": "workspace:^"
"@standardnotes/models": "workspace:^"
@@ -7212,6 +7229,7 @@ __metadata:
"@types/jest": ^28.1.5
"@typescript-eslint/eslint-plugin": ^5.30.0
"@typescript-eslint/parser": ^5.12.1
eslint: ^8.23.1
eslint-plugin-prettier: "*"
jest: ^28.1.2
reflect-metadata: ^0.1.13
@@ -7312,7 +7330,7 @@ __metadata:
"@babel/core": "*"
"@babel/preset-env": "*"
"@standardnotes/api": "workspace:*"
"@standardnotes/common": ^1.25.0
"@standardnotes/common": ^1.32.0
"@standardnotes/domain-events": ^2.39.0
"@standardnotes/encryption": "workspace:*"
"@standardnotes/features": "workspace:*"
@@ -7482,7 +7500,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/ui-services@workspace:packages/ui-services"
dependencies:
"@standardnotes/common": ^1.30.0
"@standardnotes/common": ^1.32.0
"@standardnotes/filepicker": "workspace:^"
"@standardnotes/services": "workspace:^"
"@standardnotes/styles": "workspace:^"
@@ -7501,7 +7519,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/utils@workspace:packages/utils"
dependencies:
"@standardnotes/common": ^1.23.1
"@standardnotes/common": ^1.32.0
"@types/dompurify": ^2.3.3
"@types/jest": ^28.1.5
"@types/jsdom": ^16.2.14
@@ -18100,6 +18118,55 @@ __metadata:
languageName: node
linkType: hard
"eslint@npm:^8.23.1":
version: 8.23.1
resolution: "eslint@npm:8.23.1"
dependencies:
"@eslint/eslintrc": ^1.3.2
"@humanwhocodes/config-array": ^0.10.4
"@humanwhocodes/gitignore-to-minimatch": ^1.0.2
"@humanwhocodes/module-importer": ^1.0.1
ajv: ^6.10.0
chalk: ^4.0.0
cross-spawn: ^7.0.2
debug: ^4.3.2
doctrine: ^3.0.0
escape-string-regexp: ^4.0.0
eslint-scope: ^7.1.1
eslint-utils: ^3.0.0
eslint-visitor-keys: ^3.3.0
espree: ^9.4.0
esquery: ^1.4.0
esutils: ^2.0.2
fast-deep-equal: ^3.1.3
file-entry-cache: ^6.0.1
find-up: ^5.0.0
glob-parent: ^6.0.1
globals: ^13.15.0
globby: ^11.1.0
grapheme-splitter: ^1.0.4
ignore: ^5.2.0
import-fresh: ^3.0.0
imurmurhash: ^0.1.4
is-glob: ^4.0.0
js-sdsl: ^4.1.4
js-yaml: ^4.1.0
json-stable-stringify-without-jsonify: ^1.0.1
levn: ^0.4.1
lodash.merge: ^4.6.2
minimatch: ^3.1.2
natural-compare: ^1.4.0
optionator: ^0.9.1
regexpp: ^3.2.0
strip-ansi: ^6.0.1
strip-json-comments: ^3.1.0
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
checksum: a727e15492786a03b438bcf021db49f715680679846a7b8d79b98ad34576f2a570404ffe882d3c3e26f6359bff7277ef11fae5614bfe8629adb653f20d018c71
languageName: node
linkType: hard
"espree@npm:^7.3.0, espree@npm:^7.3.1":
version: 7.3.1
resolution: "espree@npm:7.3.1"
@@ -24054,6 +24121,13 @@ __metadata:
languageName: node
linkType: hard
"js-sdsl@npm:^4.1.4":
version: 4.1.4
resolution: "js-sdsl@npm:4.1.4"
checksum: 1977cea4ab18e0e03e28bdf0371d8b443fad65ca0988e0faa216406faf6bb943714fe8f7cc7a5bfe5f35ba3d94ddae399f4d10200f547f2c3320688b0670d726
languageName: node
linkType: hard
"js-string-escape@npm:^1.0.1":
version: 1.0.1
resolution: "js-string-escape@npm:1.0.1"