Skip to content

Commit e633109

Browse files
committed
fix: drafts issue
1 parent d09e2a2 commit e633109

File tree

8 files changed

+189
-171
lines changed

8 files changed

+189
-171
lines changed

examples/TypeScriptMessaging/App.tsx

Lines changed: 80 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
import React, { useContext, useEffect, useMemo, useState } from 'react';
2-
import { I18nManager, LogBox, Platform, SafeAreaView, useColorScheme, View } from 'react-native';
2+
import {
3+
DevSettings,
4+
I18nManager,
5+
LogBox,
6+
Platform,
7+
SafeAreaView,
8+
useColorScheme,
9+
View,
10+
} from 'react-native';
311
import { DarkTheme, DefaultTheme, NavigationContainer, RouteProp } from '@react-navigation/native';
412
import { createStackNavigator, StackNavigationProp } from '@react-navigation/stack';
513
import { useHeaderHeight } from '@react-navigation/elements';
@@ -17,6 +25,7 @@ import {
1725
Thread,
1826
ThreadContextValue,
1927
useAttachmentPickerContext,
28+
useChatContext,
2029
useCreateChatClient,
2130
useOverlayContext,
2231
} from 'stream-chat-react-native';
@@ -36,9 +45,12 @@ const options = {
3645

3746
I18nManager.forceRTL(false);
3847

39-
SqliteClient.logger = (level, message, extraData) => {
40-
console.log(level, `SqliteClient: ${message}`, extraData);
41-
};
48+
if (__DEV__) {
49+
DevSettings.addMenuItem('Reset local DB (offline storage)', () => {
50+
SqliteClient.resetDB();
51+
console.info('Local DB reset');
52+
});
53+
}
4254

4355
const apiKey = 'q95x9hkbyd6p';
4456
const userToken =
@@ -53,11 +65,7 @@ const filters = {
5365
type: 'messaging',
5466
};
5567

56-
const sort: ChannelSort = [
57-
{ pinned_at: -1 },
58-
{ last_message_at: -1 },
59-
{ updated_at: -1 },
60-
];
68+
const sort: ChannelSort = [{ pinned_at: -1 }, { last_message_at: -1 }, { updated_at: -1 }];
6169

6270
/**
6371
* Start playing with streami18n instance here:
@@ -98,7 +106,7 @@ type ChannelScreenProps = {
98106
const EmptyHeader = () => <></>;
99107

100108
const ChannelScreen: React.FC<ChannelScreenProps> = ({ navigation }) => {
101-
const { channel, setThread, thread } = useContext(AppContext);
109+
const { channel, setThread } = useContext(AppContext);
102110
const headerHeight = useHeaderHeight();
103111
const { setTopInset } = useAttachmentPickerContext();
104112
const { overlay } = useOverlayContext();
@@ -119,12 +127,7 @@ const ChannelScreen: React.FC<ChannelScreenProps> = ({ navigation }) => {
119127

120128
return (
121129
<SafeAreaView>
122-
<Channel
123-
audioRecordingEnabled={true}
124-
channel={channel}
125-
keyboardVerticalOffset={headerHeight}
126-
thread={thread}
127-
>
130+
<Channel audioRecordingEnabled={true} channel={channel} keyboardVerticalOffset={headerHeight}>
128131
<View style={{ flex: 1 }}>
129132
<MessageList
130133
onThreadSelect={(selectedThread) => {
@@ -150,6 +153,17 @@ const ThreadScreen: React.FC<ThreadScreenProps> = ({ navigation }) => {
150153
const { channel, setThread, thread } = useContext(AppContext);
151154
const headerHeight = useHeaderHeight();
152155
const { overlay } = useOverlayContext();
156+
const { client } = useChatContext();
157+
158+
useEffect(() => {
159+
client.setMessageComposerSetupFunction(({ composer }) => {
160+
composer.updateConfig({
161+
drafts: {
162+
enabled: true,
163+
},
164+
});
165+
});
166+
}, [client]);
153167

154168
useEffect(() => {
155169
navigation.setOptions({
@@ -193,18 +207,62 @@ const Stack = createStackNavigator<NavigationParamsList>();
193207
type AppContextType = {
194208
channel: ChannelType | undefined;
195209
setChannel: React.Dispatch<React.SetStateAction<ChannelType | undefined>>;
196-
setThread: React.Dispatch<
197-
React.SetStateAction<ThreadContextValue['thread'] | undefined>
198-
>;
210+
setThread: React.Dispatch<React.SetStateAction<ThreadContextValue['thread'] | undefined>>;
199211
thread: ThreadContextValue['thread'] | undefined;
200212
};
201213

202214
const AppContext = React.createContext({} as AppContextType);
203215

216+
const NavigatorModule = () => {
217+
const { channel } = useContext(AppContext);
218+
const { client } = useChatContext();
219+
220+
useEffect(() => {
221+
client.setMessageComposerSetupFunction(({ composer }) => {
222+
composer.updateConfig({
223+
drafts: {
224+
enabled: true,
225+
},
226+
});
227+
});
228+
}, [client]);
229+
230+
return (
231+
<Stack.Navigator
232+
initialRouteName='ChannelList'
233+
screenOptions={{
234+
headerTitleStyle: { alignSelf: 'center', fontWeight: 'bold' },
235+
}}
236+
>
237+
<Stack.Screen
238+
component={ChannelScreen}
239+
name='Channel'
240+
options={() => ({
241+
headerBackTitle: 'Back',
242+
headerRight: EmptyHeader,
243+
headerTitle: channel?.data?.name,
244+
})}
245+
/>
246+
<Stack.Screen
247+
component={ChannelListScreen}
248+
name='ChannelList'
249+
options={{ headerTitle: 'Channel List' }}
250+
/>
251+
<Stack.Screen
252+
component={ThreadScreen}
253+
name='Thread'
254+
options={() => ({
255+
headerBackTitle: 'Back',
256+
headerRight: EmptyHeader,
257+
})}
258+
/>
259+
</Stack.Navigator>
260+
);
261+
};
262+
204263
const App = () => {
205264
const { bottom } = useSafeAreaInsets();
206265
const theme = useStreamChatTheme();
207-
const { channel } = useContext(AppContext);
208266

209267
const chatClient = useCreateChatClient({
210268
apiKey,
@@ -217,38 +275,9 @@ const App = () => {
217275
}
218276

219277
return (
220-
<OverlayProvider
221-
bottomInset={bottom}
222-
i18nInstance={streami18n}
223-
value={{ style: theme }}
224-
>
278+
<OverlayProvider bottomInset={bottom} i18nInstance={streami18n} value={{ style: theme }}>
225279
<Chat client={chatClient} i18nInstance={streami18n} enableOfflineSupport>
226-
<Stack.Navigator
227-
initialRouteName='ChannelList'
228-
screenOptions={{
229-
headerTitleStyle: { alignSelf: 'center', fontWeight: 'bold' },
230-
}}
231-
>
232-
<Stack.Screen
233-
component={ChannelScreen}
234-
name='Channel'
235-
options={() => ({
236-
headerBackTitle: 'Back',
237-
headerRight: EmptyHeader,
238-
headerTitle: channel?.data?.name,
239-
})}
240-
/>
241-
<Stack.Screen
242-
component={ChannelListScreen}
243-
name='ChannelList'
244-
options={{ headerTitle: 'Channel List' }}
245-
/>
246-
<Stack.Screen
247-
component={ThreadScreen}
248-
name='Thread'
249-
options={() => ({ headerLeft: EmptyHeader })}
250-
/>
251-
</Stack.Navigator>
280+
<NavigatorModule />
252281
</Chat>
253282
</OverlayProvider>
254283
);

examples/TypeScriptMessaging/ios/Podfile.lock

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -2329,84 +2329,84 @@ SPEC CHECKSUMS:
23292329
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
23302330
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
23312331
hermes-engine: b417d2b2aee3b89b58e63e23a51e02be91dc876d
2332-
op-sqlite: c33561ea312a2ae38aae032fd3a42635dc6b57e8
2332+
op-sqlite: 2e34a191af7e843608357671c94a6e2befd4b986
23332333
RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82
23342334
RCTDeprecation: b2eecf2d60216df56bc5e6be5f063826d3c1ee35
23352335
RCTRequired: 78522de7dc73b81f3ed7890d145fa341f5bb32ea
23362336
RCTTypeSafety: c135dd2bf50402d87fd12884cbad5d5e64850edd
23372337
React: b229c49ed5898dab46d60f61ed5a0bfa2ee2fadb
23382338
React-callinvoker: 2ac508e92c8bd9cf834cc7d7787d94352e4af58f
23392339
React-Codegen: 4b8b4817cea7a54b83851d4c1f91f79aa73de30a
2340-
React-Core: 13cdd1558d0b3f6d9d5a22e14d89150280e79f02
2341-
React-CoreModules: b07a6744f48305405e67c845ebf481b6551b712a
2342-
React-cxxreact: 1055a86c66ac35b4e80bd5fb766aed5f494dfff4
2340+
React-Core: 325b4f6d9162ae8b9a6ff42fe78e260eb124180d
2341+
React-CoreModules: 558041e5258f70cd1092f82778d07b8b2ff01897
2342+
React-cxxreact: 8fff17cbe76e6a8f9991b59552e1235429f9c74b
23432343
React-debug: 0a5fcdbacc6becba0521e910c1bcfdb20f32a3f6
2344-
React-defaultsnativemodule: 4bb28fc97fee5be63a9ebf8f7a435cfe8ba69459
2345-
React-domnativemodule: b36a11c2597243d7563985028c51ece988d8ae33
2346-
React-Fabric: afc561718f25b2cd800b709d934101afe376a12c
2347-
React-FabricComponents: f4e0a4e18a27bf6d39cbf2a0b42f37a92fa4e37f
2348-
React-FabricImage: 37d8e8b672eda68a19d71143eb65148084efb325
2344+
React-defaultsnativemodule: 618dc50a0fad41b489997c3eb7aba3a74479fd14
2345+
React-domnativemodule: 7ba599afb6c2a7ec3eb6450153e2efe0b8747e9a
2346+
React-Fabric: 252112089d2c63308f4cbfade4010b6606db67d1
2347+
React-FabricComponents: 3c0f75321680d14d124438ab279c64ec2a3d13c4
2348+
React-FabricImage: 728b8061cdec2857ca885fd605ee03ad43ffca98
23492349
React-featureflags: 19682e02ef5861d96b992af16a19109c3dfc1200
2350-
React-featureflagsnativemodule: d7cddf6d907b4e5ab84f9e744b7e88461656e48c
2351-
React-graphics: b0f78580cdaf5800d25437e3d41cc6c3d83b7aea
2352-
React-hermes: 71186f872c932e4574d5feb3ed754dda63a0b3bd
2353-
React-idlecallbacksnativemodule: dd2af19cdd3bc55149d17a2409ed72b694dfbe9c
2354-
React-ImageManager: a77dde8d5aa6a2b6962c702bf3a47695ef0aa32b
2355-
React-jserrorhandler: 9c14e89f12d5904257a79aaf84a70cd2e5ac07ba
2356-
React-jsi: 0775a66820496769ad83e629f0f5cce621a57fc7
2357-
React-jsiexecutor: 2cf5ba481386803f3c88b85c63fa102cba5d769e
2358-
React-jsinspector: 8052d532bb7a98b6e021755674659802fb140cc5
2359-
React-jsinspectortracing: bdd8fd0adcb4813663562e7874c5842449df6d8a
2360-
React-jsitracing: 2bab3bf55de3d04baf205def375fa6643c47c794
2361-
React-logger: 795cd5055782db394f187f9db0477d4b25b44291
2362-
React-Mapbuffer: 0502faf46cab8fb89cfc7bf3e6c6109b6ef9b5de
2363-
React-microtasksnativemodule: 663bc64e3a96c5fc91081923ae7481adc1359a78
2364-
react-native-blob-util: fa67658b21ee53bf62a54741a74c441c0e3f2c90
2365-
react-native-document-picker: 5cb1c6615796389f4f1b7fe2e4f103e38e4d6398
2366-
react-native-image-picker: 0452fc9efc21101946746663bf34e0db5741f00c
2367-
react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac
2368-
react-native-safe-area-context: 9c33120e9eac7741a5364cc2d9f74665049b76b3
2369-
react-native-video: c95c10cdac8541f74bd92194dd6a8137ebe6a19d
2370-
React-NativeModulesApple: 16fbd5b040ff6c492dacc361d49e63cba7a6a7a1
2371-
React-perflogger: ab51b7592532a0ea45bf6eed7e6cae14a368b678
2372-
React-performancetimeline: bc2e48198ec814d578ac8401f65d78a574358203
2350+
React-featureflagsnativemodule: 23528c7e7d50782b7ef0804168ba40bbaf1e86ab
2351+
React-graphics: fefe48f71bfe6f48fd037f59e8277b12e91b6be1
2352+
React-hermes: a9a0c8377627b5506ef9a7b6f60a805c306e3f51
2353+
React-idlecallbacksnativemodule: 7e2b6a3b70e042f89cd91dbd73c479bb39a72a7e
2354+
React-ImageManager: e3300996ac2e2914bf821f71e2f2c92ae6e62ae2
2355+
React-jserrorhandler: fa75876c662e5d7e79d6efc763fc9f4c88e26986
2356+
React-jsi: f3f51595cc4c089037b536368f016d4742bf9cf7
2357+
React-jsiexecutor: cca6c232db461e2fd213a11e9364cfa6fdaa20eb
2358+
React-jsinspector: 2bd4c9fddf189d6ec2abf4948461060502582bef
2359+
React-jsinspectortracing: a417d8a0ad481edaa415734b4dac81e3e5ee7dc6
2360+
React-jsitracing: 1ff7172c5b0522cbf6c98d82bdbb160e49b5804e
2361+
React-logger: 018826bfd51b9f18e87f67db1590bc510ad20664
2362+
React-Mapbuffer: 3c11cee7737609275c7b66bd0b1de475f094cedf
2363+
React-microtasksnativemodule: 843f352b32aacbe13a9c750190d34df44c3e6c2c
2364+
react-native-blob-util: f82bbc6f071231ae76e1c03b77290de1781df313
2365+
react-native-document-picker: 8663632f183816c420ea0c462711d1abc19ac936
2366+
react-native-image-picker: df2b20cdfa981f7288f4019774d9baa26a4772c1
2367+
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
2368+
react-native-safe-area-context: 7e513d737b0b5c1d10bbe0e5fcc9f925a7be144c
2369+
react-native-video: b0fc63469ac8cab3bae8e0e7368ba940e425f8a4
2370+
React-NativeModulesApple: 88433b6946778bea9c153e27b671de15411bf225
2371+
React-perflogger: 9e8d3c0dc0194eb932162812a168aa5dc662f418
2372+
React-performancetimeline: 5a2d6efef52bdcefac079c7baa30934978acd023
23732373
React-RCTActionSheet: 592674cf61142497e0e820688f5a696e41bf16dd
2374-
React-RCTAnimation: 8fbb8dba757b49c78f4db403133ab6399a4ce952
2375-
React-RCTAppDelegate: 7f88baa8cb4e5d6c38bb4d84339925c70c9ac864
2376-
React-RCTBlob: f89b162d0fe6b570a18e755eb16cbe356d3c6d17
2377-
React-RCTFabric: 8ad6d875abe6e87312cef90e4b15ef7f6bed72e6
2378-
React-RCTFBReactNativeSpec: 8c29630c2f379c729300e4c1e540f3d1b78d1936
2379-
React-RCTImage: ccac9969940f170503857733f9a5f63578e106e1
2380-
React-RCTLinking: d82427bbf18415a3732105383dff119131cadd90
2381-
React-RCTNetwork: 12ad4d0fbde939e00251ca5ca890da2e6825cc3c
2382-
React-RCTSettings: e7865bf9f455abf427da349c855f8644b5c39afa
2383-
React-RCTText: 2cdfd88745059ec3202a0842ea75a956c7d6f27d
2384-
React-RCTVibration: a3a1458e6230dfd64b3768ebc0a4aac430d9d508
2374+
React-RCTAnimation: e6d669872f9b3b4ab9527aab283b7c49283236b7
2375+
React-RCTAppDelegate: de2343fe08be4c945d57e0ecce44afcc7dd8fc03
2376+
React-RCTBlob: 3e2dce94c56218becc4b32b627fc2293149f798d
2377+
React-RCTFabric: cac2c033381d79a5956e08550b0220cb2d78ea93
2378+
React-RCTFBReactNativeSpec: d10ca5e0ccbfeac8c047361fedf8e4ac653887b6
2379+
React-RCTImage: dc04b176c022d12a8f55ae7a7279b1e091066ae0
2380+
React-RCTLinking: 88f5e37fe4f26fbc80791aa2a5f01baf9b9a3fd5
2381+
React-RCTNetwork: f213693565efbd698b8e9c18d700a514b49c0c8e
2382+
React-RCTSettings: a2d32a90c45a3575568cad850abc45924999b8a5
2383+
React-RCTText: 54cdcd1cbf6f6a91dc6317f5d2c2b7fc3f6bf7a0
2384+
React-RCTVibration: 11dae0e7f577b5807bb7d31e2e881eb46f854fd4
23852385
React-rendererconsistency: 64e897e00d2568fd8dfe31e2496f80e85c0aaad1
2386-
React-rendererdebug: a3f6d3ae7d2fa0035885026756281c07ee32479e
2386+
React-rendererdebug: 41ce452460c44bba715d9e41d5493a96de277764
23872387
React-rncore: 58748c2aa445f56b99e5118dad0aedb51c40ce9f
2388-
React-RuntimeApple: f0fda7bacabd32daa099cfda8f07466c30acd149
2389-
React-RuntimeCore: 683ee0b6a76d4b4bf6fbf83a541895b4887cc636
2388+
React-RuntimeApple: 7785ed0d8ae54da65a88736bb63ca97608a6d933
2389+
React-RuntimeCore: 6029ea70bc77f98cfd43ebe69217f14e93ba1f12
23902390
React-runtimeexecutor: a188df372373baf5066e6e229177836488799f80
2391-
React-RuntimeHermes: 907c8e9bec13ea6466b94828c088c24590d4d0b6
2392-
React-runtimescheduler: a2e2a39125dd6426b5d8b773f689d660cd7c5f60
2391+
React-RuntimeHermes: a264609c28b796edfffc8ae4cb8fad1773ab948b
2392+
React-runtimescheduler: 23ec3a1e0fb1ec752d1a9c1fb15258c30bfc7222
23932393
React-timing: bb220a53a795ed57976a4855c521f3de2f298fe5
2394-
React-utils: 300d8bbb6555dcffaca71e7a0663201b5c7edbbc
2395-
ReactAppDependencyProvider: f2e81d80afd71a8058589e19d8a134243fa53f17
2396-
ReactCodegen: a63a0ab6ae824aef2e8c744981edd718b16eb9f2
2397-
ReactCommon: 3d39389f8e2a2157d5c999f8fba57bd1c8f226f0
2398-
RNAudioRecorderPlayer: 224c7de87722938aedce04000d09baa633148f5b
2399-
RNCClipboard: 7659a79c651d0e889bbd533dcc8bc8ff1e98ed70
2400-
RNGestureHandler: 9b05fab9a0b48fe48c968de7dbb9ca38a2b4f7ab
2401-
RNReactNativeHapticFeedback: 5fdbbaedabc1698dc3bb2a72105fadf63136a451
2402-
RNReanimated: ff71ce0443c71c8a77501ace7b9738ede83cfa55
2403-
RNScreens: 991214b4e69016c1ae32830d9cea31c9c9422367
2404-
RNShare: 6b1ee93f4fce1346c7c299c3107af20af05120b4
2405-
RNSVG: 8588ee1ca9b2e6fd2c99466e35b3db0e9f81bb40
2394+
React-utils: 3b054aaebe658fc710a8d239d0e4b9fd3e0b78f9
2395+
ReactAppDependencyProvider: a1fb08dfdc7ebc387b2e54cfc9decd283ed821d8
2396+
ReactCodegen: 008c319179d681a6a00966edfc67fda68f9fbb2e
2397+
ReactCommon: 0c097b53f03d6bf166edbcd0915da32f3015dd90
2398+
RNAudioRecorderPlayer: 11df0c7b614e9767ef24d896465c3a758c592de7
2399+
RNCClipboard: f13dd3ceae005858e137ae9e70f3c414e174ff81
2400+
RNGestureHandler: 8b1080a6db0be82dbca18550d6212b885bfab6b2
2401+
RNReactNativeHapticFeedback: 66c6b0cf19f5d9dae8be36b2336e1fe2a2e42566
2402+
RNReanimated: 6383cd0d805e48768b97bd65bcb1d06f0e69ab8e
2403+
RNScreens: 0d4cb9afe052607ad0aa71f645a88bb7c7f2e64c
2404+
RNShare: 56b5431c60e1e9ee167191f4f327471af1c2941a
2405+
RNSVG: 8126581b369adf6a0004b6a6cab1a55e3002d5b0
24062406
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2407-
stream-chat-react-native: 29e40497a833dc204a6583a967dd6e4e105e0a0a
2407+
stream-chat-react-native: 54f4c8dafb167d76657b49f8a27ee6dacc925eb8
24082408
Yoga: afd04ff05ebe0121a00c468a8a3c8080221cb14c
24092409

24102410
PODFILE CHECKSUM: 6b7a4b74915b42bfe4ffddaf67cbf5e7a2bfeab3
24112411

2412-
COCOAPODS: 1.14.3
2412+
COCOAPODS: 1.16.2

examples/TypeScriptMessaging/yarn.lock

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6958,7 +6958,7 @@ stream-chat-react-native-core@7.1.0:
69586958
version "0.0.0"
69596959
uid ""
69606960

6961-
stream-chat@^9.2.0:
6961+
stream-chat@^9.2.0, stream-chat@^9.3.0:
69626962
version "9.3.0"
69636963
resolved "https://registry.yarnpkg.com/stream-chat/-/stream-chat-9.3.0.tgz#35ca4db9e841eb92d07413ae156de0500ad77b23"
69646964
integrity sha512-S73B3HrvmQvJjq58Zjo50vh74juhsWsVRpT+OBjGAxSGxlA+ITkZ3vKs8Y/r2eDK7mBTMmX5QCruFaDJH5dRuw==
@@ -6973,20 +6973,6 @@ stream-chat@^9.2.0:
69736973
linkifyjs "^4.2.0"
69746974
ws "^8.18.1"
69756975

6976-
stream-chat@getstream/stream-chat-js#handle-command-injection:
6977-
version "0.0.0-development"
6978-
resolved "https://codeload.github.com/getstream/stream-chat-js/tar.gz/780c52cfc3cd7379273a9b8db34461fb935f568d"
6979-
dependencies:
6980-
"@types/jsonwebtoken" "^9.0.8"
6981-
"@types/ws" "^8.5.14"
6982-
axios "^1.6.0"
6983-
base64-js "^1.5.1"
6984-
form-data "^4.0.0"
6985-
isomorphic-ws "^5.0.0"
6986-
jsonwebtoken "^9.0.2"
6987-
linkifyjs "^4.2.0"
6988-
ws "^8.18.1"
6989-
69906976
strict-uri-encode@^2.0.0:
69916977
version "2.0.0"
69926978
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"

package/expo-package/yarn.lock

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4787,9 +4787,10 @@ stream-buffers@2.2.x, stream-buffers@~2.2.0:
47874787
version "0.0.0"
47884788
uid ""
47894789

4790-
stream-chat@getstream/stream-chat-js#handle-command-injection:
4791-
version "0.0.0-development"
4792-
resolved "https://codeload.github.com/getstream/stream-chat-js/tar.gz/780c52cfc3cd7379273a9b8db34461fb935f568d"
4790+
stream-chat@^9.3.0:
4791+
version "9.3.0"
4792+
resolved "https://registry.yarnpkg.com/stream-chat/-/stream-chat-9.3.0.tgz#35ca4db9e841eb92d07413ae156de0500ad77b23"
4793+
integrity sha512-S73B3HrvmQvJjq58Zjo50vh74juhsWsVRpT+OBjGAxSGxlA+ITkZ3vKs8Y/r2eDK7mBTMmX5QCruFaDJH5dRuw==
47934794
dependencies:
47944795
"@types/jsonwebtoken" "^9.0.8"
47954796
"@types/ws" "^8.5.14"

0 commit comments

Comments
 (0)