@dxos/react-client 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.mts +1 -3
- package/dist/lib/browser/echo/index.mjs.map +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +8 -40
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/echo/index.mjs.map +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +8 -40
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/echo/useQueue.d.ts +1 -0
- package/dist/types/src/echo/useQueue.d.ts.map +1 -1
- package/dist/types/src/testing/ClientRepeater.d.ts +1 -1
- package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.stories.d.ts +2 -1
- package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/docs/README.md +38 -38
- package/moon.yml +2 -5
- package/package.json +24 -25
- package/src/echo/useQueue.ts +1 -0
- package/src/halo/Passkey.stories.tsx +3 -3
- package/src/testing/ClientRepeater.stories.tsx +1 -1
- package/src/testing/ClientRepeater.tsx +1 -1
- package/src/testing/withClientProvider.stories.tsx +12 -6
- package/src/testing/withClientProvider.tsx +4 -35
- package/typedoc.json +1 -1
- package/dist/types/src/playwright/playwright.config.d.ts +0 -3
- package/dist/types/src/playwright/playwright.config.d.ts.map +0 -1
- package/dist/types/src/playwright/smoke.spec.d.ts +0 -2
- package/dist/types/src/playwright/smoke.spec.d.ts.map +0 -1
- package/src/playwright/playwright.config.ts +0 -17
- package/src/playwright/smoke.spec.ts +0 -24
package/docs/README.md
CHANGED
|
@@ -168,41 +168,41 @@ dxos/react-client --> dxos/react-async
|
|
|
168
168
|
|
|
169
169
|
## Dependencies
|
|
170
170
|
|
|
171
|
-
| Module
|
|
172
|
-
|
|
173
|
-
| [`@dxos/async`](../../../common/async/docs/README.md)
|
|
174
|
-
| [`@dxos/broadcast`](../../../core/mesh/broadcast/docs/README.md)
|
|
175
|
-
| [`@dxos/client`](../../client/docs/README.md)
|
|
176
|
-
| [`@dxos/client-services`](../../client-services/docs/README.md)
|
|
177
|
-
| [`@dxos/codec-protobuf`](../../../common/codec-protobuf/docs/README.md)
|
|
178
|
-
| [`@dxos/config`](../../config/docs/README.md)
|
|
179
|
-
| [`@dxos/context`](../../../common/context/docs/README.md)
|
|
180
|
-
| [`@dxos/credentials`](../../../core/halo/credentials/docs/README.md)
|
|
181
|
-
| [`@dxos/crypto`](../../../common/crypto/docs/README.md)
|
|
182
|
-
| [`@dxos/debug`](../../../common/debug/docs/README.md)
|
|
183
|
-
| [`@dxos/echo-db`](../../../core/echo/echo-db/docs/README.md)
|
|
184
|
-
| [`@dxos/errors`](../../errors/docs/README.md)
|
|
185
|
-
| [`@dxos/feed-store`](../../../common/feed-store/docs/README.md)
|
|
186
|
-
| [`@dxos/hypercore`](../../../common/hypercore/docs/README.md)
|
|
187
|
-
| [`@dxos/keyring`](../../../core/halo/keyring/docs/README.md)
|
|
188
|
-
| [`@dxos/keys`](../../../common/keys/docs/README.md)
|
|
189
|
-
| [`@dxos/log`](../../../common/log/docs/README.md)
|
|
190
|
-
| [`@dxos/mesh-protocol`](../../../core/mesh/mesh-protocol/docs/README.md)
|
|
191
|
-
| [`@dxos/messaging`](../../../core/mesh/messaging/docs/README.md)
|
|
192
|
-
| [`@dxos/model-factory`](../../../core/echo/model-factory/docs/README.md)
|
|
193
|
-
| [`@dxos/network-generator`](../../../core/mesh/network-generator/docs/README.md)
|
|
194
|
-
| [`@dxos/network-manager`](../../../core/mesh/network-manager/docs/README.md)
|
|
195
|
-
| [`@dxos/document-model`](../../../core/echo/document-model/docs/README.md)
|
|
196
|
-
| [`@dxos/protocol-plugin-presence`](../../../core/mesh/protocol-plugin-presence/docs/README.md)
|
|
197
|
-
| [`@dxos/protocol-plugin-replicator`](../../../core/mesh/protocol-plugin-replicator/docs/README.md) |
|
|
198
|
-
| [`@dxos/protocol-plugin-rpc`](../../../core/mesh/protocol-plugin-rpc/docs/README.md)
|
|
199
|
-
| [`@dxos/protocols`](../../../core/protocols/docs/README.md)
|
|
200
|
-
| [`@dxos/random-access-storage`](../../../common/random-access-storage/docs/README.md)
|
|
201
|
-
| [`@dxos/react-async`](../../../common/react-async/docs/README.md)
|
|
202
|
-
| [`@dxos/rpc`](../../../core/mesh/rpc/docs/README.md)
|
|
203
|
-
| [`@dxos/rpc-tunnel`](../../../core/mesh/rpc-tunnel/docs/README.md)
|
|
204
|
-
| [`@dxos/teleport`](../../../core/mesh/teleport/docs/README.md)
|
|
205
|
-
| [`@dxos/teleport-plugin-replicator`](../../../core/mesh/teleport-plugin-replicator/docs/README.md) |
|
|
206
|
-
| [`@dxos/text-model`](../../../core/echo/text-model/docs/README.md)
|
|
207
|
-
| [`@dxos/timeframe`](../../../common/timeframe/docs/README.md)
|
|
208
|
-
| [`@dxos/util`](../../../common/util/docs/README.md)
|
|
171
|
+
| Module | Direct |
|
|
172
|
+
| -------------------------------------------------------------------------------------------------- | ------- |
|
|
173
|
+
| [`@dxos/async`](../../../common/async/docs/README.md) | ✓ |
|
|
174
|
+
| [`@dxos/broadcast`](../../../core/mesh/broadcast/docs/README.md) | |
|
|
175
|
+
| [`@dxos/client`](../../client/docs/README.md) | ✓ |
|
|
176
|
+
| [`@dxos/client-services`](../../client-services/docs/README.md) | ✓ |
|
|
177
|
+
| [`@dxos/codec-protobuf`](../../../common/codec-protobuf/docs/README.md) | ✓ |
|
|
178
|
+
| [`@dxos/config`](../../config/docs/README.md) | ✓ |
|
|
179
|
+
| [`@dxos/context`](../../../common/context/docs/README.md) | |
|
|
180
|
+
| [`@dxos/credentials`](../../../core/halo/credentials/docs/README.md) | |
|
|
181
|
+
| [`@dxos/crypto`](../../../common/crypto/docs/README.md) | |
|
|
182
|
+
| [`@dxos/debug`](../../../common/debug/docs/README.md) | ✓ |
|
|
183
|
+
| [`@dxos/echo-db`](../../../core/echo/echo-db/docs/README.md) | |
|
|
184
|
+
| [`@dxos/errors`](../../errors/docs/README.md) | |
|
|
185
|
+
| [`@dxos/feed-store`](../../../common/feed-store/docs/README.md) | |
|
|
186
|
+
| [`@dxos/hypercore`](../../../common/hypercore/docs/README.md) | |
|
|
187
|
+
| [`@dxos/keyring`](../../../core/halo/keyring/docs/README.md) | |
|
|
188
|
+
| [`@dxos/keys`](../../../common/keys/docs/README.md) | ✓ |
|
|
189
|
+
| [`@dxos/log`](../../../common/log/docs/README.md) | ✓ |
|
|
190
|
+
| [`@dxos/mesh-protocol`](../../../core/mesh/mesh-protocol/docs/README.md) | |
|
|
191
|
+
| [`@dxos/messaging`](../../../core/mesh/messaging/docs/README.md) | ✓ |
|
|
192
|
+
| [`@dxos/model-factory`](../../../core/echo/model-factory/docs/README.md) | |
|
|
193
|
+
| [`@dxos/network-generator`](../../../core/mesh/network-generator/docs/README.md) | |
|
|
194
|
+
| [`@dxos/network-manager`](../../../core/mesh/network-manager/docs/README.md) | |
|
|
195
|
+
| [`@dxos/document-model`](../../../core/echo/document-model/docs/README.md) | |
|
|
196
|
+
| [`@dxos/protocol-plugin-presence`](../../../core/mesh/protocol-plugin-presence/docs/README.md) | |
|
|
197
|
+
| [`@dxos/protocol-plugin-replicator`](../../../core/mesh/protocol-plugin-replicator/docs/README.md) | |
|
|
198
|
+
| [`@dxos/protocol-plugin-rpc`](../../../core/mesh/protocol-plugin-rpc/docs/README.md) | |
|
|
199
|
+
| [`@dxos/protocols`](../../../core/protocols/docs/README.md) | ✓ |
|
|
200
|
+
| [`@dxos/random-access-storage`](../../../common/random-access-storage/docs/README.md) | |
|
|
201
|
+
| [`@dxos/react-async`](../../../common/react-async/docs/README.md) | ✓ |
|
|
202
|
+
| [`@dxos/rpc`](../../../core/mesh/rpc/docs/README.md) | ✓ |
|
|
203
|
+
| [`@dxos/rpc-tunnel`](../../../core/mesh/rpc-tunnel/docs/README.md) | ✓ |
|
|
204
|
+
| [`@dxos/teleport`](../../../core/mesh/teleport/docs/README.md) | |
|
|
205
|
+
| [`@dxos/teleport-plugin-replicator`](../../../core/mesh/teleport-plugin-replicator/docs/README.md) | |
|
|
206
|
+
| [`@dxos/text-model`](../../../core/echo/text-model/docs/README.md) | |
|
|
207
|
+
| [`@dxos/timeframe`](../../../common/timeframe/docs/README.md) | |
|
|
208
|
+
| [`@dxos/util`](../../../common/util/docs/README.md) | ✓ |
|
package/moon.yml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
layer: library
|
|
2
2
|
language: typescript
|
|
3
3
|
tags:
|
|
4
|
-
- e2e
|
|
5
4
|
- ts-build
|
|
6
5
|
- ts-test
|
|
6
|
+
- ts-test-storybook
|
|
7
7
|
- typedoc
|
|
8
8
|
- pack
|
|
9
9
|
- storybook
|
|
@@ -18,6 +18,3 @@ tasks:
|
|
|
18
18
|
- '--entryPoint=src/mesh/index.ts'
|
|
19
19
|
- '--entryPoint=src/testing/index.ts'
|
|
20
20
|
- '--entryPoint=src/worker.ts'
|
|
21
|
-
test:
|
|
22
|
-
inputs:
|
|
23
|
-
- .storybook/*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-client",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.c351d160a8",
|
|
4
4
|
"description": "React client API",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -89,21 +89,20 @@
|
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"
|
|
93
|
-
"@dxos/
|
|
94
|
-
"@dxos/
|
|
95
|
-
"@dxos/codec-protobuf": "0.8.4-main.
|
|
96
|
-
"@dxos/
|
|
97
|
-
"@dxos/
|
|
98
|
-
"@dxos/
|
|
99
|
-
"@dxos/echo": "0.8.4-main.
|
|
100
|
-
"@dxos/
|
|
101
|
-
"@dxos/
|
|
102
|
-
"@dxos/
|
|
103
|
-
"@dxos/
|
|
104
|
-
"@dxos/
|
|
105
|
-
"@dxos/
|
|
106
|
-
"@dxos/util": "0.8.4-main.bc674ce"
|
|
92
|
+
"@dxos/async": "0.8.4-main.c351d160a8",
|
|
93
|
+
"@dxos/client": "0.8.4-main.c351d160a8",
|
|
94
|
+
"@dxos/config": "0.8.4-main.c351d160a8",
|
|
95
|
+
"@dxos/codec-protobuf": "0.8.4-main.c351d160a8",
|
|
96
|
+
"@dxos/debug": "0.8.4-main.c351d160a8",
|
|
97
|
+
"@dxos/echo-react": "0.8.4-main.c351d160a8",
|
|
98
|
+
"@dxos/invariant": "0.8.4-main.c351d160a8",
|
|
99
|
+
"@dxos/echo": "0.8.4-main.c351d160a8",
|
|
100
|
+
"@dxos/log": "0.8.4-main.c351d160a8",
|
|
101
|
+
"@dxos/protocols": "0.8.4-main.c351d160a8",
|
|
102
|
+
"@dxos/node-std": "0.8.4-main.c351d160a8",
|
|
103
|
+
"@dxos/react-hooks": "0.8.4-main.c351d160a8",
|
|
104
|
+
"@dxos/util": "0.8.4-main.c351d160a8",
|
|
105
|
+
"@dxos/context": "0.8.4-main.c351d160a8"
|
|
107
106
|
},
|
|
108
107
|
"devDependencies": {
|
|
109
108
|
"@types/react": "~19.2.7",
|
|
@@ -111,21 +110,21 @@
|
|
|
111
110
|
"react": "~19.2.3",
|
|
112
111
|
"react-dom": "~19.2.3",
|
|
113
112
|
"typedoc": "0.28.1",
|
|
114
|
-
"@dxos/random": "0.8.4-main.
|
|
115
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
116
|
-
"@dxos/
|
|
117
|
-
"@dxos/
|
|
118
|
-
"@dxos/
|
|
119
|
-
"@dxos/
|
|
113
|
+
"@dxos/random": "0.8.4-main.c351d160a8",
|
|
114
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.c351d160a8",
|
|
115
|
+
"@dxos/test-utils": "0.8.4-main.c351d160a8",
|
|
116
|
+
"@dxos/react-ui": "0.8.4-main.c351d160a8",
|
|
117
|
+
"@dxos/storybook-utils": "0.8.4-main.c351d160a8",
|
|
118
|
+
"@dxos/ui-theme": "0.8.4-main.c351d160a8"
|
|
120
119
|
},
|
|
121
120
|
"peerDependencies": {
|
|
122
121
|
"react": "~19.2.3",
|
|
123
122
|
"react-dom": "~19.2.3"
|
|
124
123
|
},
|
|
125
124
|
"optionalDependencies": {
|
|
126
|
-
"@dxos/
|
|
127
|
-
"@dxos/
|
|
128
|
-
"@dxos/
|
|
125
|
+
"@dxos/react-ui": "0.8.4-main.c351d160a8",
|
|
126
|
+
"@dxos/random": "0.8.4-main.c351d160a8",
|
|
127
|
+
"@dxos/ui-theme": "0.8.4-main.c351d160a8"
|
|
129
128
|
},
|
|
130
129
|
"publishConfig": {
|
|
131
130
|
"access": "public"
|
package/src/echo/useQueue.ts
CHANGED
|
@@ -105,7 +105,7 @@ const Test = () => {
|
|
|
105
105
|
|
|
106
106
|
return (
|
|
107
107
|
<>
|
|
108
|
-
<div className='
|
|
108
|
+
<div className='mb-4 flex gap-2'>
|
|
109
109
|
<Button disabled={!!identity} onClick={handleCreateIdentity}>
|
|
110
110
|
Create Identity
|
|
111
111
|
</Button>
|
|
@@ -116,7 +116,7 @@ const Test = () => {
|
|
|
116
116
|
Authenticate with Passkey
|
|
117
117
|
</Button>
|
|
118
118
|
</div>
|
|
119
|
-
<div className='flex flex-col min-w-[28rem] divide-y divide-separator border border-separator rounded'>
|
|
119
|
+
<div className='flex flex-col min-w-[28rem] divide-y divide-separator border border-separator rounded-sm'>
|
|
120
120
|
<SyntaxHighlighter language='json'>
|
|
121
121
|
{JSON.stringify({ identity, credentials: credentials.length }, null, 2)}
|
|
122
122
|
</SyntaxHighlighter>
|
|
@@ -148,7 +148,7 @@ const config = new Config({
|
|
|
148
148
|
const meta = {
|
|
149
149
|
title: 'sdk/react-client/Passkeys',
|
|
150
150
|
render: Test,
|
|
151
|
-
decorators: [withClientProvider({ config }), withTheme],
|
|
151
|
+
decorators: [withClientProvider({ config }), withTheme()],
|
|
152
152
|
} satisfies Meta;
|
|
153
153
|
|
|
154
154
|
export default meta;
|
|
@@ -17,7 +17,7 @@ import { type ClientRepeatedComponentProps, ClientRepeater } from './ClientRepea
|
|
|
17
17
|
|
|
18
18
|
const meta = {
|
|
19
19
|
title: 'sdk/react-client/ClientRepeater',
|
|
20
|
-
decorators: [withTheme],
|
|
20
|
+
decorators: [withTheme()],
|
|
21
21
|
} satisfies Meta<typeof Input>;
|
|
22
22
|
|
|
23
23
|
export default meta;
|
|
@@ -26,7 +26,7 @@ export type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {
|
|
|
26
26
|
controls?: FC<ClientRepeaterControlsProps>;
|
|
27
27
|
count?: number;
|
|
28
28
|
clients?: Client[];
|
|
29
|
-
types?: Type.
|
|
29
|
+
types?: Type.AnyObj[];
|
|
30
30
|
args?: Omit<P, 'id' | 'count'>;
|
|
31
31
|
} & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onCreateSpace'>;
|
|
32
32
|
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
|
+
import { expect, within } from 'storybook/test';
|
|
7
8
|
|
|
8
9
|
import { log } from '@dxos/log';
|
|
9
|
-
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
10
|
+
import { withLayout, withTheme, Loading } from '@dxos/react-ui/testing';
|
|
10
11
|
import { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';
|
|
11
|
-
import { render } from '@dxos/storybook-utils';
|
|
12
12
|
|
|
13
13
|
import { useClient } from '../client';
|
|
14
14
|
import { type Space, useSpaces } from '../echo';
|
|
@@ -24,7 +24,7 @@ const DefaultStory = () => {
|
|
|
24
24
|
const client = useClient();
|
|
25
25
|
const spaces = useSpaces();
|
|
26
26
|
if (!client) {
|
|
27
|
-
return
|
|
27
|
+
return <Loading data={{ client: !!client }} />;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
return (
|
|
@@ -39,8 +39,9 @@ const DefaultStory = () => {
|
|
|
39
39
|
|
|
40
40
|
const meta = {
|
|
41
41
|
title: 'sdk/react-client/withClientProvider',
|
|
42
|
-
render:
|
|
43
|
-
decorators: [withTheme],
|
|
42
|
+
render: DefaultStory,
|
|
43
|
+
decorators: [withTheme()],
|
|
44
|
+
tags: ['test'],
|
|
44
45
|
} satisfies Meta<typeof DefaultStory>;
|
|
45
46
|
|
|
46
47
|
export default meta;
|
|
@@ -63,11 +64,16 @@ export const Default: Story = {
|
|
|
63
64
|
parameters: {
|
|
64
65
|
layout: 'centered',
|
|
65
66
|
},
|
|
67
|
+
play: async ({ canvasElement }) => {
|
|
68
|
+
const canvas = within(canvasElement);
|
|
69
|
+
const initializedText = await canvas.findByText(/"initialized": true/i, {}, { timeout: 30_000 });
|
|
70
|
+
await expect(initializedText).toBeVisible();
|
|
71
|
+
},
|
|
66
72
|
};
|
|
67
73
|
|
|
68
74
|
export const Multiple: Story = {
|
|
69
75
|
decorators: [
|
|
70
|
-
withTheme,
|
|
76
|
+
withTheme(),
|
|
71
77
|
withLayout({ classNames: 'grid grid-cols-3' }),
|
|
72
78
|
withMultiClientProvider({ ...clientProps, numClients: 3 }),
|
|
73
79
|
],
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type Decorator, type StoryContext } from '@storybook/react';
|
|
6
|
-
import React, {
|
|
7
|
-
import { type FallbackProps, ErrorBoundary as NaturalErrorBoundary } from 'react-error-boundary';
|
|
6
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
8
7
|
|
|
9
8
|
import { Trigger } from '@dxos/async';
|
|
10
9
|
import { type Client } from '@dxos/client';
|
|
11
10
|
import { type Space, type SpaceId } from '@dxos/client/echo';
|
|
12
11
|
import { TestBuilder, performInvitation } from '@dxos/client/testing';
|
|
13
12
|
import { log } from '@dxos/log';
|
|
13
|
+
import { ErrorBoundary } from '@dxos/react-ui';
|
|
14
14
|
import { type MaybePromise } from '@dxos/util';
|
|
15
15
|
|
|
16
16
|
import { ClientProvider, type ClientProviderProps } from '../client';
|
|
@@ -87,7 +87,7 @@ export const withClientProvider = ({
|
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
return (
|
|
90
|
-
<ErrorBoundary>
|
|
90
|
+
<ErrorBoundary name='client-provider'>
|
|
91
91
|
<ClientProvider onInitialized={handleInitialized} {...props}>
|
|
92
92
|
<ClientStory.Provider value={data}>
|
|
93
93
|
<Story />
|
|
@@ -178,7 +178,7 @@ export const withMultiClientProvider = ({
|
|
|
178
178
|
{...props}
|
|
179
179
|
>
|
|
180
180
|
<ClientStory.Provider value={{ index, spaceId }}>
|
|
181
|
-
<ErrorBoundary>
|
|
181
|
+
<ErrorBoundary name='client-provider'>
|
|
182
182
|
<Story />
|
|
183
183
|
</ErrorBoundary>
|
|
184
184
|
</ClientStory.Provider>
|
|
@@ -188,34 +188,3 @@ export const withMultiClientProvider = ({
|
|
|
188
188
|
);
|
|
189
189
|
};
|
|
190
190
|
};
|
|
191
|
-
|
|
192
|
-
const ErrorBoundary = ({ children }: PropsWithChildren) => {
|
|
193
|
-
const [error, setError] = useState<Error>();
|
|
194
|
-
useEffect(() => {
|
|
195
|
-
const handleError = (event: PromiseRejectionEvent) => {
|
|
196
|
-
setError(event.reason);
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
window.addEventListener('unhandledrejection', handleError);
|
|
200
|
-
return () => window.removeEventListener('unhandledrejection', handleError);
|
|
201
|
-
}, []);
|
|
202
|
-
|
|
203
|
-
if (error) {
|
|
204
|
-
return <ErrorFallback error={error} resetErrorBoundary={() => setError(undefined)} />;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return <NaturalErrorBoundary FallbackComponent={ErrorFallback}>{children}</NaturalErrorBoundary>;
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
const ErrorFallback = ({ error }: FallbackProps) => {
|
|
211
|
-
const { name, message, stack } =
|
|
212
|
-
error instanceof Error ? error : { name: 'Error', message: String(error), stack: undefined };
|
|
213
|
-
|
|
214
|
-
return (
|
|
215
|
-
<div role='alert' className='flex flex-col p-4 gap-4 overflow-auto'>
|
|
216
|
-
<h1 className='text-xl text-red-500'>{name}</h1>
|
|
217
|
-
<div className='text-lg'>{message}</div>
|
|
218
|
-
{stack && <pre className='whitespace-pre-wrap text-sm text-subdued'>{stack}</pre>}
|
|
219
|
-
</div>
|
|
220
|
-
);
|
|
221
|
-
};
|
package/typedoc.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":";AAQA,wBAQG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.spec.d.ts","sourceRoot":"","sources":["../../../../src/playwright/smoke.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { defineConfig } from '@playwright/test';
|
|
6
|
-
|
|
7
|
-
import { e2ePreset } from '@dxos/test-utils/playwright';
|
|
8
|
-
|
|
9
|
-
export default defineConfig({
|
|
10
|
-
...e2ePreset(import.meta.dirname),
|
|
11
|
-
// TODO(wittjosiah): Avoid hard-coding ports.
|
|
12
|
-
webServer: {
|
|
13
|
-
command: 'moon run storybook-react:serve-e2e -- --port=9000',
|
|
14
|
-
port: 9000,
|
|
15
|
-
reuseExistingServer: false,
|
|
16
|
-
},
|
|
17
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2021 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Page, expect, test } from '@playwright/test';
|
|
6
|
-
|
|
7
|
-
import { setupPage, storybookUrl } from '@dxos/test-utils/playwright';
|
|
8
|
-
|
|
9
|
-
test.describe('Smoke test', () => {
|
|
10
|
-
let page: Page;
|
|
11
|
-
|
|
12
|
-
test.beforeAll(async ({ browser }) => {
|
|
13
|
-
const result = await setupPage(browser, {
|
|
14
|
-
url: storybookUrl('sdk-react-client-withclientprovider--default', 9000),
|
|
15
|
-
});
|
|
16
|
-
page = result.page;
|
|
17
|
-
await page.locator(':text("initialized")').waitFor({ state: 'visible' });
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// NOTE: This test depends on connecting to the default production deployed HALO vault.
|
|
21
|
-
test('Renders remote client info', async () => {
|
|
22
|
-
await expect(page.locator(':text("initialized")')).toBeVisible();
|
|
23
|
-
});
|
|
24
|
-
});
|