@dxos/react-client 2.33.7-dev.c7ce8f32 → 2.33.7

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 (60) hide show
  1. package/.rush/temp/package-deps_build.json +17 -15
  2. package/.rush/temp/package-deps_build_test.json +17 -15
  3. package/.rush/temp/shrinkwrap-deps.json +5 -8
  4. package/README.md +1 -1
  5. package/dist/src/containers/BotFactoryClientProvider.js +2 -2
  6. package/dist/src/containers/BotFactoryClientProvider.js.map +1 -1
  7. package/dist/src/hooks/client/index.d.ts +1 -0
  8. package/dist/src/hooks/client/index.d.ts.map +1 -1
  9. package/dist/src/hooks/client/index.js +1 -0
  10. package/dist/src/hooks/client/index.js.map +1 -1
  11. package/dist/src/hooks/client/useDevtools.d.ts +2 -0
  12. package/dist/src/hooks/client/useDevtools.d.ts.map +1 -0
  13. package/dist/src/hooks/client/useDevtools.js +13 -0
  14. package/dist/src/hooks/client/useDevtools.js.map +1 -0
  15. package/dist/src/hooks/echo-queries/useContacts.d.ts +1 -1
  16. package/dist/src/hooks/echo-queries/useContacts.d.ts.map +1 -1
  17. package/dist/src/hooks/echo-queries/useContacts.js +1 -1
  18. package/dist/src/hooks/echo-queries/useContacts.js.map +1 -1
  19. package/dist/src/hooks/echo-queries/useParties.d.ts +1 -1
  20. package/dist/src/hooks/echo-queries/useParties.d.ts.map +1 -1
  21. package/dist/src/hooks/invitations/usePartyInvitations.d.ts +1 -1
  22. package/dist/src/hooks/invitations/usePartyInvitations.d.ts.map +1 -1
  23. package/dist/src/hooks/util/index.d.ts +1 -0
  24. package/dist/src/hooks/util/index.d.ts.map +1 -1
  25. package/dist/src/hooks/util/index.js +1 -0
  26. package/dist/src/hooks/util/index.js.map +1 -1
  27. package/dist/src/hooks/util/useResultSet.d.ts +1 -0
  28. package/dist/src/hooks/util/useResultSet.d.ts.map +1 -1
  29. package/dist/src/hooks/util/useResultSet.js +1 -0
  30. package/dist/src/hooks/util/useResultSet.js.map +1 -1
  31. package/dist/src/hooks/util/useStream.d.ts +7 -0
  32. package/dist/src/hooks/util/useStream.d.ts.map +1 -0
  33. package/dist/src/hooks/util/useStream.js +21 -0
  34. package/dist/src/hooks/util/useStream.js.map +1 -0
  35. package/dist/stories/client.stories.js.map +1 -1
  36. package/dist/stories/halo-recovery.stories.d.ts.map +1 -1
  37. package/dist/stories/halo-recovery.stories.js.map +1 -1
  38. package/dist/stories/helpers/ContactsSelector.js.map +1 -1
  39. package/dist/stories/helpers/JsonPanel.js.map +1 -1
  40. package/dist/stories/party-invitations.stories.js +3 -3
  41. package/dist/stories/party-invitations.stories.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/out/book/esbuild-server-book.js +195394 -0
  44. package/out/book/index.html +14 -0
  45. package/package.json +16 -14
  46. package/react-client.build.log +21 -0
  47. package/src/containers/BotFactoryClientProvider.tsx +1 -1
  48. package/src/hooks/client/index.ts +1 -0
  49. package/src/hooks/client/useDevtools.ts +10 -0
  50. package/src/hooks/echo-queries/useContacts.ts +1 -1
  51. package/src/hooks/echo-queries/useParties.ts +1 -1
  52. package/src/hooks/invitations/usePartyInvitations.ts +1 -1
  53. package/src/hooks/util/index.ts +1 -0
  54. package/src/hooks/util/useResultSet.ts +1 -0
  55. package/src/hooks/util/useStream.ts +25 -0
  56. package/stories/client.stories.tsx +6 -6
  57. package/stories/halo-recovery.stories.tsx +12 -13
  58. package/stories/helpers/ContactsSelector.tsx +16 -16
  59. package/stories/helpers/JsonPanel.tsx +11 -11
  60. package/stories/party-invitations.stories.tsx +2 -2
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link rel="stylesheet" href="esbuild-server-book.css">
8
+ <title>ESBuild-Server Book</title>
9
+ </head>
10
+ <body>
11
+ <div id='root'></div>
12
+ <script src='esbuild-server-book.js'></script>
13
+ </body>
14
+ </html>
package/package.json CHANGED
@@ -1,31 +1,33 @@
1
1
  {
2
2
  "name": "@dxos/react-client",
3
- "version": "2.33.7-dev.c7ce8f32",
3
+ "version": "2.33.7",
4
4
  "description": "React client API",
5
5
  "license": "MIT",
6
6
  "author": "DXOS.org",
7
7
  "main": "dist/src/index.js",
8
8
  "types": "dist/src/index.d.ts",
9
9
  "dependencies": {
10
- "@dxos/async": "2.33.7-dev.c7ce8f32",
11
- "@dxos/bot-factory-client": "2.33.7-dev.c7ce8f32",
12
- "@dxos/client": "2.33.7-dev.c7ce8f32",
13
- "@dxos/config": "2.33.7-dev.c7ce8f32",
14
- "@dxos/credentials": "2.33.7-dev.c7ce8f32",
15
- "@dxos/crypto": "2.33.7-dev.c7ce8f32",
16
- "@dxos/debug": "2.33.7-dev.c7ce8f32",
17
- "@dxos/echo-db": "2.33.7-dev.c7ce8f32",
18
- "@dxos/network-manager": "2.33.7-dev.c7ce8f32",
19
- "@dxos/react-async": "2.33.7-dev.c7ce8f32",
20
- "@dxos/util": "2.33.7-dev.c7ce8f32",
10
+ "@dxos/async": "2.33.7",
11
+ "@dxos/bot-factory-client": "2.33.7",
12
+ "@dxos/client": "2.33.7",
13
+ "@dxos/config": "2.33.7",
14
+ "@dxos/codec-protobuf": "2.33.7",
15
+ "@dxos/credentials": "2.33.7",
16
+ "@dxos/debug": "2.33.7",
17
+ "@dxos/echo-db": "2.33.7",
18
+ "@dxos/network-manager": "2.33.7",
19
+ "@dxos/protocols": "2.33.7",
20
+ "@dxos/react-async": "2.33.7",
21
+ "@dxos/util": "2.33.7",
21
22
  "assert": "^2.0.0",
22
23
  "debug": "^4.3.3",
23
24
  "use-subscription": "^1.8.0"
24
25
  },
25
26
  "devDependencies": {
27
+ "@dxos/crypto": "2.33.7",
26
28
  "@dxos/esbuild-plugins": "~2.28.10",
27
- "@dxos/eslint-plugin": "~1.0.33",
28
- "@dxos/protocols-toolchain": "2.33.6",
29
+ "@dxos/eslint-plugin": "~1.0.34",
30
+ "@dxos/protocols-toolchain": "2.33.7",
29
31
  "@mui/material": "^5.8.1",
30
32
  "@playwright/test": "^1.14.1",
31
33
  "@testing-library/react": "^11.0.4",
@@ -0,0 +1,21 @@
1
+ Invoking: toolchain build:test
2
+
3
+ Tests started
4
+ Typescript
5
+ OK in 12285 ms
6
+ no problems
7
+ OK in 9338 ms
8
+
9
+ Mocha Tests
10
+
11
+
12
+ useSelection
13
+ Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot
14
+ ✓ gets updated items selection (297ms)
15
+
16
+
17
+ 1 passing (306ms)
18
+
19
+ OK in 2819 ms
20
+
21
+ Tests complete in 24473 ms
@@ -5,8 +5,8 @@
5
5
  import React, { ReactNode, useState } from 'react';
6
6
 
7
7
  import { BotFactoryClient } from '@dxos/bot-factory-client';
8
- import { PublicKey } from '@dxos/crypto';
9
8
  import { raise } from '@dxos/debug';
9
+ import { PublicKey } from '@dxos/protocols';
10
10
  import { useAsyncEffect } from '@dxos/react-async';
11
11
 
12
12
  import { BotFactoryClientContext, createBotFactoryClient, useConfig } from '../hooks';
@@ -5,4 +5,5 @@
5
5
  export * from './context';
6
6
  export * from './useClient';
7
7
  export * from './useConfig';
8
+ export * from './useDevtools';
8
9
  export * from './useProfile';
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import { useClient } from '../client';
6
+
7
+ export const useDevtools = () => {
8
+ const client = useClient();
9
+ return client.services.DevtoolsHost;
10
+ };
@@ -32,5 +32,5 @@ export const useContacts = () => {
32
32
  };
33
33
  }, []);
34
34
 
35
- return [contacts];
35
+ return contacts;
36
36
  };
@@ -5,7 +5,7 @@
5
5
  import { useEffect, useState } from 'react';
6
6
 
7
7
  import { Party } from '@dxos/client';
8
- import { PublicKeyLike } from '@dxos/crypto';
8
+ import { PublicKeyLike } from '@dxos/protocols';
9
9
 
10
10
  import { useClient } from '../client';
11
11
 
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { PartyProxy } from '@dxos/client';
6
- import { PublicKey } from '@dxos/crypto';
6
+ import { PublicKey } from '@dxos/protocols';
7
7
 
8
8
  import { useParty } from '../echo-queries';
9
9
  import { useInvitations } from './useInvitations';
@@ -3,3 +3,4 @@
3
3
  //
4
4
 
5
5
  export * from './useResultSet';
6
+ export * from './useStream';
@@ -11,6 +11,7 @@ import { ResultSet } from '@dxos/client';
11
11
  * A convenience hook used for subscribing to changing values of a result set.
12
12
  * Result sets are reactive query results from ECHO.
13
13
  * @param resultSet The result set to subscribe to
14
+ * @deprecated
14
15
  * @returns Always up-to-date value of the result set
15
16
  */
16
17
  export const useResultSet = <T>(resultSet: ResultSet<T>): T[] => useSubscription(useMemo(() => ({
@@ -0,0 +1,25 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ import { DependencyList, useState, useEffect } from 'react';
6
+
7
+ import { Stream } from '@dxos/codec-protobuf';
8
+
9
+ /**
10
+ * Subscribe to service API streams.
11
+ */
12
+ export const useStream = <T>(
13
+ streamFactory: () => Stream<T>,
14
+ defaultValue: T,
15
+ deps: DependencyList = []
16
+ ): T => {
17
+ const [value, setValue] = useState<T | undefined>(defaultValue);
18
+ useEffect(() => {
19
+ const stream = streamFactory();
20
+ stream.subscribe((response: T) => setValue(response));
21
+ return () => stream.close();
22
+ }, deps);
23
+
24
+ return value ?? defaultValue;
25
+ };
@@ -26,13 +26,13 @@ const TestApp = () => {
26
26
  };
27
27
 
28
28
  export const Primary = () => (
29
- <ClientProvider>
30
- <TestApp />
31
- </ClientProvider>
29
+ <ClientProvider>
30
+ <TestApp />
31
+ </ClientProvider>
32
32
  );
33
33
 
34
34
  export const Secondary = () => (
35
- <ClientProvider config={() => ({})}>
36
- <TestApp />
37
- </ClientProvider>
35
+ <ClientProvider config={() => ({})}>
36
+ <TestApp />
37
+ </ClientProvider>
38
38
  );
@@ -31,7 +31,6 @@ const HaloCreationContainer = () => {
31
31
  const handleCreateHalo = async () => {
32
32
  const seedPhrase = generateSeedPhrase();
33
33
  const keyPair = keyPairFromSeedPhrase(seedPhrase);
34
-
35
34
  await client.halo.createProfile({ ...keyPair });
36
35
  setSeed(seedPhrase);
37
36
  };
@@ -109,16 +108,16 @@ const TestApp = () => {
109
108
  };
110
109
 
111
110
  export const HaloRecovery = () => (
112
- <Container>
113
- <Box sx={{ display: 'flex', flex: 1, padding: 1, justifyContent: 'space-around' }}>
114
- {/* Instantiated Client. */}
115
- <ClientProvider>
116
- <TestApp />
117
- </ClientProvider>
118
-
119
- <ClientProvider>
120
- <TestApp />
121
- </ClientProvider>
122
- </Box>
123
- </Container>
111
+ <Container>
112
+ <Box sx={{ display: 'flex', flex: 1, padding: 1, justifyContent: 'space-around' }}>
113
+ {/* Instantiated Client. */}
114
+ <ClientProvider>
115
+ <TestApp />
116
+ </ClientProvider>
117
+
118
+ <ClientProvider>
119
+ <TestApp />
120
+ </ClientProvider>
121
+ </Box>
122
+ </Container>
124
123
  );
@@ -16,20 +16,20 @@ export const ContactsSelector = ({ contacts, selected = '', onSelect }: {
16
16
  selected?: string,
17
17
  onSelect: (selected: string) => void
18
18
  }) => (
19
- <FormControl fullWidth>
20
- <InputLabel id='contact-select-label'>Contact</InputLabel>
21
- <Select
22
- value={selected || ''}
23
- label='Contact'
24
- labelId='contact-select-label'
25
- onChange={(event: SelectChangeEvent) => onSelect(event.target.value)}
26
- >
27
- <MenuItem value='' />
28
- {contacts.map(contact => (
29
- <MenuItem key={contact.publicKey.toHex()} value={contact.publicKey.toHex()}>
30
- {contact.displayName}
31
- </MenuItem>
32
- ))}
33
- </Select>
34
- </FormControl>
19
+ <FormControl fullWidth>
20
+ <InputLabel id='contact-select-label'>Contact</InputLabel>
21
+ <Select
22
+ value={selected || ''}
23
+ label='Contact'
24
+ labelId='contact-select-label'
25
+ onChange={(event: SelectChangeEvent) => onSelect(event.target.value)}
26
+ >
27
+ <MenuItem value='' />
28
+ {contacts.map(contact => (
29
+ <MenuItem key={contact.publicKey.toHex()} value={contact.publicKey.toHex()}>
30
+ {contact.displayName}
31
+ </MenuItem>
32
+ ))}
33
+ </Select>
34
+ </FormControl>
35
35
  );
@@ -5,15 +5,15 @@
5
5
  import React from 'react';
6
6
 
7
7
  export const JsonPanel = ({ value }: { value: any }) => (
8
- <pre
9
- style={{
10
- margin: 0,
11
- // code whiteSpace: 'pre-wrap',
12
- // code wordBreak: 'break-all',
13
- overflow: 'hidden',
14
- textOverflow: 'ellipsis'
15
- }}
16
- >
17
- {JSON.stringify(value, undefined, 2)}
18
- </pre>
8
+ <pre
9
+ style={{
10
+ margin: 0,
11
+ // code whiteSpace: 'pre-wrap',
12
+ // code wordBreak: 'break-all',
13
+ overflow: 'hidden',
14
+ textOverflow: 'ellipsis'
15
+ }}
16
+ >
17
+ {JSON.stringify(value, undefined, 2)}
18
+ </pre>
19
19
  );
@@ -9,7 +9,7 @@ import {
9
9
  } from '@mui/material';
10
10
 
11
11
  import { PartyInvitation, InvitationDescriptor } from '@dxos/client';
12
- import { PublicKey } from '@dxos/crypto';
12
+ import { PublicKey } from '@dxos/protocols';
13
13
  import { useAsyncEffect } from '@dxos/react-async';
14
14
 
15
15
  import {
@@ -40,7 +40,7 @@ const PartyInvitationContainer = () => {
40
40
  const [partyKey, setPartyKey] = useState<PublicKey>();
41
41
  const [invitationCode, setInvitationCode] = useState<string>();
42
42
  const [contact, setContact] = useState<string>();
43
- const [contacts] = useContacts();
43
+ const contacts = useContacts();
44
44
  const [pin, setPin] = useState('');
45
45
 
46
46
  const resetInvitations = () => {