Compare commits
55 Commits
jazz-brows
...
jazz-brows
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4891db9fa | ||
|
|
4e16575f97 | ||
|
|
12ab20ecd9 | ||
|
|
2c3a40c94b | ||
|
|
0d8175ba1c | ||
|
|
032f69f692 | ||
|
|
6dc52b2a6d | ||
|
|
1232c0240a | ||
|
|
55fa74f44a | ||
|
|
5d91f9f8dc | ||
|
|
08f1f77834 | ||
|
|
ea882aba63 | ||
|
|
513a78ab9b | ||
|
|
406ab9b0da | ||
|
|
140f6616cb | ||
|
|
b09589b15e | ||
|
|
00638897f4 | ||
|
|
5094e6d536 | ||
|
|
39242e7f68 | ||
|
|
be7e208b1c | ||
|
|
c3bffbf4de | ||
|
|
d46467f318 | ||
|
|
6d21400803 | ||
|
|
db53161296 | ||
|
|
cb4a116cec | ||
|
|
013199b9b2 | ||
|
|
a8b74ff703 | ||
|
|
b1985a9161 | ||
|
|
3bf512719f | ||
|
|
d83ed69d41 | ||
|
|
fdde8db664 | ||
|
|
dd5581ba2d | ||
|
|
07fe2b9dcf | ||
|
|
b297c93b80 | ||
|
|
d2e62e5b44 | ||
|
|
fe73ce7514 | ||
|
|
0fed16cea4 | ||
|
|
08804ad435 | ||
|
|
79fa7724ad | ||
|
|
4604c2184a | ||
|
|
11bac697fb | ||
|
|
96cec27f89 | ||
|
|
bcd412b8f9 | ||
|
|
6b456e2841 | ||
|
|
1df72b3dc8 | ||
|
|
402d692739 | ||
|
|
fad46b2fb5 | ||
|
|
0153c80cf2 | ||
|
|
4f75dc8d97 | ||
|
|
e2c79cccb5 | ||
|
|
c14a0e05be | ||
|
|
016dd3a5dd | ||
|
|
5c4ca9103c | ||
|
|
b4aad92907 | ||
|
|
56d1e095a1 |
2
.github/workflows/build-and-deploy.yaml
vendored
2
.github/workflows/build-and-deploy.yaml
vendored
@@ -3,8 +3,6 @@ name: Build and Deploy
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build-examples:
|
||||
|
||||
@@ -1,5 +1,195 @@
|
||||
# jazz-example-chat
|
||||
|
||||
## 0.0.81
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- jazz-react@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.0.81-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- jazz-react@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.0.81-neverthrow.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- jazz-react@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.0.81-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- jazz-react@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.0.81-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- jazz-react@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.0.81-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.2
|
||||
|
||||
## 0.0.81-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- jazz-react@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.0.81-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- jazz-react@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.0.80
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
- jazz-react@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.0.80-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- jazz-react@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.0.80-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- jazz-react@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.0.80-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
- jazz-react@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.0.80-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.2
|
||||
|
||||
## 0.0.80-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.1
|
||||
|
||||
## 0.0.80-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- jazz-react@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.0.79
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
- jazz-react@0.7.32
|
||||
|
||||
## 0.0.78
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
- jazz-react@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.0.77
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.30
|
||||
|
||||
## 0.0.76
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- jazz-react@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.0.75
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- jazz-react@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.0.74
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.27
|
||||
|
||||
## 0.0.73
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- jazz-react@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.0.72
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# Jazz Chat Example
|
||||
|
||||
Live version: https://example-chat.jazz.tools
|
||||
Live version: [https://chat.jazz.tools](https://chat.jazz.tools)
|
||||
|
||||
## Installing & running the example locally
|
||||
|
||||
(this requires `pnpm` to be installed, see [https://pnpm.io/installation](https://pnpm.io/installation))
|
||||
|
||||
Start by checking out `jazz`
|
||||
|
||||
```bash
|
||||
git clone https://github.com/gardencmp/jazz.git
|
||||
cd jazz/examples/chat
|
||||
@@ -34,7 +35,6 @@ pnpm dev
|
||||
|
||||
If you have feedback, let us know on [Discord](https://discord.gg/utDMjHYg42) or open an issue or PR to fix something that seems wrong.
|
||||
|
||||
|
||||
## Configuration: sync server
|
||||
|
||||
By default, the example app uses [Jazz Global Mesh](https://jazz.tools/mesh) (`wss://sync.jazz.tools`) - so cross-device use, invites and collaboration should just work.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-chat",
|
||||
"private": true,
|
||||
"version": "0.0.72",
|
||||
"version": "0.0.81",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,180 @@
|
||||
# jazz-example-chat
|
||||
|
||||
## 0.0.59
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [406ab9b]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- cojson-transport-ws@0.7.34
|
||||
|
||||
## 0.0.59-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- cojson-transport-ws@0.7.34-neverthrow.8
|
||||
|
||||
## 0.0.59-neverthrow.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- cojson-transport-ws@0.7.34-neverthrow.7
|
||||
|
||||
## 0.0.59-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- cojson-transport-ws@0.7.34-neverthrow.4
|
||||
|
||||
## 0.0.59-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- cojson-transport-ws@0.7.34-neverthrow.3
|
||||
|
||||
## 0.0.59-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.34-neverthrow.2
|
||||
|
||||
## 0.0.59-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- cojson-transport-ws@0.7.34-neverthrow.1
|
||||
|
||||
## 0.0.59-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- cojson-transport-ws@0.7.34-neverthrow.0
|
||||
|
||||
## 0.0.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [fdde8db]
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [07fe2b9]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson-transport-ws@0.7.33
|
||||
- cojson@0.7.33
|
||||
|
||||
## 0.0.58-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- cojson-transport-ws@0.7.33-hotfixes.5
|
||||
|
||||
## 0.0.58-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- cojson-transport-ws@0.7.33-hotfixes.4
|
||||
|
||||
## 0.0.58-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.3
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
|
||||
## 0.0.58-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.2
|
||||
|
||||
## 0.0.58-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.1
|
||||
|
||||
## 0.0.58-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- cojson-transport-ws@0.7.33-hotfixes.0
|
||||
|
||||
## 0.0.57
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.31
|
||||
- cojson@0.7.31
|
||||
|
||||
## 0.0.56
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.30
|
||||
|
||||
## 0.0.55
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- cojson-transport-ws@0.7.29
|
||||
|
||||
## 0.0.54
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- cojson-transport-ws@0.7.28
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.27
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- cojson-transport-ws@0.7.26
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-inspector",
|
||||
"private": true,
|
||||
"version": "0.0.51",
|
||||
"version": "0.0.59",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,178 @@
|
||||
# jazz-example-pets
|
||||
|
||||
## 0.0.99
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
- jazz-browser-media-images@0.7.34
|
||||
|
||||
## 0.0.99-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.8
|
||||
|
||||
## 0.0.99-neverthrow.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.7
|
||||
|
||||
## 0.0.99-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.4
|
||||
|
||||
## 0.0.99-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.3
|
||||
|
||||
## 0.0.99-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.2
|
||||
- jazz-react@0.7.34-neverthrow.2
|
||||
|
||||
## 0.0.99-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.1
|
||||
|
||||
## 0.0.99-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
- jazz-browser-media-images@0.7.34-neverthrow.0
|
||||
|
||||
## 0.0.98
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
- jazz-browser-media-images@0.7.33
|
||||
|
||||
## 0.0.98-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.5
|
||||
|
||||
## 0.0.98-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.4
|
||||
|
||||
## 0.0.98-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.3
|
||||
|
||||
## 0.0.98-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.2
|
||||
- jazz-react@0.7.33-hotfixes.2
|
||||
|
||||
## 0.0.98-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.1
|
||||
- jazz-react@0.7.33-hotfixes.1
|
||||
|
||||
## 0.0.98-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
- jazz-browser-media-images@0.7.33-hotfixes.0
|
||||
|
||||
## 0.0.97
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
- jazz-browser-media-images@0.7.32
|
||||
- jazz-react@0.7.32
|
||||
|
||||
## 0.0.96
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
- jazz-browser-media-images@0.7.31
|
||||
|
||||
## 0.0.95
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser-media-images@0.7.30
|
||||
- jazz-react@0.7.30
|
||||
|
||||
## 0.0.94
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
- jazz-browser-media-images@0.7.29
|
||||
|
||||
## 0.0.93
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
- jazz-browser-media-images@0.7.28
|
||||
|
||||
## 0.0.92
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser-media-images@0.7.27
|
||||
- jazz-react@0.7.27
|
||||
|
||||
## 0.0.91
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-react@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
- jazz-browser-media-images@0.7.26
|
||||
|
||||
## 0.0.90
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-pets",
|
||||
"private": true,
|
||||
"version": "0.0.90",
|
||||
"version": "0.0.99",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,156 @@
|
||||
# jazz-example-todo
|
||||
|
||||
## 0.0.98
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.0.98-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.0.98-neverthrow.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.0.98-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.0.98-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.0.98-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.2
|
||||
|
||||
## 0.0.98-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.0.98-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.0.97
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.0.97-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.0.97-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.0.97-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.0.97-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.2
|
||||
|
||||
## 0.0.97-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.1
|
||||
|
||||
## 0.0.97-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.0.96
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
- jazz-react@0.7.32
|
||||
|
||||
## 0.0.95
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.0.94
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.30
|
||||
|
||||
## 0.0.93
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.0.92
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.0.91
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-react@0.7.27
|
||||
|
||||
## 0.0.90
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-react@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.0.89
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-todo",
|
||||
"private": true,
|
||||
"version": "0.0.89",
|
||||
"version": "0.0.98",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,128 @@
|
||||
# cojson-storage-indexeddb
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3bf5127: Allow crashing whole node on peer errors
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Allow crashing whole node on peer errors
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
|
||||
## 0.7.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cojson-storage-indexeddb",
|
||||
"version": "0.7.23",
|
||||
"version": "0.7.34",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -92,7 +92,7 @@ export class IDBStorage {
|
||||
const [localNodeAsPeer, storageAsPeer] = cojsonInternals.connectedPeers(
|
||||
localNodeName,
|
||||
"storage",
|
||||
{ peer1role: "client", peer2role: "server", trace },
|
||||
{ peer1role: "client", peer2role: "server", trace, crashOnClose: true },
|
||||
);
|
||||
|
||||
await IDBStorage.open(
|
||||
|
||||
@@ -1,5 +1,135 @@
|
||||
# cojson-storage-sqlite
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3bf5127: Allow crashing whole node on peer errors
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Get rid of simulated errors
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Make simulated errors even more likely
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Allow crashing whole node on peer errors
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
|
||||
## 0.7.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "cojson-storage-sqlite",
|
||||
"type": "module",
|
||||
"version": "0.7.23",
|
||||
"version": "0.7.34",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -94,7 +94,7 @@ export class SQLiteStorage {
|
||||
const [localNodeAsPeer, storageAsPeer] = cojsonInternals.connectedPeers(
|
||||
localNodeName,
|
||||
"storage",
|
||||
{ peer1role: "client", peer2role: "server", trace },
|
||||
{ peer1role: "client", peer2role: "server", trace, crashOnClose: true },
|
||||
);
|
||||
|
||||
await SQLiteStorage.open(
|
||||
|
||||
@@ -1,5 +1,162 @@
|
||||
# cojson-transport-nodejs-ws
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 406ab9b: Remove WS buffer filling log message
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove WS buffer filling log message
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- fdde8db: Handle ws closing while buffering
|
||||
- 07fe2b9: Wait if WS buffer is full
|
||||
- 3bf5127: Allow crashing whole node on peer errors
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Allow crashing whole node on peer errors
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Handle ws closing while buffering
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Wait if WS buffer is full
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Properly close connecting websockets
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Immediately resolve an already-open websocket
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Option to not expect pings
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
|
||||
## 0.7.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "cojson-transport-ws",
|
||||
"type": "module",
|
||||
"version": "0.7.23",
|
||||
"version": "0.7.34",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import { DisconnectedError, Peer, PingTimeoutError, SyncMessage, cojsonInternals } from "cojson";
|
||||
import {
|
||||
DisconnectedError,
|
||||
Peer,
|
||||
PingTimeoutError,
|
||||
SyncMessage,
|
||||
cojsonInternals,
|
||||
} from "cojson";
|
||||
|
||||
interface WebsocketEvents {
|
||||
close: { code: number; reason: string };
|
||||
@@ -23,6 +29,7 @@ interface AnyWebSocket {
|
||||
close(): void;
|
||||
send(data: string): void;
|
||||
readyState: number;
|
||||
bufferedAmount: number;
|
||||
}
|
||||
|
||||
const g: typeof globalThis & {
|
||||
@@ -37,10 +44,12 @@ export function createWebSocketPeer({
|
||||
id,
|
||||
websocket,
|
||||
role,
|
||||
expectPings = true,
|
||||
}: {
|
||||
id: string;
|
||||
websocket: AnyWebSocket;
|
||||
role: Peer["role"];
|
||||
expectPings?: boolean;
|
||||
}): Peer {
|
||||
const incoming = new cojsonInternals.Channel<
|
||||
SyncMessage | DisconnectedError | PingTimeoutError
|
||||
@@ -74,17 +83,23 @@ export function createWebSocketPeer({
|
||||
console.error("Error while pushing incoming msg", e),
|
||||
);
|
||||
}
|
||||
pingTimeout = setTimeout(() => {
|
||||
incoming
|
||||
.push("PingTimeout")
|
||||
.catch((e) =>
|
||||
console.error("Error while pushing ping timeout", e),
|
||||
);
|
||||
}, 10_000);
|
||||
if (expectPings) {
|
||||
pingTimeout = setTimeout(() => {
|
||||
incoming
|
||||
.push("PingTimeout")
|
||||
.catch((e) =>
|
||||
console.error("Error while pushing ping timeout", e),
|
||||
);
|
||||
}, 10_000);
|
||||
}
|
||||
});
|
||||
|
||||
const websocketOpen = new Promise<void>((resolve) => {
|
||||
websocket.addEventListener("open", resolve, { once: true });
|
||||
if (websocket.readyState === 1) {
|
||||
resolve();
|
||||
} else {
|
||||
websocket.addEventListener("open", resolve, { once: true });
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
@@ -93,14 +108,31 @@ export function createWebSocketPeer({
|
||||
outgoing: {
|
||||
async push(msg) {
|
||||
await websocketOpen;
|
||||
websocket.send(JSON.stringify(msg));
|
||||
if (websocket.readyState === 1) {
|
||||
while (websocket.bufferedAmount > 1_000_000) {
|
||||
await new Promise((resolve) =>
|
||||
setTimeout(resolve, 100),
|
||||
);
|
||||
if (websocket.readyState !== 1) {
|
||||
console.log("WebSocket closed while buffering", id, websocket.bufferedAmount);
|
||||
return;
|
||||
}
|
||||
}
|
||||
websocket.send(JSON.stringify(msg));
|
||||
}
|
||||
},
|
||||
close() {
|
||||
if (websocket.readyState === 1) {
|
||||
console.log("Trying to close", id, websocket.readyState)
|
||||
if (websocket.readyState === 0) {
|
||||
websocket.addEventListener("open", function handleClose() {
|
||||
websocket.close();
|
||||
}, { once: true });
|
||||
} else if (websocket.readyState == 1) {
|
||||
websocket.close();
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
role,
|
||||
crashOnClose: false,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ module.exports = {
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:require-extensions/recommended",
|
||||
"prettier"
|
||||
"prettier",
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
plugins: ["@typescript-eslint", "require-extensions"],
|
||||
plugins: ["@typescript-eslint", "require-extensions", "neverthrow"],
|
||||
parserOptions: {
|
||||
project: "./tsconfig.json",
|
||||
tsconfigRootDir: __dirname,
|
||||
@@ -20,5 +20,6 @@ module.exports = {
|
||||
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
|
||||
],
|
||||
"@typescript-eslint/no-floating-promises": "error",
|
||||
"neverthrow/must-use-result": "error",
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,5 +1,108 @@
|
||||
# cojson
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 5d91f9f: Stop using tryAddTransactionsAsync
|
||||
- 5094e6d: Start introducing neverthrow, make tryAddNewTransactionsAsync and handleNewContent less throwy
|
||||
- b09589b: Only one async transaction per CoValue at a time again
|
||||
- 2c3a40c: Use fork of queueable
|
||||
- 4e16575: Use queueable fork
|
||||
- ea882ab: Better log message for failed transactions
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Use queueable fork
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Use fork of queueable
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Stop using tryAddTransactionsAsync
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Better log message for failed transactions
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Only one async transaction per CoValue at a time again
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Start introducing neverthrow, make tryAddNewTransactionsAsync and handleNewContent less throwy
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- b297c93: Improve logging
|
||||
- 3bf5127: Allow crashing whole node on peer errors
|
||||
- a8b74ff: Throw properly on peer that should crash on close
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Make simulated errors even more likely
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Throw properly on peer that should crash on close
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Allow crashing whole node on peer errors
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Improve logging
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Close both ends of the peer on gracefulShutdown
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove noisy log
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Fix ignoring server peers
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
|
||||
## 0.7.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
"types": "src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.7.23",
|
||||
"version": "0.7.34",
|
||||
"devDependencies": {
|
||||
"@types/jest": "^29.5.3",
|
||||
"@typescript-eslint/eslint-plugin": "^6.2.1",
|
||||
"@typescript-eslint/parser": "^6.2.1",
|
||||
"eslint": "^8.46.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-neverthrow": "^1.1.4",
|
||||
"eslint-plugin-require-extensions": "^0.1.3",
|
||||
"typescript": "5.0.2",
|
||||
"vitest": "^0.34.6"
|
||||
@@ -23,7 +24,8 @@
|
||||
"@noble/hashes": "^1.4.0",
|
||||
"@scure/base": "^1.1.1",
|
||||
"hash-wasm": "^4.9.0",
|
||||
"queueable": "^5.3.2"
|
||||
"neverthrow": "^7.0.1",
|
||||
"queueueue": "^4.1.2"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "tsc --watch --sourceMap --outDir dist",
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
StreamingHash,
|
||||
KeyID,
|
||||
CryptoProvider,
|
||||
SignerID,
|
||||
} from "./crypto/crypto.js";
|
||||
import { JsonObject, JsonValue } from "./jsonValue.js";
|
||||
import { base58 } from "@scure/base";
|
||||
@@ -16,7 +17,7 @@ import {
|
||||
isKeyForKeyField,
|
||||
} from "./permissions.js";
|
||||
import { RawGroup } from "./coValues/group.js";
|
||||
import { LocalNode } from "./localNode.js";
|
||||
import { LocalNode, ResolveAccountAgentError } from "./localNode.js";
|
||||
import { CoValueKnownState, NewContentMessage } from "./sync.js";
|
||||
import { AgentID, RawCoID, SessionID, TransactionID } from "./ids.js";
|
||||
import { AccountID, ControlledAccountOrAgent } from "./coValues/account.js";
|
||||
@@ -25,6 +26,7 @@ import { coreToCoValue } from "./coreToCoValue.js";
|
||||
import { expectGroup } from "./typeUtils/expectGroup.js";
|
||||
import { isAccountID } from "./typeUtils/isAccountID.js";
|
||||
import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
|
||||
import { err, ok, Result } from "neverthrow";
|
||||
|
||||
/**
|
||||
In order to not block other concurrently syncing CoValues we introduce a maximum size of transactions,
|
||||
@@ -103,10 +105,10 @@ export class CoValueCore {
|
||||
_decryptionCache: {
|
||||
[key: Encrypted<JsonValue[], JsonValue>]: JsonValue[] | undefined;
|
||||
} = {};
|
||||
currentlyAsyncApplyingTxDone?: Promise<void>;
|
||||
_cachedKnownState?: CoValueKnownState;
|
||||
_cachedDependentOn?: RawCoID[];
|
||||
_cachedNewContentSinceEmpty?: NewContentMessage[] | undefined;
|
||||
_currentAsyncAddTransaction?: Promise<void>;
|
||||
|
||||
constructor(
|
||||
header: CoValueHeader,
|
||||
@@ -182,7 +184,9 @@ export class CoValueCore {
|
||||
this.header.meta?.type === "account"
|
||||
? (this.node.currentSessionID.replace(
|
||||
this.node.account.id,
|
||||
this.node.account.currentAgentID(),
|
||||
this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
) as SessionID)
|
||||
: this.node.currentSessionID;
|
||||
|
||||
@@ -197,167 +201,198 @@ export class CoValueCore {
|
||||
newTransactions: Transaction[],
|
||||
givenExpectedNewHash: Hash | undefined,
|
||||
newSignature: Signature,
|
||||
): boolean {
|
||||
const signerID = this.crypto.getAgentSignerID(
|
||||
this.node.resolveAccountAgent(
|
||||
): Result<true, TryAddTransactionsError> {
|
||||
return this.node
|
||||
.resolveAccountAgent(
|
||||
accountOrAgentIDfromSessionID(sessionID),
|
||||
"Expected to know signer of transaction",
|
||||
),
|
||||
);
|
||||
)
|
||||
.andThen((agent) => {
|
||||
const signerID = this.crypto.getAgentSignerID(agent);
|
||||
|
||||
if (!signerID) {
|
||||
console.warn(
|
||||
"Unknown agent",
|
||||
accountOrAgentIDfromSessionID(sessionID),
|
||||
);
|
||||
return false;
|
||||
}
|
||||
// const beforeHash = performance.now();
|
||||
const { expectedNewHash, newStreamingHash } =
|
||||
this.expectedNewHashAfter(sessionID, newTransactions);
|
||||
// const afterHash = performance.now();
|
||||
// console.log(
|
||||
// "Hashing took",
|
||||
// afterHash - beforeHash
|
||||
// );
|
||||
|
||||
// const beforeHash = performance.now();
|
||||
const { expectedNewHash, newStreamingHash } = this.expectedNewHashAfter(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
);
|
||||
// const afterHash = performance.now();
|
||||
// console.log(
|
||||
// "Hashing took",
|
||||
// afterHash - beforeHash
|
||||
// );
|
||||
if (
|
||||
givenExpectedNewHash &&
|
||||
givenExpectedNewHash !== expectedNewHash
|
||||
) {
|
||||
return err({
|
||||
type: "InvalidHash",
|
||||
id: this.id,
|
||||
expectedNewHash,
|
||||
givenExpectedNewHash,
|
||||
} satisfies InvalidHashError);
|
||||
}
|
||||
|
||||
if (givenExpectedNewHash && givenExpectedNewHash !== expectedNewHash) {
|
||||
console.warn("Invalid hash", {
|
||||
expectedNewHash,
|
||||
givenExpectedNewHash,
|
||||
// const beforeVerify = performance.now();
|
||||
if (
|
||||
!this.crypto.verify(newSignature, expectedNewHash, signerID)
|
||||
) {
|
||||
return err({
|
||||
type: "InvalidSignature",
|
||||
id: this.id,
|
||||
newSignature,
|
||||
sessionID,
|
||||
signerID,
|
||||
} satisfies InvalidSignatureError);
|
||||
}
|
||||
// const afterVerify = performance.now();
|
||||
// console.log(
|
||||
// "Verify took",
|
||||
// afterVerify - beforeVerify
|
||||
// );
|
||||
|
||||
this.doAddTransactions(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
newStreamingHash,
|
||||
"immediate",
|
||||
);
|
||||
|
||||
return ok(true as const);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
// const beforeVerify = performance.now();
|
||||
if (!this.crypto.verify(newSignature, expectedNewHash, signerID)) {
|
||||
console.warn(
|
||||
"Invalid signature in",
|
||||
this.id,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
signerID,
|
||||
);
|
||||
return false;
|
||||
}
|
||||
// const afterVerify = performance.now();
|
||||
// console.log(
|
||||
// "Verify took",
|
||||
// afterVerify - beforeVerify
|
||||
// );
|
||||
|
||||
this.doAddTransactions(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
newStreamingHash,
|
||||
"immediate",
|
||||
);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
async tryAddTransactionsAsync(
|
||||
/*tryAddTransactionsAsync(
|
||||
sessionID: SessionID,
|
||||
newTransactions: Transaction[],
|
||||
givenExpectedNewHash: Hash | undefined,
|
||||
newSignature: Signature,
|
||||
): Promise<boolean> {
|
||||
if (this.currentlyAsyncApplyingTxDone) {
|
||||
await this.currentlyAsyncApplyingTxDone;
|
||||
}
|
||||
let resolveDone!: () => void;
|
||||
): ResultAsync<true, TryAddTransactionsError> {
|
||||
const currentAsyncAddTransaction = this._currentAsyncAddTransaction;
|
||||
let maybeAwaitPrevious:
|
||||
| ResultAsync<void, TryAddTransactionsError>
|
||||
| undefined;
|
||||
let thisDone = () => {};
|
||||
|
||||
this.currentlyAsyncApplyingTxDone = new Promise((resolve) => {
|
||||
resolveDone = resolve;
|
||||
});
|
||||
|
||||
const signerID = this.crypto.getAgentSignerID(
|
||||
await this.node.resolveAccountAgentAsync(
|
||||
accountOrAgentIDfromSessionID(sessionID),
|
||||
"Expected to know signer of transaction",
|
||||
),
|
||||
);
|
||||
|
||||
if (!signerID) {
|
||||
console.warn(
|
||||
"Unknown agent",
|
||||
accountOrAgentIDfromSessionID(sessionID),
|
||||
if (currentAsyncAddTransaction) {
|
||||
// eslint-disable-next-line neverthrow/must-use-result
|
||||
maybeAwaitPrevious = ResultAsync.fromSafePromise(
|
||||
currentAsyncAddTransaction,
|
||||
);
|
||||
resolveDone();
|
||||
return false;
|
||||
}
|
||||
|
||||
const nTxBefore =
|
||||
this.sessionLogs.get(sessionID)?.transactions.length ?? 0;
|
||||
|
||||
// const beforeHash = performance.now();
|
||||
const { expectedNewHash, newStreamingHash } =
|
||||
await this.expectedNewHashAfterAsync(sessionID, newTransactions);
|
||||
// const afterHash = performance.now();
|
||||
// console.log(
|
||||
// "Hashing took",
|
||||
// afterHash - beforeHash
|
||||
// );
|
||||
|
||||
const nTxAfter =
|
||||
this.sessionLogs.get(sessionID)?.transactions.length ?? 0;
|
||||
|
||||
if (nTxAfter !== nTxBefore) {
|
||||
const newTransactionLengthBefore = newTransactions.length;
|
||||
newTransactions = newTransactions.slice(nTxAfter - nTxBefore);
|
||||
console.warn("Transactions changed while async hashing", {
|
||||
nTxBefore,
|
||||
nTxAfter,
|
||||
newTransactionLengthBefore,
|
||||
remainingNewTransactions: newTransactions.length,
|
||||
} else {
|
||||
// eslint-disable-next-line neverthrow/must-use-result
|
||||
maybeAwaitPrevious = ResultAsync.fromSafePromise(Promise.resolve());
|
||||
this._currentAsyncAddTransaction = new Promise((resolve) => {
|
||||
thisDone = resolve;
|
||||
});
|
||||
}
|
||||
|
||||
if (givenExpectedNewHash && givenExpectedNewHash !== expectedNewHash) {
|
||||
console.warn("Invalid hash", {
|
||||
expectedNewHash,
|
||||
givenExpectedNewHash,
|
||||
return maybeAwaitPrevious
|
||||
.andThen((_previousDone) =>
|
||||
this.node
|
||||
.resolveAccountAgentAsync(
|
||||
accountOrAgentIDfromSessionID(sessionID),
|
||||
"Expected to know signer of transaction",
|
||||
)
|
||||
.andThen((agent) => {
|
||||
const signerID = this.crypto.getAgentSignerID(agent);
|
||||
|
||||
const nTxBefore =
|
||||
this.sessionLogs.get(sessionID)?.transactions
|
||||
.length ?? 0;
|
||||
|
||||
// const beforeHash = performance.now();
|
||||
return ResultAsync.fromSafePromise(
|
||||
this.expectedNewHashAfterAsync(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
),
|
||||
).andThen(({ expectedNewHash, newStreamingHash }) => {
|
||||
// const afterHash = performance.now();
|
||||
// console.log(
|
||||
// "Hashing took",
|
||||
// afterHash - beforeHash
|
||||
// );
|
||||
|
||||
const nTxAfter =
|
||||
this.sessionLogs.get(sessionID)?.transactions
|
||||
.length ?? 0;
|
||||
|
||||
if (nTxAfter !== nTxBefore) {
|
||||
const newTransactionLengthBefore =
|
||||
newTransactions.length;
|
||||
newTransactions = newTransactions.slice(
|
||||
nTxAfter - nTxBefore,
|
||||
);
|
||||
console.warn(
|
||||
"Transactions changed while async hashing",
|
||||
{
|
||||
nTxBefore,
|
||||
nTxAfter,
|
||||
newTransactionLengthBefore,
|
||||
remainingNewTransactions:
|
||||
newTransactions.length,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
givenExpectedNewHash &&
|
||||
givenExpectedNewHash !== expectedNewHash
|
||||
) {
|
||||
return err({
|
||||
type: "InvalidHash",
|
||||
id: this.id,
|
||||
expectedNewHash,
|
||||
givenExpectedNewHash,
|
||||
} satisfies InvalidHashError);
|
||||
}
|
||||
|
||||
performance.mark("verifyStart" + this.id);
|
||||
if (
|
||||
!this.crypto.verify(
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
signerID,
|
||||
)
|
||||
) {
|
||||
return err({
|
||||
type: "InvalidSignature",
|
||||
id: this.id,
|
||||
newSignature,
|
||||
sessionID,
|
||||
signerID,
|
||||
} satisfies InvalidSignatureError);
|
||||
}
|
||||
performance.mark("verifyEnd" + this.id);
|
||||
performance.measure(
|
||||
"verify" + this.id,
|
||||
"verifyStart" + this.id,
|
||||
"verifyEnd" + this.id,
|
||||
);
|
||||
|
||||
this.doAddTransactions(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
newStreamingHash,
|
||||
"deferred",
|
||||
);
|
||||
|
||||
return ok(true as const);
|
||||
});
|
||||
}),
|
||||
)
|
||||
.map((trueResult) => {
|
||||
thisDone();
|
||||
return trueResult;
|
||||
})
|
||||
.mapErr((err) => {
|
||||
thisDone();
|
||||
return err;
|
||||
});
|
||||
resolveDone();
|
||||
return false;
|
||||
}
|
||||
|
||||
performance.mark("verifyStart" + this.id);
|
||||
if (!this.crypto.verify(newSignature, expectedNewHash, signerID)) {
|
||||
console.warn(
|
||||
"Invalid signature in",
|
||||
this.id,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
signerID,
|
||||
);
|
||||
resolveDone();
|
||||
return false;
|
||||
}
|
||||
performance.mark("verifyEnd" + this.id);
|
||||
performance.measure(
|
||||
"verify" + this.id,
|
||||
"verifyStart" + this.id,
|
||||
"verifyEnd" + this.id,
|
||||
);
|
||||
|
||||
this.doAddTransactions(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
newSignature,
|
||||
expectedNewHash,
|
||||
newStreamingHash,
|
||||
"deferred",
|
||||
);
|
||||
|
||||
resolveDone();
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
|
||||
private doAddTransactions(
|
||||
sessionID: SessionID,
|
||||
@@ -367,6 +402,9 @@ export class CoValueCore {
|
||||
newStreamingHash: StreamingHash,
|
||||
notifyMode: "immediate" | "deferred",
|
||||
) {
|
||||
if (this.node.crashed) {
|
||||
throw new Error("Trying to add transactions after node is crashed");
|
||||
}
|
||||
const transactions =
|
||||
this.sessionLogs.get(sessionID)?.transactions ?? [];
|
||||
transactions.push(...newTransactions);
|
||||
@@ -542,7 +580,9 @@ export class CoValueCore {
|
||||
this.header.meta?.type === "account"
|
||||
? (this.node.currentSessionID.replace(
|
||||
this.node.account.id,
|
||||
this.node.account.currentAgentID(),
|
||||
this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
) as SessionID)
|
||||
: this.node.currentSessionID;
|
||||
|
||||
@@ -560,7 +600,7 @@ export class CoValueCore {
|
||||
[transaction],
|
||||
expectedNewHash,
|
||||
signature,
|
||||
);
|
||||
)._unsafeUnwrap({ withStackTrace: true });
|
||||
|
||||
if (success) {
|
||||
void this.node.syncManager.syncCoValue(this);
|
||||
@@ -706,7 +746,9 @@ export class CoValueCore {
|
||||
// Try to find key revelation for us
|
||||
const lookupAccountOrAgentID =
|
||||
this.header.meta?.type === "account"
|
||||
? this.node.account.currentAgentID()
|
||||
? this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true })
|
||||
: this.node.account.id;
|
||||
|
||||
const lastReadyKeyEdit = content.lastEditAt(
|
||||
@@ -715,10 +757,9 @@ export class CoValueCore {
|
||||
|
||||
if (lastReadyKeyEdit?.value) {
|
||||
const revealer = lastReadyKeyEdit.by;
|
||||
const revealerAgent = this.node.resolveAccountAgent(
|
||||
revealer,
|
||||
"Expected to know revealer",
|
||||
);
|
||||
const revealerAgent = this.node
|
||||
.resolveAccountAgent(revealer, "Expected to know revealer")
|
||||
._unsafeUnwrap({ withStackTrace: true });
|
||||
|
||||
const secret = this.crypto.unseal(
|
||||
lastReadyKeyEdit.value,
|
||||
@@ -983,3 +1024,23 @@ function getNextKnownSignatureIdx(
|
||||
idx >= (sentStateForSessionID ?? knownStateForSessionID ?? -1),
|
||||
);
|
||||
}
|
||||
|
||||
export type InvalidHashError = {
|
||||
type: "InvalidHash";
|
||||
id: RawCoID;
|
||||
expectedNewHash: Hash;
|
||||
givenExpectedNewHash: Hash;
|
||||
};
|
||||
|
||||
export type InvalidSignatureError = {
|
||||
type: "InvalidSignature";
|
||||
id: RawCoID;
|
||||
newSignature: Signature;
|
||||
sessionID: SessionID;
|
||||
signerID: SignerID;
|
||||
};
|
||||
|
||||
export type TryAddTransactionsError =
|
||||
| ResolveAccountAgentError
|
||||
| InvalidHashError
|
||||
| InvalidSignatureError;
|
||||
|
||||
@@ -13,6 +13,7 @@ import { RawCoMap } from "./coMap.js";
|
||||
import { RawGroup, InviteSecret } from "./group.js";
|
||||
import { LocalNode } from "../index.js";
|
||||
import { JsonObject } from "../jsonValue.js";
|
||||
import { err, ok, Result } from "neverthrow";
|
||||
|
||||
export function accountHeaderForInitialAgentSecret(
|
||||
agentSecret: AgentSecret,
|
||||
@@ -30,28 +31,34 @@ export function accountHeaderForInitialAgentSecret(
|
||||
};
|
||||
}
|
||||
|
||||
export type InvalidAccountAgentIDError = {
|
||||
type: "InvalidAccountAgentID";
|
||||
reason: string;
|
||||
};
|
||||
|
||||
export class RawAccount<
|
||||
Meta extends AccountMeta = AccountMeta,
|
||||
> extends RawGroup<Meta> {
|
||||
_cachedCurrentAgentID: AgentID | undefined;
|
||||
|
||||
currentAgentID(): AgentID {
|
||||
currentAgentID(): Result<AgentID, InvalidAccountAgentIDError> {
|
||||
if (this._cachedCurrentAgentID) {
|
||||
return this._cachedCurrentAgentID;
|
||||
return ok(this._cachedCurrentAgentID);
|
||||
}
|
||||
const agents = this.keys().filter((k): k is AgentID =>
|
||||
k.startsWith("sealer_"),
|
||||
);
|
||||
|
||||
if (agents.length !== 1) {
|
||||
throw new Error(
|
||||
"Expected exactly one agent in account, got " + agents.length,
|
||||
);
|
||||
return err({
|
||||
type: "InvalidAccountAgentID",
|
||||
reason: "Account has " + agents.length + " agents",
|
||||
});
|
||||
}
|
||||
|
||||
this._cachedCurrentAgentID = agents[0];
|
||||
|
||||
return agents[0]!;
|
||||
return ok(agents[0]!);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,10 +66,10 @@ export interface ControlledAccountOrAgent {
|
||||
id: AccountID | AgentID;
|
||||
agentSecret: AgentSecret;
|
||||
|
||||
currentAgentID: () => AgentID;
|
||||
currentSignerID: () => SignerID;
|
||||
currentAgentID: () => Result<AgentID, InvalidAccountAgentIDError>;
|
||||
currentSignerID: () => Result<SignerID, InvalidAccountAgentIDError>;
|
||||
currentSignerSecret: () => SignerSecret;
|
||||
currentSealerID: () => SealerID;
|
||||
currentSealerID: () => Result<SealerID, InvalidAccountAgentIDError>;
|
||||
currentSealerSecret: () => SealerSecret;
|
||||
}
|
||||
|
||||
@@ -96,25 +103,29 @@ export class RawControlledAccount<Meta extends AccountMeta = AccountMeta>
|
||||
return this.core.node.acceptInvite(groupOrOwnedValueID, inviteSecret);
|
||||
}
|
||||
|
||||
currentAgentID(): AgentID {
|
||||
currentAgentID(): Result<AgentID, InvalidAccountAgentIDError> {
|
||||
if (this._cachedCurrentAgentID) {
|
||||
return this._cachedCurrentAgentID;
|
||||
return ok(this._cachedCurrentAgentID);
|
||||
}
|
||||
const agentID = this.crypto.getAgentID(this.agentSecret);
|
||||
this._cachedCurrentAgentID = agentID;
|
||||
return agentID;
|
||||
return ok(agentID);
|
||||
}
|
||||
|
||||
currentSignerID(): SignerID {
|
||||
return this.crypto.getAgentSignerID(this.currentAgentID());
|
||||
currentSignerID() {
|
||||
return this.currentAgentID().map((id) =>
|
||||
this.crypto.getAgentSignerID(id),
|
||||
);
|
||||
}
|
||||
|
||||
currentSignerSecret(): SignerSecret {
|
||||
return this.crypto.getAgentSignerSecret(this.agentSecret);
|
||||
}
|
||||
|
||||
currentSealerID(): SealerID {
|
||||
return this.crypto.getAgentSealerID(this.currentAgentID());
|
||||
currentSealerID() {
|
||||
return this.currentAgentID().map((id) =>
|
||||
this.crypto.getAgentSealerID(id),
|
||||
);
|
||||
}
|
||||
|
||||
currentSealerSecret(): SealerSecret {
|
||||
@@ -133,20 +144,24 @@ export class ControlledAgent implements ControlledAccountOrAgent {
|
||||
return this.crypto.getAgentID(this.agentSecret);
|
||||
}
|
||||
|
||||
currentAgentID(): AgentID {
|
||||
return this.crypto.getAgentID(this.agentSecret);
|
||||
currentAgentID() {
|
||||
return ok(this.crypto.getAgentID(this.agentSecret));
|
||||
}
|
||||
|
||||
currentSignerID(): SignerID {
|
||||
return this.crypto.getAgentSignerID(this.currentAgentID());
|
||||
currentSignerID() {
|
||||
return this.currentAgentID().map((id) =>
|
||||
this.crypto.getAgentSignerID(id),
|
||||
);
|
||||
}
|
||||
|
||||
currentSignerSecret(): SignerSecret {
|
||||
return this.crypto.getAgentSignerSecret(this.agentSecret);
|
||||
}
|
||||
|
||||
currentSealerID(): SealerID {
|
||||
return this.crypto.getAgentSealerID(this.currentAgentID());
|
||||
currentSealerID() {
|
||||
return this.currentAgentID().map((id) =>
|
||||
this.crypto.getAgentSealerID(id),
|
||||
);
|
||||
}
|
||||
|
||||
currentSealerSecret(): SealerSecret {
|
||||
|
||||
@@ -120,7 +120,9 @@ export class RawGroup<
|
||||
const agent =
|
||||
typeof account === "string"
|
||||
? account
|
||||
: account.currentAgentID();
|
||||
: account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true });
|
||||
this.set(memberKey, role, "trusting");
|
||||
|
||||
if (this.get(memberKey) !== role) {
|
||||
@@ -175,7 +177,7 @@ export class RawGroup<
|
||||
const reader = this.core.node.resolveAccountAgent(
|
||||
readerID,
|
||||
"Expected to know currently permitted reader",
|
||||
);
|
||||
)._unsafeUnwrap({ withStackTrace: true });
|
||||
|
||||
this.set(
|
||||
`${newReadKey.id}_for_${readerID}`,
|
||||
|
||||
@@ -22,9 +22,11 @@ import {
|
||||
AccountID,
|
||||
RawProfile,
|
||||
RawAccountMigration,
|
||||
InvalidAccountAgentIDError,
|
||||
} from "./coValues/account.js";
|
||||
import { Profile, RawCoValue } from "./index.js";
|
||||
import { expectGroup } from "./typeUtils/expectGroup.js";
|
||||
import { err, ok, okAsync, Result, ResultAsync } from "neverthrow";
|
||||
|
||||
/** A `LocalNode` represents a local view of a set of loaded `CoValue`s, from the perspective of a particular account (or primitive cryptographic agent).
|
||||
|
||||
@@ -49,6 +51,8 @@ export class LocalNode {
|
||||
/** @category 3. Low-level */
|
||||
syncManager = new SyncManager(this);
|
||||
|
||||
crashed: Error | undefined = undefined;
|
||||
|
||||
/** @category 3. Low-level */
|
||||
constructor(
|
||||
account: ControlledAccountOrAgent,
|
||||
@@ -240,6 +244,12 @@ export class LocalNode {
|
||||
|
||||
/** @internal */
|
||||
createCoValue(header: CoValueHeader): CoValueCore {
|
||||
if (this.crashed) {
|
||||
throw new Error("Trying to create CoValue after node has crashed", {
|
||||
cause: this.crashed,
|
||||
});
|
||||
}
|
||||
|
||||
const coValue = new CoValueCore(header, this);
|
||||
this.coValues[coValue.id] = { state: "loaded", coValue: coValue };
|
||||
|
||||
@@ -257,6 +267,12 @@ export class LocalNode {
|
||||
onProgress?: (progress: number) => void;
|
||||
} = {},
|
||||
): Promise<CoValueCore | "unavailable"> {
|
||||
if (this.crashed) {
|
||||
throw new Error("Trying to load CoValue after node has crashed", {
|
||||
cause: this.crashed,
|
||||
});
|
||||
}
|
||||
|
||||
let entry = this.coValues[id];
|
||||
if (!entry) {
|
||||
const peersToWaitFor = new Set(
|
||||
@@ -519,9 +535,9 @@ export class LocalNode {
|
||||
resolveAccountAgent(
|
||||
id: AccountID | AgentID,
|
||||
expectation?: string,
|
||||
): AgentID {
|
||||
): Result<AgentID, ResolveAccountAgentError> {
|
||||
if (isAgentID(id)) {
|
||||
return id;
|
||||
return ok(id);
|
||||
}
|
||||
|
||||
const coValue = this.expectCoValueLoaded(id, expectation);
|
||||
@@ -533,49 +549,58 @@ export class LocalNode {
|
||||
!("type" in coValue.header.meta) ||
|
||||
coValue.header.meta.type !== "account"
|
||||
) {
|
||||
throw new Error(
|
||||
`${
|
||||
expectation ? expectation + ": " : ""
|
||||
}CoValue ${id} is not an account`,
|
||||
);
|
||||
return err({
|
||||
type: "UnexpectedlyNotAccount",
|
||||
expectation,
|
||||
id,
|
||||
} satisfies UnexpectedlyNotAccountError);
|
||||
}
|
||||
|
||||
return (coValue.getCurrentContent() as RawAccount).currentAgentID();
|
||||
}
|
||||
|
||||
async resolveAccountAgentAsync(
|
||||
resolveAccountAgentAsync(
|
||||
id: AccountID | AgentID,
|
||||
expectation?: string,
|
||||
): Promise<AgentID> {
|
||||
): ResultAsync<AgentID, ResolveAccountAgentError> {
|
||||
if (isAgentID(id)) {
|
||||
return id;
|
||||
return okAsync(id);
|
||||
}
|
||||
|
||||
const coValue = await this.loadCoValueCore(id);
|
||||
return ResultAsync.fromPromise(
|
||||
this.loadCoValueCore(id),
|
||||
(e) =>
|
||||
({
|
||||
type: "ErrorLoadingCoValueCore",
|
||||
expectation,
|
||||
id,
|
||||
error: e,
|
||||
}) satisfies LoadCoValueCoreError,
|
||||
).andThen((coValue) => {
|
||||
if (coValue === "unavailable") {
|
||||
return err({
|
||||
type: "AccountUnavailableFromAllPeers" as const,
|
||||
expectation,
|
||||
id,
|
||||
} satisfies AccountUnavailableFromAllPeersError);
|
||||
}
|
||||
|
||||
if (coValue === "unavailable") {
|
||||
throw new Error(
|
||||
`${
|
||||
expectation ? expectation + ": " : ""
|
||||
}Account ${id} is unavailable from all peers`,
|
||||
);
|
||||
}
|
||||
if (
|
||||
coValue.header.type !== "comap" ||
|
||||
coValue.header.ruleset.type !== "group" ||
|
||||
!coValue.header.meta ||
|
||||
!("type" in coValue.header.meta) ||
|
||||
coValue.header.meta.type !== "account"
|
||||
) {
|
||||
return err({
|
||||
type: "UnexpectedlyNotAccount" as const,
|
||||
expectation,
|
||||
id,
|
||||
} satisfies UnexpectedlyNotAccountError);
|
||||
}
|
||||
|
||||
if (
|
||||
coValue.header.type !== "comap" ||
|
||||
coValue.header.ruleset.type !== "group" ||
|
||||
!coValue.header.meta ||
|
||||
!("type" in coValue.header.meta) ||
|
||||
coValue.header.meta.type !== "account"
|
||||
) {
|
||||
throw new Error(
|
||||
`${
|
||||
expectation ? expectation + ": " : ""
|
||||
}CoValue ${id} is not an account`,
|
||||
);
|
||||
}
|
||||
|
||||
return (coValue.getCurrentContent() as RawAccount).currentAgentID();
|
||||
return (coValue.getCurrentContent() as RawAccount).currentAgentID();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -600,7 +625,9 @@ export class LocalNode {
|
||||
this.crypto.seal({
|
||||
message: readKey.secret,
|
||||
from: this.account.currentSealerSecret(),
|
||||
to: this.account.currentSealerID(),
|
||||
to: this.account
|
||||
.currentSealerID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
nOnceMaterial: {
|
||||
in: groupCoValue.id,
|
||||
tx: groupCoValue.nextTransactionID(),
|
||||
@@ -700,6 +727,31 @@ type CoValueState =
|
||||
onProgress?: (progress: number) => void;
|
||||
};
|
||||
|
||||
export type LoadCoValueCoreError = {
|
||||
type: "ErrorLoadingCoValueCore";
|
||||
error: unknown;
|
||||
expectation?: string;
|
||||
id: AccountID;
|
||||
};
|
||||
|
||||
export type AccountUnavailableFromAllPeersError = {
|
||||
type: "AccountUnavailableFromAllPeers";
|
||||
expectation?: string;
|
||||
id: AccountID;
|
||||
};
|
||||
|
||||
export type UnexpectedlyNotAccountError = {
|
||||
type: "UnexpectedlyNotAccount";
|
||||
expectation?: string;
|
||||
id: AccountID;
|
||||
};
|
||||
|
||||
export type ResolveAccountAgentError =
|
||||
| InvalidAccountAgentIDError
|
||||
| LoadCoValueCoreError
|
||||
| AccountUnavailableFromAllPeersError
|
||||
| UnexpectedlyNotAccountError;
|
||||
|
||||
/** @internal */
|
||||
export function newLoadingState(
|
||||
currentPeerIds: Set<PeerID>,
|
||||
|
||||
@@ -249,8 +249,22 @@ export function determineValidTransactions(
|
||||
const effectiveTransactor =
|
||||
transactor === groupContent.id &&
|
||||
groupAtTime instanceof RawAccount
|
||||
? groupAtTime.currentAgentID()
|
||||
? groupAtTime.currentAgentID().match(
|
||||
(agentID) => agentID,
|
||||
(e) => {
|
||||
console.error(
|
||||
"Error while determining current agent ID in valid transactions",
|
||||
e,
|
||||
);
|
||||
return undefined;
|
||||
},
|
||||
)
|
||||
: transactor;
|
||||
|
||||
if (!effectiveTransactor) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const transactorRoleAtTxTime =
|
||||
groupAtTime.get(effectiveTransactor) ||
|
||||
groupAtTime.get(EVERYONE);
|
||||
|
||||
@@ -562,6 +562,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
||||
peer1role: "client",
|
||||
peer2role: "server",
|
||||
trace,
|
||||
crashOnClose: true,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Peer, PeerID, SyncMessage } from "./sync.js";
|
||||
import { Channel } from "queueable";
|
||||
export { Channel } from "queueable";
|
||||
import { Channel } from "queueueue";
|
||||
export { Channel } from "queueueue";
|
||||
|
||||
export function connectedPeers(
|
||||
peer1id: PeerID,
|
||||
@@ -9,10 +9,12 @@ export function connectedPeers(
|
||||
trace = false,
|
||||
peer1role = "peer",
|
||||
peer2role = "peer",
|
||||
crashOnClose = false,
|
||||
}: {
|
||||
trace?: boolean;
|
||||
peer1role?: Peer["role"];
|
||||
peer2role?: Peer["role"];
|
||||
crashOnClose?: boolean;
|
||||
} = {},
|
||||
): [Peer, Peer] {
|
||||
const [from1to2Rx, from1to2Tx] = newQueuePair(
|
||||
@@ -27,6 +29,7 @@ export function connectedPeers(
|
||||
incoming: from2to1Rx,
|
||||
outgoing: from1to2Tx,
|
||||
role: peer2role,
|
||||
crashOnClose: crashOnClose,
|
||||
};
|
||||
|
||||
const peer1AsPeer: Peer = {
|
||||
@@ -34,6 +37,7 @@ export function connectedPeers(
|
||||
incoming: from1to2Rx,
|
||||
outgoing: from2to1Tx,
|
||||
role: peer1role,
|
||||
crashOnClose: crashOnClose,
|
||||
};
|
||||
|
||||
return [peer1AsPeer, peer2AsPeer];
|
||||
|
||||
@@ -72,8 +72,8 @@ export interface Peer {
|
||||
incoming: IncomingSyncStream;
|
||||
outgoing: OutgoingSyncQueue;
|
||||
role: "peer" | "server" | "client";
|
||||
delayOnError?: number;
|
||||
priority?: number;
|
||||
crashOnClose: boolean;
|
||||
}
|
||||
|
||||
export interface PeerState {
|
||||
@@ -83,8 +83,8 @@ export interface PeerState {
|
||||
incoming: IncomingSyncStream;
|
||||
outgoing: OutgoingSyncQueue;
|
||||
role: "peer" | "server" | "client";
|
||||
delayOnError?: number;
|
||||
priority?: number;
|
||||
crashOnClose: boolean;
|
||||
}
|
||||
|
||||
export function combinedKnownStates(
|
||||
@@ -343,8 +343,8 @@ export class SyncManager {
|
||||
outgoing: peer.outgoing,
|
||||
toldKnownState: new Set(),
|
||||
role: peer.role,
|
||||
delayOnError: peer.delayOnError,
|
||||
priority: peer.priority,
|
||||
crashOnClose: peer.crashOnClose,
|
||||
};
|
||||
this.peers[peer.id] = peerState;
|
||||
|
||||
@@ -392,9 +392,31 @@ export class SyncManager {
|
||||
}
|
||||
};
|
||||
|
||||
processMessages().catch((e) => {
|
||||
console.error("Error processing messages from peer", peer.id, e);
|
||||
});
|
||||
processMessages()
|
||||
.then(() => {
|
||||
if (peer.crashOnClose) {
|
||||
console.error("Unexepcted close from peer", peer.id);
|
||||
this.local.crashed = new Error(
|
||||
"Unexpected close from peer",
|
||||
);
|
||||
throw new Error("Unexpected close from peer");
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(
|
||||
"Error processing messages from peer",
|
||||
peer.id,
|
||||
e,
|
||||
);
|
||||
if (peer.crashOnClose) {
|
||||
this.local.crashed = e;
|
||||
throw new Error(e);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
peer.outgoing.close();
|
||||
delete this.peers[peer.id];
|
||||
});
|
||||
}
|
||||
|
||||
trySendToPeer(peer: PeerState, msg: SyncMessage) {
|
||||
@@ -411,7 +433,7 @@ export class SyncManager {
|
||||
// special case: we should be able to solve this much more neatly
|
||||
// with an explicit state machine in the future
|
||||
const eligiblePeers = this.peersInPriorityOrder().filter(
|
||||
(other) => other.id !== peer.id && peer.role === "server",
|
||||
(other) => other.id !== peer.id && other.role === "server",
|
||||
);
|
||||
if (eligiblePeers.length === 0) {
|
||||
if (msg.header || Object.keys(msg.sessions).length > 0) {
|
||||
@@ -443,14 +465,14 @@ export class SyncManager {
|
||||
}
|
||||
|
||||
if (entry.state === "loading") {
|
||||
console.log(
|
||||
"Waiting for loaded",
|
||||
msg.id,
|
||||
"after message from",
|
||||
peer.id,
|
||||
);
|
||||
// console.debug(
|
||||
// "Waiting for loaded",
|
||||
// msg.id,
|
||||
// "after message from",
|
||||
// peer.id,
|
||||
// );
|
||||
const loaded = await entry.done;
|
||||
console.log("Loaded", msg.id, loaded);
|
||||
// console.log("Loaded", msg.id, loaded);
|
||||
if (loaded === "unavailable") {
|
||||
peer.optimisticKnownStates[msg.id] = knownStateIn(msg);
|
||||
peer.toldKnownState.add(msg.id);
|
||||
@@ -539,9 +561,10 @@ export class SyncManager {
|
||||
let entry = this.local.coValues[msg.id];
|
||||
|
||||
if (!entry) {
|
||||
throw new Error(
|
||||
console.error(
|
||||
`Expected coValue entry for ${msg.id} to be created on new content, missing subscribe?`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
let resolveAfterDone: ((coValue: CoValueCore) => void) | undefined;
|
||||
@@ -549,14 +572,16 @@ export class SyncManager {
|
||||
const peerOptimisticKnownState = peer.optimisticKnownStates[msg.id];
|
||||
|
||||
if (!peerOptimisticKnownState) {
|
||||
throw new Error(
|
||||
console.error(
|
||||
"Expected optimisticKnownState to be set for coValue we receive new content for",
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (entry.state === "loading") {
|
||||
if (!msg.header) {
|
||||
throw new Error("Expected header to be sent in first message");
|
||||
console.error("Expected header to be sent in first message");
|
||||
return;
|
||||
}
|
||||
|
||||
const firstPeerStateEntry = entry.firstPeerState[peer.id];
|
||||
@@ -608,7 +633,8 @@ export class SyncManager {
|
||||
}
|
||||
|
||||
const before = performance.now();
|
||||
const success = await coValue.tryAddTransactionsAsync(
|
||||
// eslint-disable-next-line neverthrow/must-use-result
|
||||
const result = coValue.tryAddTransactions(
|
||||
sessionID,
|
||||
newTransactions,
|
||||
undefined,
|
||||
@@ -644,15 +670,16 @@ export class SyncManager {
|
||||
|
||||
entry.onProgress?.(ourTotalnTxs / theirTotalnTxs);
|
||||
|
||||
if (!success) {
|
||||
if (result.isErr()) {
|
||||
console.error(
|
||||
"Failed to add transactions",
|
||||
"Failed to add transactions from",
|
||||
peer.id,
|
||||
result.error,
|
||||
msg.id,
|
||||
JSON.stringify(newTransactions, (k, v) =>
|
||||
k === "changes" || k === "encryptedChanges"
|
||||
? v.slice(0, 20) + "..."
|
||||
: v,
|
||||
),
|
||||
newTransactions.length + " new transactions",
|
||||
"after: " + newContentForSession.after,
|
||||
"our last known tx idx initially: " + ourKnownTxIdx,
|
||||
"our last known tx idx now: " + coValue.sessionLogs.get(sessionID)?.transactions.length,
|
||||
);
|
||||
continue;
|
||||
}
|
||||
@@ -747,7 +774,11 @@ export class SyncManager {
|
||||
|
||||
gracefulShutdown() {
|
||||
for (const peer of Object.values(this.peers)) {
|
||||
console.debug("Gracefully closing", peer.id);
|
||||
peer.outgoing.close();
|
||||
peer.incoming = (async function* () {
|
||||
yield "Disconnected" as const;
|
||||
})();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,12 +36,14 @@ test("Can create coValue with new agent credentials and add transaction to it",
|
||||
);
|
||||
|
||||
expect(
|
||||
coValue.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[transaction],
|
||||
expectedNewHash,
|
||||
Crypto.sign(account.currentSignerSecret(), expectedNewHash),
|
||||
),
|
||||
coValue
|
||||
.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[transaction],
|
||||
expectedNewHash,
|
||||
Crypto.sign(account.currentSignerSecret(), expectedNewHash),
|
||||
)
|
||||
._unsafeUnwrap(),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
@@ -72,8 +74,9 @@ test("transactions with wrong signature are rejected", () => {
|
||||
[transaction],
|
||||
);
|
||||
|
||||
expect(
|
||||
coValue.tryAddTransactions(
|
||||
// eslint-disable-next-line neverthrow/must-use-result
|
||||
coValue
|
||||
.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[transaction],
|
||||
expectedNewHash,
|
||||
@@ -81,8 +84,8 @@ test("transactions with wrong signature are rejected", () => {
|
||||
Crypto.getAgentSignerSecret(wrongAgent),
|
||||
expectedNewHash,
|
||||
),
|
||||
),
|
||||
).toBe(false);
|
||||
)
|
||||
._unsafeUnwrapErr({ withStackTrace: true });
|
||||
});
|
||||
|
||||
test("transactions with correctly signed, but wrong hash are rejected", () => {
|
||||
@@ -121,14 +124,15 @@ test("transactions with correctly signed, but wrong hash are rejected", () => {
|
||||
],
|
||||
);
|
||||
|
||||
expect(
|
||||
coValue.tryAddTransactions(
|
||||
// eslint-disable-next-line neverthrow/must-use-result
|
||||
coValue
|
||||
.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[transaction],
|
||||
expectedNewHash,
|
||||
Crypto.sign(account.currentSignerSecret(), expectedNewHash),
|
||||
),
|
||||
).toBe(false);
|
||||
)
|
||||
._unsafeUnwrapErr({ withStackTrace: true });
|
||||
});
|
||||
|
||||
test("New transactions in a group correctly update owned values, including subscriptions", async () => {
|
||||
@@ -174,12 +178,14 @@ test("New transactions in a group correctly update owned values, including subsc
|
||||
|
||||
expect(map.core.getValidSortedTransactions().length).toBe(1);
|
||||
|
||||
const manuallyAdddedTxSuccess = group.core.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[resignationThatWeJustLearnedAbout],
|
||||
expectedNewHash,
|
||||
signature,
|
||||
);
|
||||
const manuallyAdddedTxSuccess = group.core
|
||||
.tryAddTransactions(
|
||||
node.currentSessionID,
|
||||
[resignationThatWeJustLearnedAbout],
|
||||
expectedNewHash,
|
||||
signature,
|
||||
)
|
||||
._unsafeUnwrap({ withStackTrace: true });
|
||||
|
||||
expect(manuallyAdddedTxSuccess).toBe(true);
|
||||
|
||||
|
||||
@@ -354,7 +354,7 @@ test("Admins can set group read key and then use it to create and read private t
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -410,7 +410,7 @@ test("Admins can set group read key and then writers can use it to create and re
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -422,7 +422,7 @@ test("Admins can set group read key and then writers can use it to create and re
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: writer.currentSealerID(),
|
||||
to: writer.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -489,7 +489,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -501,7 +501,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -576,7 +576,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -588,7 +588,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader1.currentSealerID(),
|
||||
to: reader1.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -627,7 +627,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -692,7 +692,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -722,7 +722,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -775,7 +775,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -802,7 +802,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -814,7 +814,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -910,7 +910,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -922,7 +922,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -934,7 +934,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -980,7 +980,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const newRevelation1 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -996,7 +996,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const newRevelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1121,7 +1121,7 @@ test("Admins can create an adminInvite, which can add an admin", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1231,7 +1231,7 @@ test("Admins can create a writerInvite, which can add a writer", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1334,7 +1334,7 @@ test("Admins can create a readerInvite, which can add a reader", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1427,7 +1427,7 @@ test("WriterInvites can not invite admins", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1481,7 +1481,7 @@ test("ReaderInvites can not invite admins", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1535,7 +1535,7 @@ test("ReaderInvites can not invite writers", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1610,7 +1610,7 @@ test("Can give read permission to 'everyone'", () => {
|
||||
childObject
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
newRandomSessionID(newAccount.currentAgentID()),
|
||||
newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -1639,7 +1639,7 @@ test("Can give read permissions to 'everyone' (high-level)", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
new ControlledAgent(Crypto.newRandomAgentSecret(), Crypto),
|
||||
newRandomSessionID(newAccount.currentAgentID()),
|
||||
newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -1680,7 +1680,7 @@ test("Can give write permission to 'everyone'", async () => {
|
||||
childObject
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
newRandomSessionID(newAccount.currentAgentID()),
|
||||
newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -1715,7 +1715,7 @@ test("Can give write permissions to 'everyone' (high-level)", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
newRandomSessionID(newAccount.currentAgentID()),
|
||||
newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
|
||||
@@ -32,6 +32,7 @@ test("Node replies with initial tx and header to empty subscribe", async () => {
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
await inTx.push({
|
||||
@@ -109,6 +110,7 @@ test("Node replies with only new tx to subscribe with some known state", async (
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
await inTx.push({
|
||||
@@ -182,6 +184,7 @@ test("After subscribing, node sends own known state and new txs to peer", async
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
await inTx.push({
|
||||
@@ -294,6 +297,7 @@ test("Client replies with known new content to tellKnownState from server", asyn
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
// expect((await outRxQ.next()).value).toMatchObject(groupStateEx(group));
|
||||
@@ -366,6 +370,7 @@ test("No matter the optimistic known state, node respects invalid known state me
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
await inTx.push({
|
||||
@@ -463,6 +468,7 @@ test("If we add a peer, but it never subscribes to a coValue, it won't get any m
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
map.set("hello", "world", "trusting");
|
||||
@@ -498,6 +504,7 @@ test.todo(
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "server",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
// expect((await outRxQ.next()).value).toMatchObject({
|
||||
@@ -573,6 +580,7 @@ test.skip("If we add a server peer, newly created coValues are auto-subscribed t
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "server",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
// expect((await outRxQ.next()).value).toMatchObject({
|
||||
@@ -627,6 +635,7 @@ test("When we connect a new server peer, we try to sync all existing coValues to
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "server",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
// const _adminSubscribeMessage = await outRxQ.next();
|
||||
@@ -662,6 +671,7 @@ test("When receiving a subscribe with a known state that is ahead of our own, pe
|
||||
incoming: inRx,
|
||||
outgoing: outTx,
|
||||
role: "peer",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
await inTx.push({
|
||||
@@ -700,6 +710,7 @@ test.skip("When replaying creation and transactions of a coValue as new content,
|
||||
incoming: inRx1,
|
||||
outgoing: outTx1,
|
||||
role: "server",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
const node2 = new LocalNode(admin, newRandomSessionID(admin.id), Crypto);
|
||||
@@ -713,6 +724,7 @@ test.skip("When replaying creation and transactions of a coValue as new content,
|
||||
incoming: inRx2,
|
||||
outgoing: outTx2,
|
||||
role: "client",
|
||||
crashOnClose: true,
|
||||
});
|
||||
|
||||
const adminSubscribeMessage = (await outRxQ1.next()).value;
|
||||
|
||||
@@ -1,5 +1,156 @@
|
||||
# jazz-browser-media-images
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.2
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.2
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.1
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
- jazz-browser@0.7.32
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.30
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.27
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-browser@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-browser-media-images",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,220 @@
|
||||
# jazz-browser
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [406ab9b]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- cojson-transport-ws@0.7.34
|
||||
- cojson-storage-indexeddb@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.8
|
||||
- cojson-transport-ws@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.7
|
||||
- cojson-transport-ws@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.4
|
||||
- cojson-transport-ws@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.3
|
||||
- cojson-transport-ws@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.34-neverthrow.2
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.1
|
||||
- cojson-transport-ws@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- cojson-storage-indexeddb@0.7.34-neverthrow.0
|
||||
- cojson-transport-ws@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [fdde8db]
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [07fe2b9]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson-transport-ws@0.7.33
|
||||
- cojson@0.7.33
|
||||
- cojson-storage-indexeddb@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- cojson-storage-indexeddb@0.7.33-hotfixes.5
|
||||
- cojson-transport-ws@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- cojson-storage-indexeddb@0.7.33-hotfixes.4
|
||||
- cojson-transport-ws@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-storage-indexeddb@0.7.33-hotfixes.3
|
||||
- cojson-transport-ws@0.7.33-hotfixes.3
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.2
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.1
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- cojson-storage-indexeddb@0.7.33-hotfixes.0
|
||||
- cojson-transport-ws@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.31
|
||||
- cojson@0.7.31
|
||||
- cojson-storage-indexeddb@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.30
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- cojson-storage-indexeddb@0.7.29
|
||||
- cojson-transport-ws@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- cojson-storage-indexeddb@0.7.28
|
||||
- cojson-transport-ws@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.27
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- cojson-storage-indexeddb@0.7.26
|
||||
- cojson-transport-ws@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-browser",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,204 @@
|
||||
# jazz-autosub
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [406ab9b]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- cojson-transport-ws@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- cojson-transport-ws@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- cojson-transport-ws@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- cojson-transport-ws@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- cojson-transport-ws@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.34-neverthrow.2
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- cojson-transport-ws@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- cojson-transport-ws@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [fdde8db]
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [07fe2b9]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson-transport-ws@0.7.33
|
||||
- cojson@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- cojson-transport-ws@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- cojson-transport-ws@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.3
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.2
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.1
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- cojson-transport-ws@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.31
|
||||
- cojson@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.30
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- cojson-transport-ws@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- cojson-transport-ws@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.27
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- cojson-transport-ws@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"types": "src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:*",
|
||||
"cojson-transport-ws": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,196 @@
|
||||
# jazz-react
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- jazz-browser@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- jazz-browser@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- jazz-browser@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- jazz-browser@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- jazz-browser@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.34-neverthrow.2
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- jazz-browser@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- jazz-browser@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
- jazz-browser@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- jazz-browser@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- jazz-browser@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
- jazz-browser@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.2
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.33-hotfixes.1
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- jazz-browser@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
- jazz-browser@0.7.32
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
- jazz-browser@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.30
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- jazz-browser@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- jazz-browser@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-browser@0.7.27
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- jazz-browser@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,228 @@
|
||||
# jazz-autosub
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 1232c02: Hack to make jazz-run account create work
|
||||
- 2c3a40c: Use fork of queueable
|
||||
- 0d8175b: Fix deps even more
|
||||
- 032f69f: Fix peer deps
|
||||
- 4e16575: Use queueable fork
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [406ab9b]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
- cojson-transport-ws@0.7.34
|
||||
- jazz-tools@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Use queueable fork
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
- cojson-transport-ws@0.7.34-neverthrow.8
|
||||
- jazz-tools@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Use fork of queueable
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
- cojson-transport-ws@0.7.34-neverthrow.7
|
||||
- jazz-tools@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Fix deps even more
|
||||
|
||||
## 0.7.34-neverthrow.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Fix peer deps
|
||||
|
||||
## 0.7.34-neverthrow.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Hack to make jazz-run account create work
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
- cojson-transport-ws@0.7.34-neverthrow.4
|
||||
- jazz-tools@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
- cojson-transport-ws@0.7.34-neverthrow.3
|
||||
- jazz-tools@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.34-neverthrow.2
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
- cojson-transport-ws@0.7.34-neverthrow.1
|
||||
- jazz-tools@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
- cojson-transport-ws@0.7.34-neverthrow.0
|
||||
- jazz-tools@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [fdde8db]
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [07fe2b9]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson-transport-ws@0.7.33
|
||||
- cojson@0.7.33
|
||||
- jazz-tools@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
- cojson-transport-ws@0.7.33-hotfixes.5
|
||||
- jazz-tools@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
- cojson-transport-ws@0.7.33-hotfixes.4
|
||||
- jazz-tools@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.3
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
- jazz-tools@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.2
|
||||
|
||||
## 0.7.33-hotfixes.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.33-hotfixes.1
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
- cojson-transport-ws@0.7.33-hotfixes.0
|
||||
- jazz-tools@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- jazz-tools@0.7.32
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.31
|
||||
- cojson@0.7.31
|
||||
- jazz-tools@0.7.31
|
||||
|
||||
## 0.7.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.30
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
- cojson-transport-ws@0.7.29
|
||||
- jazz-tools@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
- cojson-transport-ws@0.7.28
|
||||
- jazz-tools@0.7.28
|
||||
|
||||
## 0.7.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson-transport-ws@0.7.27
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
- cojson-transport-ws@0.7.26
|
||||
- jazz-tools@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"bin": "./dist/index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"scripts": {
|
||||
"lint": "eslint . --ext ts,tsx",
|
||||
"format": "prettier --write './src/**/*.{ts,tsx}'",
|
||||
@@ -11,20 +11,21 @@
|
||||
"prepublishOnly": "npm run build"
|
||||
},
|
||||
"dependencies": {
|
||||
"@effect/cli": "^0.36.21",
|
||||
"@effect/platform-node": "^0.49.2",
|
||||
"@effect/schema": "^0.66.16",
|
||||
"effect": "^3.6.5",
|
||||
"@effect/cli": "^0.41.2",
|
||||
"@effect/schema": "^0.71.1",
|
||||
"@effect/platform-node": "^0.57.2",
|
||||
"@effect/printer": "^0.34.5",
|
||||
"@effect/printer-ansi": "^0.34.5",
|
||||
"@effect/typeclass": "^0.25.5",
|
||||
"cojson": "workspace:*",
|
||||
"cojson-transport-ws": "workspace:*",
|
||||
"effect": "^3.5.2",
|
||||
"fast-check": "^3.17.2",
|
||||
"jazz-tools": "workspace:*",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/ws": "^8.5.5",
|
||||
"typescript": "^5.3.3",
|
||||
"vitest": "^0.34.6"
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{ts,tsx}": "eslint --fix",
|
||||
|
||||
@@ -53,6 +53,9 @@ const accountCreate = Command.make(
|
||||
),
|
||||
);
|
||||
|
||||
// TODO: remove this once we have a better way to wait for the sync
|
||||
yield* Effect.sleep(500);
|
||||
|
||||
const peer2 = createWebSocketPeer({
|
||||
id: "upstream2",
|
||||
websocket: new WebSocket(peerAddr),
|
||||
|
||||
@@ -1,5 +1,132 @@
|
||||
# jazz-autosub
|
||||
|
||||
## 0.7.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5d91f9f]
|
||||
- Updated dependencies [5094e6d]
|
||||
- Updated dependencies [b09589b]
|
||||
- Updated dependencies [2c3a40c]
|
||||
- Updated dependencies [4e16575]
|
||||
- Updated dependencies [ea882ab]
|
||||
- cojson@0.7.34
|
||||
|
||||
## 0.7.34-neverthrow.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.8
|
||||
|
||||
## 0.7.34-neverthrow.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.7
|
||||
|
||||
## 0.7.34-neverthrow.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.4
|
||||
|
||||
## 0.7.34-neverthrow.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.3
|
||||
|
||||
## 0.7.34-neverthrow.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.1
|
||||
|
||||
## 0.7.34-neverthrow.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.34-neverthrow.0
|
||||
|
||||
## 0.7.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [b297c93]
|
||||
- Updated dependencies [3bf5127]
|
||||
- Updated dependencies [a8b74ff]
|
||||
- Updated dependencies [db53161]
|
||||
- cojson@0.7.33
|
||||
|
||||
## 0.7.33-hotfixes.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.5
|
||||
|
||||
## 0.7.33-hotfixes.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.4
|
||||
|
||||
## 0.7.33-hotfixes.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.3
|
||||
|
||||
## 0.7.33-hotfixes.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.33-hotfixes.0
|
||||
|
||||
## 0.7.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Adapt type of applyDiff to make CoMaps fully subclassable again
|
||||
|
||||
## 0.7.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.31
|
||||
|
||||
## 0.7.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.29
|
||||
|
||||
## 0.7.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- cojson@0.7.28
|
||||
|
||||
## 0.7.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Remove Effect from jazz/cojson internals
|
||||
- Updated dependencies
|
||||
- cojson@0.7.26
|
||||
|
||||
## 0.7.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"types": "./src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.7.25",
|
||||
"version": "0.7.34",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:*",
|
||||
"fast-check": "^3.17.2"
|
||||
|
||||
@@ -457,7 +457,7 @@ export class CoMap extends CoValueBase implements CoValue {
|
||||
return subscribeToExistingCoValue(this, depth, listener);
|
||||
}
|
||||
|
||||
applyDiff(newValues: Partial<CoMapInit<this>>) {
|
||||
applyDiff<N extends Partial<CoMapInit<this>>>(newValues: N) {
|
||||
for (const key in newValues) {
|
||||
if (Object.prototype.hasOwnProperty.call(newValues, key)) {
|
||||
const tKey = key as keyof typeof newValues & keyof this;
|
||||
@@ -466,7 +466,7 @@ export class CoMap extends CoValueBase implements CoValue {
|
||||
|
||||
if (tKey in this._schema) {
|
||||
const newValue = newValues[tKey];
|
||||
const currentValue = this[tKey];
|
||||
const currentValue = (this as unknown as N)[tKey];
|
||||
|
||||
if (descriptor === "json" || "encoded" in descriptor) {
|
||||
if (currentValue !== newValue) {
|
||||
|
||||
350
pnpm-lock.yaml
generated
350
pnpm-lock.yaml
generated
@@ -444,9 +444,12 @@ importers:
|
||||
hash-wasm:
|
||||
specifier: ^4.9.0
|
||||
version: 4.11.0
|
||||
queueable:
|
||||
specifier: ^5.3.2
|
||||
version: 5.3.2
|
||||
neverthrow:
|
||||
specifier: ^7.0.1
|
||||
version: 7.0.1
|
||||
queueueue:
|
||||
specifier: ^4.1.2
|
||||
version: 4.1.2
|
||||
devDependencies:
|
||||
'@types/jest':
|
||||
specifier: ^29.5.3
|
||||
@@ -463,6 +466,9 @@ importers:
|
||||
eslint-config-prettier:
|
||||
specifier: ^9.1.0
|
||||
version: 9.1.0(eslint@8.56.0)
|
||||
eslint-plugin-neverthrow:
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.0.2))(eslint@8.56.0)(typescript@5.0.2)
|
||||
eslint-plugin-require-extensions:
|
||||
specifier: ^0.1.3
|
||||
version: 0.1.3(eslint@8.56.0)
|
||||
@@ -632,14 +638,23 @@ importers:
|
||||
packages/jazz-run:
|
||||
dependencies:
|
||||
'@effect/cli':
|
||||
specifier: ^0.36.21
|
||||
version: 0.36.21(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(@effect/printer-ansi@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2))(@effect/printer@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2))(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)
|
||||
specifier: ^0.41.2
|
||||
version: 0.41.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(@effect/printer-ansi@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5))(@effect/printer@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5))(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/platform-node':
|
||||
specifier: ^0.49.2
|
||||
version: 0.49.2(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(effect@3.5.2)
|
||||
specifier: ^0.57.2
|
||||
version: 0.57.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/printer':
|
||||
specifier: ^0.34.5
|
||||
version: 0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/printer-ansi':
|
||||
specifier: ^0.34.5
|
||||
version: 0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/schema':
|
||||
specifier: ^0.66.16
|
||||
version: 0.66.16(effect@3.5.2)(fast-check@3.17.2)
|
||||
specifier: ^0.71.1
|
||||
version: 0.71.1(effect@3.6.5)
|
||||
'@effect/typeclass':
|
||||
specifier: ^0.25.5
|
||||
version: 0.25.5(effect@3.6.5)
|
||||
cojson:
|
||||
specifier: workspace:*
|
||||
version: link:../cojson
|
||||
@@ -647,11 +662,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../cojson-transport-ws
|
||||
effect:
|
||||
specifier: ^3.5.2
|
||||
version: 3.5.2
|
||||
fast-check:
|
||||
specifier: ^3.17.2
|
||||
version: 3.17.2
|
||||
specifier: ^3.6.5
|
||||
version: 3.6.5
|
||||
jazz-tools:
|
||||
specifier: workspace:*
|
||||
version: link:../jazz-tools
|
||||
@@ -665,9 +677,6 @@ importers:
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
vitest:
|
||||
specifier: ^0.34.6
|
||||
version: 0.34.6(@vitest/browser@0.34.6)(safaridriver@0.1.1)(webdriverio@8.26.3(typescript@5.3.3))
|
||||
|
||||
packages/jazz-tools:
|
||||
dependencies:
|
||||
@@ -767,55 +776,54 @@ packages:
|
||||
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
'@effect/cli@0.36.21':
|
||||
resolution: {integrity: sha512-39ya5HjJxeFE84pv6D1JvZHHLwalB+yQWbNOWvu65Lf8FdngLptwDCNgOnrzvHvgOEguaPUaN7YHlHReUAOddA==}
|
||||
'@effect/cli@0.41.2':
|
||||
resolution: {integrity: sha512-RQmHfS8QNj+Xv59vvlb9jZL1B4h8hGXHtl6lURhCGt170R6Rztlv5FfrCBDNMPeHXDJnbEbQdIV5G9uVymc2dQ==}
|
||||
peerDependencies:
|
||||
'@effect/platform': ^0.53.2
|
||||
'@effect/printer': ^0.33.12
|
||||
'@effect/printer-ansi': ^0.33.12
|
||||
'@effect/schema': ^0.66.16
|
||||
effect: ^3.1.3
|
||||
'@effect/platform': ^0.62.2
|
||||
'@effect/printer': ^0.34.5
|
||||
'@effect/printer-ansi': ^0.34.5
|
||||
'@effect/schema': ^0.71.1
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/platform-node-shared@0.4.21':
|
||||
resolution: {integrity: sha512-F0cEeLQ9Qi5hr/KYxgjL2+bJT1Ti4Sd24czyCE1ETEMxUid7zca3NCBbhjDKNMkHYroGhP2bG2lVzRx048cfzg==}
|
||||
'@effect/platform-node-shared@0.12.2':
|
||||
resolution: {integrity: sha512-t+gmgaC4G9scqDT9ByZWTHrfLiRcdJ+TrkzbinhjHuT3M2IHZHd57zUdn+J0xqlWNRZETSn+jLI1mKFx5OlVAg==}
|
||||
peerDependencies:
|
||||
'@effect/platform': ^0.53.2
|
||||
effect: ^3.1.3
|
||||
'@effect/platform': ^0.62.2
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/platform-node@0.49.2':
|
||||
resolution: {integrity: sha512-OvixXYcQrRZAt0T/7GJ9Li2RRr6+3HDQ8kUiiBNo+OWyg25QVfQTsTU4OjT7MHnuR0mcNzbsu5VlDskci7/T/g==}
|
||||
'@effect/platform-node@0.57.2':
|
||||
resolution: {integrity: sha512-yB31Gf8rTOgvSbmHBwGPoC3QfF7LeSLuOtjpwhysdXN8ST1Pi/77zcAeUIA3kKytJcO8Abg8bsTRkq9WvvMG9g==}
|
||||
peerDependencies:
|
||||
'@effect/platform': ^0.53.2
|
||||
effect: ^3.1.3
|
||||
'@effect/platform': ^0.62.2
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/platform@0.53.2':
|
||||
resolution: {integrity: sha512-+OeR9o7UOdWsl8xQow7FUIgoJaPjqZ5dPz2xxGv0VeNDkAJMxu7+FWDtB7tK+r4PzhA3X/x5YaGbH09mcOD+mg==}
|
||||
'@effect/platform@0.62.2':
|
||||
resolution: {integrity: sha512-pdC2gDaFB4aNJviumUGoArXiC44UdorkRjO2+LjhsK1ahfxYNnw+vl1xLg9igU2E1/qDonZVHyJ1WHpWcWF5Ow==}
|
||||
peerDependencies:
|
||||
'@effect/schema': ^0.66.16
|
||||
effect: ^3.1.3
|
||||
'@effect/schema': ^0.71.1
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/printer-ansi@0.33.12':
|
||||
resolution: {integrity: sha512-MEGolsEBQlZNsgEoqq02erGgMmLH/6QAU3Bq9pQp2fkOR907LMvXTD++HiMRmEnV1mqDMxgQvICF6RA/voLnCA==}
|
||||
'@effect/printer-ansi@0.34.5':
|
||||
resolution: {integrity: sha512-XxpXDubkFRR8UvwI+TLI/q2IJ5LbZ4I+G7zn9FA/njZ0GFEETs1N+gcnHYamh0XzQe8LyzKvTAu+LAvD7lWs7Q==}
|
||||
peerDependencies:
|
||||
'@effect/typeclass': ^0.24.12
|
||||
effect: ^3.1.3
|
||||
'@effect/typeclass': ^0.25.5
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/printer@0.33.12':
|
||||
resolution: {integrity: sha512-AY5uupL6yWm/fQsD+j9UHBKZcd6Ai4I6Z2PHec48KwgFQUiKCpn6sN69Scp8CINwKHrYsCtwwqyO+xt8yZOXDw==}
|
||||
'@effect/printer@0.34.5':
|
||||
resolution: {integrity: sha512-fzLOJL9chdU1kLL1iLWfxBlKAvkF9Vc+SKAlHlgoVCwumiodK5HLGExWjy5aclQwiaRZl/kz1G2U9G9zxwEDYw==}
|
||||
peerDependencies:
|
||||
'@effect/typeclass': ^0.24.12
|
||||
effect: ^3.1.3
|
||||
'@effect/typeclass': ^0.25.5
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/schema@0.66.16':
|
||||
resolution: {integrity: sha512-sT/k5NOgKslGPzs3DUaCFuM6g2JQoIIT8jpwEorAZooplPIMK2xIspr7ECz6pp6Dc7Wz/ppXGk7HVyGZQsIYEQ==}
|
||||
'@effect/schema@0.71.1':
|
||||
resolution: {integrity: sha512-XvFttkuBUL3s4ofZ+OVE4Pagb4wsPG8laSS8iO5lVI9Yt1zIM49uxlYIA2BJ45jjS3MdplUepC0NilotKnjU2A==}
|
||||
peerDependencies:
|
||||
effect: ^3.1.3
|
||||
fast-check: ^3.13.2
|
||||
effect: ^3.6.5
|
||||
|
||||
'@effect/typeclass@0.24.12':
|
||||
resolution: {integrity: sha512-s18bZwNKgVkp9kEK2ZkwnxOHRvn1UdpAnhVVHyUyYiUYJWGwlHUXTZWf0Y+kCaai+fLcLUGF63qu97JdNzdDyQ==}
|
||||
'@effect/typeclass@0.25.5':
|
||||
resolution: {integrity: sha512-TwharqoM3DiAVh1CkjHM0ofZSFYvp0KLCDGwds9L4mAMVn1/0GyLxPM8u25d/oNFgBxPFPU9DJtJB/Hj6yUHgg==}
|
||||
peerDependencies:
|
||||
effect: ^3.1.3
|
||||
effect: ^3.6.5
|
||||
|
||||
'@esbuild/aix-ppc64@0.19.10':
|
||||
resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==}
|
||||
@@ -1683,6 +1691,12 @@ packages:
|
||||
'@types/chai@4.3.11':
|
||||
resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==}
|
||||
|
||||
'@types/eslint-utils@3.0.5':
|
||||
resolution: {integrity: sha512-dGOLJqHXpjomkPgZiC7vnVSJtFIOM1Y6L01EyUhzPuD0y0wfIGiqxiGs3buUBfzxLIQHrCvZsIMDaCZ8R5IIoA==}
|
||||
|
||||
'@types/eslint@9.6.0':
|
||||
resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==}
|
||||
|
||||
'@types/estree@1.0.5':
|
||||
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
|
||||
|
||||
@@ -2412,8 +2426,8 @@ packages:
|
||||
resolution: {integrity: sha512-G0wNgFMFRDnFfKaXG2R6HiyVHqhKwdQ3EgoxW3wPlns2wKqem7F+HgkWBcevN7Vz0nN4AXtskID7/6jsYDXcKw==}
|
||||
hasBin: true
|
||||
|
||||
effect@3.5.2:
|
||||
resolution: {integrity: sha512-jZAZAgHHrnkqrRaaLBU/a6zEFm3+uOimr+ZJqvCqiHtw5k2AE6F0jiEPuM/MNJOe4r16JDo4SYa3IULIQuXvAw==}
|
||||
effect@3.6.5:
|
||||
resolution: {integrity: sha512-NhopZTAKljaAlR0CEroOAJJngdqg7bzlnWcDrCwh4d2WNVohVbBtUS4SGqLt8tUy7IFsTWATYiUtmhDG+YELjA==}
|
||||
|
||||
electron-to-chromium@1.4.615:
|
||||
resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==}
|
||||
@@ -2504,6 +2518,13 @@ packages:
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
|
||||
eslint-plugin-neverthrow@1.1.4:
|
||||
resolution: {integrity: sha512-+8zsE5rDqsDfKYAOq0Fr2jbuxHXTmntIWWJqJA3ms1GAKcVCjl0ycetzOu/hTxot9ctr+WYQpCBgB3F2HATR7A==}
|
||||
engines: {node: '>=14.17'}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': '>=4.20.0'
|
||||
eslint: '>=5.16.0'
|
||||
|
||||
eslint-plugin-react-hooks@4.6.0:
|
||||
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -2525,6 +2546,16 @@ packages:
|
||||
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
eslint-utils@3.0.0:
|
||||
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
|
||||
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
|
||||
peerDependencies:
|
||||
eslint: '>=5'
|
||||
|
||||
eslint-visitor-keys@2.1.0:
|
||||
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
eslint-visitor-keys@3.4.3:
|
||||
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@@ -2593,8 +2624,9 @@ packages:
|
||||
resolution: {integrity: sha512-+3DPTxtxABLgmmVpYxrash3DHoq0cMa1jjLYNp3qqokKKhqVEaS4lbnaDKqWU5Dd6C2pEudPPBAEEQ9nUou9OQ==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
fast-decode-uri-component@1.0.1:
|
||||
resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
|
||||
fast-check@3.21.0:
|
||||
resolution: {integrity: sha512-QpmbiqRFRZ+SIlBJh6xi5d/PgXciUc/xWKc4Vi2RWEHHIRx6oM3f0fWNna++zP9VB5HUBTObUK9gTKQP3vVcrQ==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
fast-deep-equal@2.0.1:
|
||||
resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==}
|
||||
@@ -2621,9 +2653,6 @@ packages:
|
||||
fast-loops@1.1.3:
|
||||
resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==}
|
||||
|
||||
fast-querystring@1.1.2:
|
||||
resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
|
||||
|
||||
fast-shallow-equal@1.0.0:
|
||||
resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==}
|
||||
|
||||
@@ -2651,8 +2680,8 @@ packages:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
find-my-way-ts@0.1.2:
|
||||
resolution: {integrity: sha512-AWsH49RGcyayzzxSAkwQKC1bToY5ForAfNreix88slo7wijg1wwTtCPvUUoVm/qhIY3UVSHBKApw8mOGPxsvSg==}
|
||||
find-my-way-ts@0.1.5:
|
||||
resolution: {integrity: sha512-4GOTMrpGQVzsCH2ruUn2vmwzV/02zF4q+ybhCIrw/Rkt3L8KWcycdC6aJMctJzwN4fXD4SD5F/4B9Sksh5rE0A==}
|
||||
|
||||
find-up@4.1.0:
|
||||
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
|
||||
@@ -2927,8 +2956,8 @@ packages:
|
||||
ini@1.3.8:
|
||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||
|
||||
ini@4.1.2:
|
||||
resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==}
|
||||
ini@4.1.3:
|
||||
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
|
||||
inline-style-prefixer@7.0.0:
|
||||
@@ -3354,8 +3383,8 @@ packages:
|
||||
multimath@2.0.0:
|
||||
resolution: {integrity: sha512-toRx66cAMJ+Ccz7pMIg38xSIrtnbozk0dchXezwQDMgQmbGpfxjtv68H+L00iFL8hxDaVjrmwAFSb3I6bg8Q2g==}
|
||||
|
||||
multipasta@0.2.1:
|
||||
resolution: {integrity: sha512-0NR15o5iewJFMsZ4jN6cztCd4izTLZPyHUfBrakbg/x70B8zplPE6qumbs+A7LmhGtQMzpN/K8MOOdifMgAKFA==}
|
||||
multipasta@0.2.5:
|
||||
resolution: {integrity: sha512-c8eMDb1WwZcE02WVjHoOmUVk7fnKU/RmUcosHACglrWAuPQsEJv+E8430sXj6jNc1jHw0zrS16aCjQh4BcEb4A==}
|
||||
|
||||
mz@2.7.0:
|
||||
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||
@@ -3384,13 +3413,16 @@ packages:
|
||||
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
|
||||
neverthrow@7.0.1:
|
||||
resolution: {integrity: sha512-NY1sD1wZn6dwwzV9/5KZ4wRIpH4xC7ARy3fGmnEi2Pi8CHDTWlp+WSF+if8cudrwuCWGrk2y2BE/dnGh070iuA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
node-abi@3.62.0:
|
||||
resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
node-addon-api@7.1.0:
|
||||
resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==}
|
||||
engines: {node: ^16 || ^18 || >= 20}
|
||||
node-addon-api@7.1.1:
|
||||
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
|
||||
|
||||
node-domexception@1.0.0:
|
||||
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
|
||||
@@ -3524,9 +3556,6 @@ packages:
|
||||
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
path-browserify@1.0.1:
|
||||
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
|
||||
|
||||
path-exists@4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -3722,8 +3751,8 @@ packages:
|
||||
queue-tick@1.0.1:
|
||||
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
|
||||
|
||||
queueable@5.3.2:
|
||||
resolution: {integrity: sha512-/2ZxV1PJh7J9Q/h9ewZ4fLMmDreUlbwrWsBnluvDoKW6Nw0gbWm5hN+kiWfdDMw1o/QTAFxV9wx4KpuN5IA7OA==}
|
||||
queueueue@4.1.2:
|
||||
resolution: {integrity: sha512-YNOihQyk72FRrGQP+fVjUDVCSgxtHS5EdfgXjCYwPCTyhVWXriHfUt0XK0eT7vcBX0m91g0e0KVO8CxoNLh60g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
quick-lru@4.0.1:
|
||||
@@ -4257,9 +4286,18 @@ packages:
|
||||
'@swc/wasm':
|
||||
optional: true
|
||||
|
||||
tslib@1.14.1:
|
||||
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||
|
||||
tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
|
||||
tsutils@3.21.0:
|
||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||
engines: {node: '>= 6'}
|
||||
peerDependencies:
|
||||
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
||||
|
||||
tty-table@4.2.3:
|
||||
resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
@@ -4379,8 +4417,8 @@ packages:
|
||||
undici-types@5.26.5:
|
||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
||||
|
||||
undici@6.16.1:
|
||||
resolution: {integrity: sha512-NeNiTT7ixpeiL1qOIU/xTVpHpVP0svmI6PwoCKaMGaI5AsHOaRdwqU/f7Fi9eyU4u03nd5U/BC8wmRMnS9nqoA==}
|
||||
undici@6.19.8:
|
||||
resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==}
|
||||
engines: {node: '>=18.17'}
|
||||
|
||||
uniqolor@1.1.1:
|
||||
@@ -4661,6 +4699,18 @@ packages:
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
|
||||
ws@8.18.0:
|
||||
resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: '>=5.0.2'
|
||||
peerDependenciesMeta:
|
||||
bufferutil:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
|
||||
y18n@4.0.3:
|
||||
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
||||
|
||||
@@ -4674,15 +4724,16 @@ packages:
|
||||
yallist@4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
|
||||
yaml@2.3.4:
|
||||
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
|
||||
engines: {node: '>= 14'}
|
||||
|
||||
yaml@2.4.2:
|
||||
resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
|
||||
yaml@2.5.0:
|
||||
resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==}
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
|
||||
yargs-parser@18.1.3:
|
||||
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -4897,63 +4948,62 @@ snapshots:
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.9
|
||||
|
||||
'@effect/cli@0.36.21(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(@effect/printer-ansi@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2))(@effect/printer@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2))(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)':
|
||||
'@effect/cli@0.41.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(@effect/printer-ansi@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5))(@effect/printer@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5))(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/platform': 0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)
|
||||
'@effect/printer': 0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2)
|
||||
'@effect/printer-ansi': 0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2)
|
||||
'@effect/schema': 0.66.16(effect@3.5.2)(fast-check@3.17.2)
|
||||
effect: 3.5.2
|
||||
ini: 4.1.2
|
||||
'@effect/platform': 0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/printer': 0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/printer-ansi': 0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/schema': 0.71.1(effect@3.6.5)
|
||||
effect: 3.6.5
|
||||
ini: 4.1.3
|
||||
toml: 3.0.0
|
||||
yaml: 2.4.2
|
||||
yaml: 2.5.0
|
||||
|
||||
'@effect/platform-node-shared@0.4.21(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(effect@3.5.2)':
|
||||
'@effect/platform-node-shared@0.12.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/platform': 0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)
|
||||
'@effect/platform': 0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)
|
||||
'@parcel/watcher': 2.4.1
|
||||
effect: 3.5.2
|
||||
multipasta: 0.2.1
|
||||
effect: 3.6.5
|
||||
multipasta: 0.2.5
|
||||
|
||||
'@effect/platform-node@0.49.2(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(effect@3.5.2)':
|
||||
'@effect/platform-node@0.57.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/platform': 0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)
|
||||
'@effect/platform-node-shared': 0.4.21(@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2))(effect@3.5.2)
|
||||
effect: 3.5.2
|
||||
'@effect/platform': 0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/platform-node-shared': 0.12.2(@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5))(effect@3.6.5)
|
||||
effect: 3.6.5
|
||||
mime: 3.0.0
|
||||
undici: 6.16.1
|
||||
ws: 8.17.0
|
||||
undici: 6.19.8
|
||||
ws: 8.18.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@effect/platform@0.53.2(@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2))(effect@3.5.2)':
|
||||
'@effect/platform@0.62.2(@effect/schema@0.71.1(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/schema': 0.66.16(effect@3.5.2)(fast-check@3.17.2)
|
||||
effect: 3.5.2
|
||||
find-my-way-ts: 0.1.2
|
||||
multipasta: 0.2.1
|
||||
path-browserify: 1.0.1
|
||||
'@effect/schema': 0.71.1(effect@3.6.5)
|
||||
effect: 3.6.5
|
||||
find-my-way-ts: 0.1.5
|
||||
multipasta: 0.2.5
|
||||
|
||||
'@effect/printer-ansi@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2)':
|
||||
'@effect/printer-ansi@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/printer': 0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2)
|
||||
'@effect/typeclass': 0.24.12(effect@3.5.2)
|
||||
effect: 3.5.2
|
||||
'@effect/printer': 0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)
|
||||
'@effect/typeclass': 0.25.5(effect@3.6.5)
|
||||
effect: 3.6.5
|
||||
|
||||
'@effect/printer@0.33.12(@effect/typeclass@0.24.12(effect@3.5.2))(effect@3.5.2)':
|
||||
'@effect/printer@0.34.5(@effect/typeclass@0.25.5(effect@3.6.5))(effect@3.6.5)':
|
||||
dependencies:
|
||||
'@effect/typeclass': 0.24.12(effect@3.5.2)
|
||||
effect: 3.5.2
|
||||
'@effect/typeclass': 0.25.5(effect@3.6.5)
|
||||
effect: 3.6.5
|
||||
|
||||
'@effect/schema@0.66.16(effect@3.5.2)(fast-check@3.17.2)':
|
||||
'@effect/schema@0.71.1(effect@3.6.5)':
|
||||
dependencies:
|
||||
effect: 3.5.2
|
||||
fast-check: 3.17.2
|
||||
effect: 3.6.5
|
||||
fast-check: 3.21.0
|
||||
|
||||
'@effect/typeclass@0.24.12(effect@3.5.2)':
|
||||
'@effect/typeclass@0.25.5(effect@3.6.5)':
|
||||
dependencies:
|
||||
effect: 3.5.2
|
||||
effect: 3.6.5
|
||||
|
||||
'@esbuild/aix-ppc64@0.19.10':
|
||||
optional: true
|
||||
@@ -5270,7 +5320,7 @@ snapshots:
|
||||
detect-libc: 1.0.3
|
||||
is-glob: 4.0.3
|
||||
micromatch: 4.0.5
|
||||
node-addon-api: 7.1.0
|
||||
node-addon-api: 7.1.1
|
||||
optionalDependencies:
|
||||
'@parcel/watcher-android-arm64': 2.4.1
|
||||
'@parcel/watcher-darwin-arm64': 2.4.1
|
||||
@@ -5644,6 +5694,16 @@ snapshots:
|
||||
|
||||
'@types/chai@4.3.11': {}
|
||||
|
||||
'@types/eslint-utils@3.0.5':
|
||||
dependencies:
|
||||
'@types/eslint': 9.6.0
|
||||
'@types/estree': 1.0.5
|
||||
|
||||
'@types/eslint@9.6.0':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@types/estree@1.0.5': {}
|
||||
|
||||
'@types/http-cache-semantics@4.0.4': {}
|
||||
@@ -6551,7 +6611,7 @@ snapshots:
|
||||
unzipper: 0.10.14
|
||||
which: 4.0.0
|
||||
|
||||
effect@3.5.2: {}
|
||||
effect@3.6.5: {}
|
||||
|
||||
electron-to-chromium@1.4.615: {}
|
||||
|
||||
@@ -6724,6 +6784,16 @@ snapshots:
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
|
||||
eslint-plugin-neverthrow@1.1.4(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.0.2))(eslint@8.56.0)(typescript@5.0.2):
|
||||
dependencies:
|
||||
'@types/eslint-utils': 3.0.5
|
||||
'@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.0.2)
|
||||
eslint: 8.56.0
|
||||
eslint-utils: 3.0.0(eslint@8.56.0)
|
||||
tsutils: 3.21.0(typescript@5.0.2)
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
|
||||
eslint-plugin-react-hooks@4.6.0(eslint@8.56.0):
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
@@ -6741,6 +6811,13 @@ snapshots:
|
||||
esrecurse: 4.3.0
|
||||
estraverse: 5.3.0
|
||||
|
||||
eslint-utils@3.0.0(eslint@8.56.0):
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint-visitor-keys: 2.1.0
|
||||
|
||||
eslint-visitor-keys@2.1.0: {}
|
||||
|
||||
eslint-visitor-keys@3.4.3: {}
|
||||
|
||||
eslint@8.56.0:
|
||||
@@ -6856,7 +6933,9 @@ snapshots:
|
||||
dependencies:
|
||||
pure-rand: 6.1.0
|
||||
|
||||
fast-decode-uri-component@1.0.1: {}
|
||||
fast-check@3.21.0:
|
||||
dependencies:
|
||||
pure-rand: 6.1.0
|
||||
|
||||
fast-deep-equal@2.0.1: {}
|
||||
|
||||
@@ -6880,10 +6959,6 @@ snapshots:
|
||||
|
||||
fast-loops@1.1.3: {}
|
||||
|
||||
fast-querystring@1.1.2:
|
||||
dependencies:
|
||||
fast-decode-uri-component: 1.0.1
|
||||
|
||||
fast-shallow-equal@1.0.0: {}
|
||||
|
||||
fastest-stable-stringify@2.0.2: {}
|
||||
@@ -6911,9 +6986,7 @@ snapshots:
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
|
||||
find-my-way-ts@0.1.2:
|
||||
dependencies:
|
||||
fast-querystring: 1.1.2
|
||||
find-my-way-ts@0.1.5: {}
|
||||
|
||||
find-up@4.1.0:
|
||||
dependencies:
|
||||
@@ -7220,7 +7293,7 @@ snapshots:
|
||||
|
||||
ini@1.3.8: {}
|
||||
|
||||
ini@4.1.2: {}
|
||||
ini@4.1.3: {}
|
||||
|
||||
inline-style-prefixer@7.0.0:
|
||||
dependencies:
|
||||
@@ -7610,7 +7683,7 @@ snapshots:
|
||||
glur: 1.1.2
|
||||
object-assign: 4.1.1
|
||||
|
||||
multipasta@0.2.1: {}
|
||||
multipasta@0.2.5: {}
|
||||
|
||||
mz@2.7.0:
|
||||
dependencies:
|
||||
@@ -7641,11 +7714,13 @@ snapshots:
|
||||
|
||||
netmask@2.0.2: {}
|
||||
|
||||
neverthrow@7.0.1: {}
|
||||
|
||||
node-abi@3.62.0:
|
||||
dependencies:
|
||||
semver: 7.5.4
|
||||
|
||||
node-addon-api@7.1.0: {}
|
||||
node-addon-api@7.1.1: {}
|
||||
|
||||
node-domexception@1.0.0: {}
|
||||
|
||||
@@ -7778,8 +7853,6 @@ snapshots:
|
||||
json-parse-even-better-errors: 2.3.1
|
||||
lines-and-columns: 1.2.4
|
||||
|
||||
path-browserify@1.0.1: {}
|
||||
|
||||
path-exists@4.0.0: {}
|
||||
|
||||
path-is-absolute@1.0.1: {}
|
||||
@@ -7849,7 +7922,7 @@ snapshots:
|
||||
postcss-load-config@4.0.2(postcss@8.4.32)(ts-node@10.9.2(@swc/core@1.3.101)(@types/node@20.10.5)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
lilconfig: 3.0.0
|
||||
yaml: 2.3.4
|
||||
yaml: 2.4.2
|
||||
optionalDependencies:
|
||||
postcss: 8.4.32
|
||||
ts-node: 10.9.2(@swc/core@1.3.101)(@types/node@20.10.5)(typescript@5.3.3)
|
||||
@@ -7995,7 +8068,7 @@ snapshots:
|
||||
|
||||
queue-tick@1.0.1: {}
|
||||
|
||||
queueable@5.3.2:
|
||||
queueueue@4.1.2:
|
||||
dependencies:
|
||||
fast-list: 1.0.3
|
||||
|
||||
@@ -8606,8 +8679,15 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.3.101
|
||||
|
||||
tslib@1.14.1: {}
|
||||
|
||||
tslib@2.6.2: {}
|
||||
|
||||
tsutils@3.21.0(typescript@5.0.2):
|
||||
dependencies:
|
||||
tslib: 1.14.1
|
||||
typescript: 5.0.2
|
||||
|
||||
tty-table@4.2.3:
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
@@ -8727,7 +8807,7 @@ snapshots:
|
||||
|
||||
undici-types@5.26.5: {}
|
||||
|
||||
undici@6.16.1: {}
|
||||
undici@6.19.8: {}
|
||||
|
||||
uniqolor@1.1.1: {}
|
||||
|
||||
@@ -9109,6 +9189,8 @@ snapshots:
|
||||
|
||||
ws@8.17.0: {}
|
||||
|
||||
ws@8.18.0: {}
|
||||
|
||||
y18n@4.0.3: {}
|
||||
|
||||
y18n@5.0.8: {}
|
||||
@@ -9117,10 +9199,10 @@ snapshots:
|
||||
|
||||
yallist@4.0.0: {}
|
||||
|
||||
yaml@2.3.4: {}
|
||||
|
||||
yaml@2.4.2: {}
|
||||
|
||||
yaml@2.5.0: {}
|
||||
|
||||
yargs-parser@18.1.3:
|
||||
dependencies:
|
||||
camelcase: 5.3.1
|
||||
|
||||
Reference in New Issue
Block a user