@dxos/shell 0.6.11-staging.e6894a4 → 0.6.12-main.5cc132e

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.
Files changed (40) hide show
  1. package/dist/bundle/shell.mjs +22252 -26602
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +97 -170
  4. package/dist/bundle/shell.umd.js.map +1 -1
  5. package/dist/bundle/style.css +1 -1
  6. package/dist/lib/browser/{chunk-ZSTKOCBT.mjs → chunk-J5LGTIGS.mjs} +1 -1
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/react.mjs +7 -13
  9. package/dist/lib/browser/react.mjs.map +3 -3
  10. package/dist/lib/browser/testing/index.mjs +1 -1
  11. package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts.map +1 -1
  12. package/dist/types/src/components/InvitationList/InvitationList.stories.js +12 -14
  13. package/dist/types/src/components/InvitationList/InvitationList.stories.js.map +1 -1
  14. package/dist/types/src/composites/Shell/Shell.js +1 -1
  15. package/dist/types/src/composites/Shell/Shell.js.map +1 -1
  16. package/dist/types/src/composites/Shell/run-shell.d.ts.map +1 -1
  17. package/dist/types/src/composites/Shell/run-shell.js +1 -3
  18. package/dist/types/src/composites/Shell/run-shell.js.map +1 -1
  19. package/dist/types/src/playwright/invitations-manager.d.ts +1 -1
  20. package/dist/types/src/playwright/invitations-manager.d.ts.map +1 -1
  21. package/dist/types/src/playwright/invitations-manager.js +4 -10
  22. package/dist/types/src/playwright/invitations-manager.js.map +1 -1
  23. package/dist/types/src/playwright/invitations.spec.js +31 -32
  24. package/dist/types/src/playwright/invitations.spec.js.map +1 -1
  25. package/dist/types/src/playwright/playwright.config.d.ts +2 -2
  26. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  27. package/dist/types/src/playwright/playwright.config.js +12 -2
  28. package/dist/types/src/playwright/playwright.config.js.map +1 -1
  29. package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
  30. package/dist/types/src/stories/Invitations.e2e-stories.js +2 -3
  31. package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
  32. package/package.json +25 -24
  33. package/src/components/InvitationList/InvitationList.stories.tsx +17 -20
  34. package/src/composites/Shell/Shell.tsx +1 -1
  35. package/src/composites/Shell/run-shell.tsx +3 -13
  36. package/src/playwright/invitations-manager.ts +4 -8
  37. package/src/playwright/invitations.spec.ts +32 -33
  38. package/src/playwright/playwright.config.ts +13 -2
  39. package/src/stories/Invitations.e2e-stories.tsx +4 -6
  40. /package/dist/lib/browser/{chunk-ZSTKOCBT.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
@@ -139,9 +139,8 @@ const Invitations = (args) => {
139
139
  // This does not seem to be a problem in other browsers nor in Safari in the app.
140
140
  exports.Default = {
141
141
  render: (args) => (react_2.default.createElement(components_1.ClipboardProvider, null,
142
- react_2.default.createElement(react_ui_1.Tooltip.Provider, null,
143
- react_2.default.createElement(testing_1.ClientRepeater, { component: Invitations, count: 3 })))),
144
- decorators: [storybook_utils_1.withTheme],
142
+ react_2.default.createElement(testing_1.ClientRepeater, { component: Invitations, count: 3 }))),
143
+ decorators: [storybook_utils_1.withTheme, (0, storybook_utils_1.withLayout)({ tooltips: true })],
145
144
  parameters: {
146
145
  chromatic: { disableSnapshot: true },
147
146
  translations: [translations_1.osTranslations],
@@ -1 +1 @@
1
- {"version":3,"file":"Invitations.e2e-stories.js","sourceRoot":"","sources":["../../../../src/stories/Invitations.e2e-stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Invitations.e2e-stories.js","sourceRoot":"","sources":["../../../../src/stories/Invitations.e2e-stories.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/shell",
3
- "version": "0.6.11-staging.e6894a4",
3
+ "version": "0.6.12-main.5cc132e",
4
4
  "description": "DXOS’s OS experiences",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -42,20 +42,20 @@
42
42
  "react-qr-rounded": "^1.0.0",
43
43
  "url-join": "^5.0.0",
44
44
  "xstate": "^4.37.0",
45
- "@dxos/async": "0.6.11-staging.e6894a4",
46
- "@dxos/client-protocol": "0.6.11-staging.e6894a4",
47
- "@dxos/client-services": "0.6.11-staging.e6894a4",
48
- "@dxos/debug": "0.6.11-staging.e6894a4",
49
- "@dxos/display-name": "0.6.11-staging.e6894a4",
50
- "@dxos/invariant": "0.6.11-staging.e6894a4",
51
- "@dxos/log": "0.6.11-staging.e6894a4",
52
- "@dxos/react-ui": "0.6.11-staging.e6894a4",
53
- "@dxos/react-ui-types": "0.6.11-staging.e6894a4",
54
- "@dxos/protocols": "0.6.11-staging.e6894a4",
55
- "@dxos/rpc-tunnel": "0.6.11-staging.e6894a4",
56
- "@dxos/react-ui-theme": "0.6.11-staging.e6894a4",
57
- "@dxos/rpc": "0.6.11-staging.e6894a4",
58
- "@dxos/util": "0.6.11-staging.e6894a4"
45
+ "@dxos/async": "0.6.12-main.5cc132e",
46
+ "@dxos/client-protocol": "0.6.12-main.5cc132e",
47
+ "@dxos/client-services": "0.6.12-main.5cc132e",
48
+ "@dxos/debug": "0.6.12-main.5cc132e",
49
+ "@dxos/display-name": "0.6.12-main.5cc132e",
50
+ "@dxos/invariant": "0.6.12-main.5cc132e",
51
+ "@dxos/log": "0.6.12-main.5cc132e",
52
+ "@dxos/react-ui": "0.6.12-main.5cc132e",
53
+ "@dxos/react-ui-theme": "0.6.12-main.5cc132e",
54
+ "@dxos/protocols": "0.6.12-main.5cc132e",
55
+ "@dxos/react-ui-types": "0.6.12-main.5cc132e",
56
+ "@dxos/rpc": "0.6.12-main.5cc132e",
57
+ "@dxos/rpc-tunnel": "0.6.12-main.5cc132e",
58
+ "@dxos/util": "0.6.12-main.5cc132e"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@phosphor-icons/react": "^2.1.5",
@@ -64,20 +64,21 @@
64
64
  "@vitejs/plugin-react": "^4.2.1",
65
65
  "react": "~18.2.0",
66
66
  "react-dom": "~18.2.0",
67
- "vite": "^5.3.4",
68
- "@dxos/config": "0.6.11-staging.e6894a4",
69
- "@dxos/protocols": "0.6.11-staging.e6894a4",
70
- "@dxos/random": "0.6.11-staging.e6894a4",
71
- "@dxos/react-async": "0.6.11-staging.e6894a4",
72
- "@dxos/react-client": "0.6.11-staging.e6894a4",
73
- "@dxos/storybook-utils": "0.6.11-staging.e6894a4",
74
- "@dxos/react-ui-theme": "0.6.11-staging.e6894a4"
67
+ "vite": "5.4.7",
68
+ "@dxos/config": "0.6.12-main.5cc132e",
69
+ "@dxos/protocols": "0.6.12-main.5cc132e",
70
+ "@dxos/random": "0.6.12-main.5cc132e",
71
+ "@dxos/react-ui-theme": "0.6.12-main.5cc132e",
72
+ "@dxos/react-hooks": "0.6.12-main.5cc132e",
73
+ "@dxos/react-client": "0.6.12-main.5cc132e",
74
+ "@dxos/test-utils": "0.6.12-main.5cc132e",
75
+ "@dxos/storybook-utils": "0.6.12-main.5cc132e"
75
76
  },
76
77
  "peerDependencies": {
77
78
  "@phosphor-icons/react": "^2.1.5",
78
79
  "react": "^18.0.0",
79
80
  "react-dom": "^18.0.0",
80
- "@dxos/react-client": "0.6.11-staging.e6894a4"
81
+ "@dxos/react-client": "0.6.12-main.5cc132e"
81
82
  },
82
83
  "publishConfig": {
83
84
  "access": "public"
@@ -7,8 +7,7 @@ import '@dxos-theme';
7
7
  import React from 'react';
8
8
 
9
9
  import { Invitation } from '@dxos/react-client/invitations';
10
- import { Tooltip } from '@dxos/react-ui';
11
- import { withTheme } from '@dxos/storybook-utils';
10
+ import { withLayout, withTheme } from '@dxos/storybook-utils';
12
11
 
13
12
  import { InvitationList } from './InvitationList';
14
13
  import { inviteWithState } from '../../testing';
@@ -16,29 +15,27 @@ import { inviteWithState } from '../../testing';
16
15
  export default {
17
16
  title: 'react-shell/InvitationList',
18
17
  component: InvitationList,
19
- decorators: [withTheme],
18
+ decorators: [withTheme, withLayout({ tooltips: true })],
20
19
  actions: { argTypesRegex: '^on.*' },
21
20
  parameters: { chromatic: { disableSnapshot: false } },
22
21
  };
23
22
 
24
23
  export const Default = () => {
25
24
  return (
26
- <Tooltip.Provider>
27
- <InvitationList
28
- invitations={[
29
- inviteWithState(Invitation.State.INIT),
30
- inviteWithState(Invitation.State.CONNECTING),
31
- inviteWithState(Invitation.State.CONNECTED),
32
- inviteWithState(Invitation.State.READY_FOR_AUTHENTICATION),
33
- inviteWithState(Invitation.State.AUTHENTICATING),
34
- inviteWithState(Invitation.State.SUCCESS),
35
- inviteWithState(Invitation.State.TIMEOUT),
36
- inviteWithState(Invitation.State.ERROR),
37
- inviteWithState(Invitation.State.CANCELLED),
38
- ]}
39
- send={() => {}}
40
- createInvitationUrl={(invite) => invite}
41
- />
42
- </Tooltip.Provider>
25
+ <InvitationList
26
+ invitations={[
27
+ inviteWithState(Invitation.State.INIT),
28
+ inviteWithState(Invitation.State.CONNECTING),
29
+ inviteWithState(Invitation.State.CONNECTED),
30
+ inviteWithState(Invitation.State.READY_FOR_AUTHENTICATION),
31
+ inviteWithState(Invitation.State.AUTHENTICATING),
32
+ inviteWithState(Invitation.State.SUCCESS),
33
+ inviteWithState(Invitation.State.TIMEOUT),
34
+ inviteWithState(Invitation.State.ERROR),
35
+ inviteWithState(Invitation.State.CANCELLED),
36
+ ]}
37
+ send={() => {}}
38
+ createInvitationUrl={(invite) => invite}
39
+ />
43
40
  );
44
41
  };
@@ -38,7 +38,7 @@ export const Shell = ({ runtime }: { runtime: ShellRuntime }) => {
38
38
  });
39
39
 
40
40
  const client = useClient();
41
- const space = useSpace(spaceKey ?? spaceId);
41
+ const space = useSpace(spaceId ?? spaceKey);
42
42
 
43
43
  const createDeviceInvitationUrl = (invitationCode: string) => {
44
44
  const baseUrl = new URL(invitationUrl);
@@ -6,15 +6,7 @@ import React, { StrictMode } from 'react';
6
6
  import { createRoot } from 'react-dom/client';
7
7
 
8
8
  import { DEFAULT_CLIENT_CHANNEL, DEFAULT_SHELL_CHANNEL } from '@dxos/client-protocol';
9
- import {
10
- AgentHostingProvider,
11
- Client,
12
- ClientContext,
13
- ClientServicesProxy,
14
- Config,
15
- ShellDisplay,
16
- SystemStatus,
17
- } from '@dxos/react-client';
9
+ import { AgentHostingProvider, ClientProvider, ClientServicesProxy, Config, ShellDisplay } from '@dxos/react-client';
18
10
  import { Button, Dialog, ThemeProvider, Tooltip, useTranslation } from '@dxos/react-ui';
19
11
  import { defaultTx } from '@dxos/react-ui-theme';
20
12
  import { createIFramePort } from '@dxos/rpc-tunnel';
@@ -31,13 +23,11 @@ export const runShell = async (config: Config = new Config()) => {
31
23
 
32
24
  try {
33
25
  const services = new ClientServicesProxy(createIFramePort({ channel: DEFAULT_CLIENT_CHANNEL }));
34
- const client = new Client({ config, services });
35
- await client.initialize();
36
26
 
37
27
  createRoot(document.getElementById('root')!).render(
38
28
  <StrictMode>
39
29
  <ThemeProvider tx={defaultTx} resourceExtensions={[osTranslations]}>
40
- <ClientContext.Provider value={{ client, status: SystemStatus.ACTIVE }}>
30
+ <ClientProvider config={config} services={services} disableBanner>
41
31
  <ClipboardProvider>
42
32
  <Tooltip.Provider>
43
33
  <AgentHostingProvider>
@@ -45,7 +35,7 @@ export const runShell = async (config: Config = new Config()) => {
45
35
  </AgentHostingProvider>
46
36
  </Tooltip.Provider>
47
37
  </ClipboardProvider>
48
- </ClientContext.Provider>
38
+ </ClientProvider>
49
39
  </ThemeProvider>
50
40
  </StrictMode>,
51
41
  );
@@ -2,14 +2,12 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import type { Browser, ConsoleMessage } from '@playwright/test';
6
- import { expect } from 'chai';
7
- import waitForExpect from 'wait-for-expect';
5
+ import { expect, type Browser, type ConsoleMessage } from '@playwright/test';
8
6
 
9
7
  import { Trigger } from '@dxos/async';
10
8
  import { type Invitation } from '@dxos/react-client/invitations';
11
9
  import { ConnectionState } from '@dxos/react-client/mesh';
12
- import { setupPage } from '@dxos/test/playwright';
10
+ import { setupPage } from '@dxos/test-utils/playwright';
13
11
 
14
12
  import { ScopedShellManager } from '../testing';
15
13
 
@@ -35,11 +33,11 @@ export class InvitationsManager extends ScopedShellManager {
35
33
 
36
34
  const { page } = await setupPage(this._browser, {
37
35
  url: storybookUrl('invitations--default'),
38
- waitFor: (page) => page.getByTestId('invitations.identity-header').first().isVisible(),
39
36
  });
40
37
 
41
38
  this.page = page;
42
39
  this.page.on('console', (message) => this._onConsoleMessage(message));
40
+ await this.page.getByTestId('invitations.identity-header').first().waitFor({ state: 'visible' });
43
41
  this._initialized = true;
44
42
  }
45
43
 
@@ -119,9 +117,7 @@ export class InvitationsManager extends ScopedShellManager {
119
117
  const createIdentity = this.peer(id).getByTestId('invitations.create-identity');
120
118
  // TODO(wittjosiah): Clicking on buttons wrapped in tooltips is flaky in webkit playwright.
121
119
  await createIdentity.click();
122
- await waitForExpect(async () => {
123
- expect(await createIdentity.isDisabled()).to.be.true;
124
- });
120
+ await expect(createIdentity).toBeDisabled();
125
121
  }
126
122
 
127
123
  async createSpace(id: number) {
@@ -2,8 +2,7 @@
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
4
 
5
- import { test } from '@playwright/test';
6
- import { expect } from 'chai';
5
+ import { expect, test } from '@playwright/test';
7
6
 
8
7
  import { sleep } from '@dxos/async';
9
8
  import { Invitation } from '@dxos/react-client/invitations';
@@ -47,7 +46,7 @@ test.describe('Invitations', () => {
47
46
  await manager.authenticateInvitation('device', authCode, manager.peer(1));
48
47
  await manager.doneInvitation('device', manager.peer(1));
49
48
 
50
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
49
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
51
50
  });
52
51
 
53
52
  test('no auth method', async () => {
@@ -59,7 +58,7 @@ test.describe('Invitations', () => {
59
58
  await manager.acceptInvitation(1, 'device', invitation);
60
59
  await manager.doneInvitation('device', manager.peer(1));
61
60
 
62
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
61
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
63
62
  });
64
63
 
65
64
  test('invalid & retry auth code', async () => {
@@ -75,7 +74,7 @@ test.describe('Invitations', () => {
75
74
  await manager.authenticateInvitation('device', authCode, manager.peer(1));
76
75
  await manager.doneInvitation('device', manager.peer(1));
77
76
 
78
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
77
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
79
78
  });
80
79
 
81
80
  // TODO(wittjosiah): Remove? This seems to invalidate the invitation now.
@@ -94,7 +93,7 @@ test.describe('Invitations', () => {
94
93
  await manager.clearAuthCode('device', manager.peer(1));
95
94
  await manager.authenticateInvitation('device', '000003', manager.peer(1));
96
95
 
97
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
96
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
98
97
 
99
98
  await manager.resetInvitation(manager.peer(1));
100
99
  await manager.invitationInputContinue('device', manager.peer(1));
@@ -102,7 +101,7 @@ test.describe('Invitations', () => {
102
101
  await manager.authenticateInvitation('device', authCode, manager.peer(1));
103
102
  await manager.doneInvitation('device', manager.peer(1));
104
103
 
105
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
104
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
106
105
  });
107
106
 
108
107
  test('invitation timeout', async () => {
@@ -113,7 +112,7 @@ test.describe('Invitations', () => {
113
112
  await manager.openPanel(1, 'identity');
114
113
  await manager.acceptInvitation(1, 'device', invitation);
115
114
 
116
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
115
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
117
116
  });
118
117
 
119
118
  // TODO(thure): This is skipped because the UI no longer affords cancelling device invitations, consider removing.
@@ -125,10 +124,10 @@ test.describe('Invitations', () => {
125
124
 
126
125
  await manager.openPanel(1, 'identity');
127
126
  await manager.acceptInvitation(1, 'device', invitation);
128
- expect(await manager.readyToAuthenticate('device', manager.peer(1))).to.be.true;
127
+ expect(await manager.readyToAuthenticate('device', manager.peer(1))).toBe(true);
129
128
  await manager.cancelInvitation('device', 'host', manager.peer(0));
130
129
 
131
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
130
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
132
131
  });
133
132
 
134
133
  // TODO(wittjosiah): Remove? This seems to invalidate the invitation now.
@@ -147,7 +146,7 @@ test.describe('Invitations', () => {
147
146
  await manager.authenticateInvitation('device', authCode, manager.peer(1));
148
147
  await manager.doneInvitation('device', manager.peer(1));
149
148
 
150
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
149
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
151
150
  });
152
151
 
153
152
  // TODO(thure): The design no longer affords signalling an identity’s network status. Remove or adjust test, or adjust design.
@@ -159,18 +158,18 @@ test.describe('Invitations', () => {
159
158
 
160
159
  await manager.openPanel(1, 'identity');
161
160
  await manager.acceptInvitation(1, 'device', invitation);
162
- expect(await manager.readyToAuthenticate('device', manager.peer(1))).to.be.true;
161
+ expect(await manager.readyToAuthenticate('device', manager.peer(1))).toBe(true);
163
162
  await manager.toggleNetworkStatus(0);
164
- expect(await manager.getNetworkStatus(0)).to.equal(ConnectionState.OFFLINE);
163
+ expect(await manager.getNetworkStatus(0)).toEqual(ConnectionState.OFFLINE);
165
164
  await manager.toggleNetworkStatus(0);
166
- expect(await manager.getNetworkStatus(0)).to.equal(ConnectionState.ONLINE);
165
+ expect(await manager.getNetworkStatus(0)).toEqual(ConnectionState.ONLINE);
167
166
  await manager.resetInvitation(manager.peer(1));
168
167
  await manager.invitationInputContinue('device', manager.peer(1));
169
168
  await manager.clearAuthCode('device', manager.peer(1));
170
169
  await manager.authenticateInvitation('device', authCode, manager.peer(1));
171
170
  await manager.doneInvitation('device', manager.peer(1));
172
171
 
173
- expect(await manager.getDisplayName(0)).to.equal(await manager.getDisplayName(1));
172
+ expect(await manager.getDisplayName(0)).toEqual(await manager.getDisplayName(1));
174
173
  });
175
174
  });
176
175
 
@@ -190,7 +189,7 @@ test.describe('Invitations', () => {
190
189
  await manager.doneInvitation('space', manager.peer(1));
191
190
 
192
191
  await manager.openPanel(0, 'spaces');
193
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
192
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
194
193
  });
195
194
 
196
195
  test('already joined', async () => {
@@ -209,7 +208,7 @@ test.describe('Invitations', () => {
209
208
  await manager.acceptInvitation(1, 'space', invitation2);
210
209
  await manager.doneInvitation('space', manager.peer(1));
211
210
 
212
- expect(await manager.getSpaceMembersCount(0)).to.equal(2);
211
+ expect(await manager.getSpaceMembersCount(0)).toEqual(2);
213
212
  });
214
213
 
215
214
  test('no auth method', async () => {
@@ -224,7 +223,7 @@ test.describe('Invitations', () => {
224
223
  await manager.doneInvitation('space', manager.peer(1));
225
224
 
226
225
  await manager.openPanel(0, 'spaces');
227
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
226
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
228
227
  });
229
228
 
230
229
  test('invalid & retry auth code', async () => {
@@ -239,14 +238,14 @@ test.describe('Invitations', () => {
239
238
  await manager.acceptInvitation(1, 'space', invitation);
240
239
  await manager.authenticateInvitation('space', '000000', manager.peer(1));
241
240
 
242
- expect(await manager.authenticatorIsVisible('space', manager.peer(1))).to.be.true;
241
+ expect(await manager.authenticatorIsVisible('space', manager.peer(1))).toBe(true);
243
242
 
244
243
  await manager.clearAuthCode('space', manager.peer(1));
245
244
  await manager.authenticateInvitation('space', authCode, manager.peer(1));
246
245
  await manager.doneInvitation('space', manager.peer(1));
247
246
 
248
247
  await manager.openPanel(0, 'spaces');
249
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
248
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
250
249
  });
251
250
 
252
251
  // TODO(wittjosiah): Remove? This seems to invalidate the invitation now.
@@ -267,7 +266,7 @@ test.describe('Invitations', () => {
267
266
  await manager.clearAuthCode('space', manager.peer(1));
268
267
  await manager.authenticateInvitation('space', '000003', manager.peer(1));
269
268
 
270
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
269
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
271
270
 
272
271
  await manager.resetInvitation(manager.peer(1));
273
272
  await manager.invitationInputContinue('space', manager.peer(1));
@@ -276,7 +275,7 @@ test.describe('Invitations', () => {
276
275
  await manager.doneInvitation('space', manager.peer(1));
277
276
 
278
277
  await manager.openPanel(0, 'spaces');
279
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
278
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
280
279
  });
281
280
 
282
281
  test('invitation timeout', async () => {
@@ -289,7 +288,7 @@ test.describe('Invitations', () => {
289
288
  await manager.openPanel(1, 'join');
290
289
  await manager.acceptInvitation(1, 'space', invitation);
291
290
 
292
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
291
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
293
292
  });
294
293
 
295
294
  // TODO(wittjosiah): Cancel not propagating.
@@ -302,10 +301,10 @@ test.describe('Invitations', () => {
302
301
  await manager.createIdentity(1);
303
302
  await manager.openPanel(1, 'join');
304
303
  await manager.acceptInvitation(1, 'space', invitation);
305
- expect(await manager.readyToAuthenticate('space', manager.peer(1))).to.be.true;
304
+ expect(await manager.readyToAuthenticate('space', manager.peer(1))).toBe(true);
306
305
  await manager.cancelInvitation('space', 'host', manager.peer(0));
307
306
 
308
- expect(await manager.invitationFailed(manager.peer(1))).to.be.true;
307
+ expect(await manager.invitationFailed(manager.peer(1))).toBe(true);
309
308
  });
310
309
 
311
310
  // TODO(wittjosiah): Remove? This seems to invalidate the invitation now.
@@ -327,7 +326,7 @@ test.describe('Invitations', () => {
327
326
  await manager.doneInvitation('space', manager.peer(1));
328
327
 
329
328
  await manager.openPanel(0, 'spaces');
330
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
329
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
331
330
  });
332
331
 
333
332
  // TODO(thure): The design no longer affords signalling an identity’s network status. Remove or adjust test, or adjust design.
@@ -341,11 +340,11 @@ test.describe('Invitations', () => {
341
340
  await manager.createIdentity(1);
342
341
  await manager.openPanel(1, 'join');
343
342
  await manager.acceptInvitation(1, 'space', invitation);
344
- expect(await manager.readyToAuthenticate('space', manager.peer(1))).to.be.true;
343
+ expect(await manager.readyToAuthenticate('space', manager.peer(1))).toBe(true);
345
344
  await manager.toggleNetworkStatus(0);
346
- expect(await manager.getNetworkStatus(0)).to.equal(ConnectionState.OFFLINE);
345
+ expect(await manager.getNetworkStatus(0)).toEqual(ConnectionState.OFFLINE);
347
346
  await manager.toggleNetworkStatus(0);
348
- expect(await manager.getNetworkStatus(0)).to.equal(ConnectionState.ONLINE);
347
+ expect(await manager.getNetworkStatus(0)).toEqual(ConnectionState.ONLINE);
349
348
  await manager.resetInvitation(manager.peer(1));
350
349
  await manager.invitationInputContinue('space', manager.peer(1));
351
350
  await manager.clearAuthCode('space', manager.peer(1));
@@ -353,7 +352,7 @@ test.describe('Invitations', () => {
353
352
  await manager.doneInvitation('space', manager.peer(1));
354
353
 
355
354
  await manager.openPanel(0, 'spaces');
356
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
355
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
357
356
  });
358
357
 
359
358
  test('multiple concurrent invitations', async () => {
@@ -385,9 +384,9 @@ test.describe('Invitations', () => {
385
384
  await manager.doneInvitation('space', manager.peer(2));
386
385
 
387
386
  await manager.openPanel(0, 'spaces');
388
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(1, 1));
389
- expect(await manager.getSpaceName(0, 1)).to.equal(await manager.getSpaceName(2, 1));
390
- expect(await manager.getSpaceName(1, 1)).to.equal(await manager.getSpaceName(2, 1));
387
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(1, 1));
388
+ expect(await manager.getSpaceName(0, 1)).toEqual(await manager.getSpaceName(2, 1));
389
+ expect(await manager.getSpaceName(1, 1)).toEqual(await manager.getSpaceName(2, 1));
391
390
  });
392
391
  });
393
392
  });
@@ -2,6 +2,17 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { defaultPlaywrightConfig } from '@dxos/test/playwright';
5
+ import { nxE2EPreset } from '@nx/playwright/preset';
6
+ import { defineConfig } from '@playwright/test';
6
7
 
7
- export default defaultPlaywrightConfig;
8
+ import { e2ePreset } from '@dxos/test-utils/playwright';
9
+
10
+ export default defineConfig({
11
+ ...nxE2EPreset(__filename, { testDir: __dirname }),
12
+ ...e2ePreset(__dirname),
13
+ webServer: {
14
+ command: 'pnpm -w nx storybook-e2e stories',
15
+ port: 9009,
16
+ reuseExistingServer: !process.env.CI,
17
+ },
18
+ });
@@ -15,9 +15,9 @@ import { useIdentity } from '@dxos/react-client/halo';
15
15
  import { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';
16
16
  import { ConnectionState, useNetworkStatus } from '@dxos/react-client/mesh';
17
17
  import { ClientRepeater } from '@dxos/react-client/testing';
18
- import { Button, ButtonGroup, List, Tooltip } from '@dxos/react-ui';
18
+ import { Button, ButtonGroup, List } from '@dxos/react-ui';
19
19
  import { getSize, groupSurface } from '@dxos/react-ui-theme';
20
- import { withTheme } from '@dxos/storybook-utils';
20
+ import { withLayout, withTheme } from '@dxos/storybook-utils';
21
21
 
22
22
  import { ClipboardProvider, IdentityListItem, SpaceListItem } from '../components';
23
23
  import { IdentityPanel, JoinPanel, SpacePanel } from '../panels';
@@ -222,12 +222,10 @@ const Invitations = (args: { id: number; count: number }) => {
222
222
  export const Default = {
223
223
  render: (args: { id: number }) => (
224
224
  <ClipboardProvider>
225
- <Tooltip.Provider>
226
- <ClientRepeater component={Invitations} count={3} />
227
- </Tooltip.Provider>
225
+ <ClientRepeater component={Invitations} count={3} />
228
226
  </ClipboardProvider>
229
227
  ),
230
- decorators: [withTheme],
228
+ decorators: [withTheme, withLayout({ tooltips: true })],
231
229
  parameters: {
232
230
  chromatic: { disableSnapshot: true },
233
231
  translations: [osTranslations],