@relaycast/react 4.2.0 → 5.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useChannel.d.ts","sourceRoot":"","sources":["../../src/hooks/useChannel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,aAAa,CAAC;AAInE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAiCzD"}
1
+ {"version":3,"file":"useChannel.d.ts","sourceRoot":"","sources":["../../src/hooks/useChannel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,aAAa,CAAC;AAInE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAwCzD"}
@@ -1,25 +1,34 @@
1
- import { useContext, useEffect, useSyncExternalStore } from 'react';
1
+ import { useContext, useEffect, useRef, useSyncExternalStore } from 'react';
2
2
  import { ClientContext, StoreContext } from '../context.js';
3
3
  const EMPTY = { channel: null, members: [], loading: true, error: null };
4
4
  export function useChannel(name) {
5
5
  const ctx = useContext(ClientContext);
6
6
  const store = useContext(StoreContext);
7
+ const requestSeq = useRef(0);
7
8
  if (!ctx || !store)
8
9
  throw new Error('useChannel must be used within <RelayProvider>');
9
10
  useEffect(() => {
11
+ const seq = ++requestSeq.current;
10
12
  store.updateChannelDetail(name, (prev) => ({ ...prev, loading: true }));
11
13
  ctx.agent.channels.get(name)
12
14
  .then((result) => {
15
+ if (seq !== requestSeq.current)
16
+ return;
13
17
  const { members, ...channel } = result;
14
18
  store.updateChannelDetail(name, () => ({ channel, members, loading: false, error: null }));
15
19
  })
16
20
  .catch((error) => {
21
+ if (seq !== requestSeq.current)
22
+ return;
17
23
  store.updateChannelDetail(name, (prev) => ({
18
24
  ...prev,
19
25
  loading: false,
20
26
  error: error instanceof Error ? error : new Error(String(error)),
21
27
  }));
22
28
  });
29
+ return () => {
30
+ requestSeq.current += 1;
31
+ };
23
32
  }, [name, ctx.agent, store]);
24
33
  const data = useSyncExternalStore(store.subscribe, () => store.getState().channelDetails[name] ?? EMPTY);
25
34
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useChannel.js","sourceRoot":"","sources":["../../src/hooks/useChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAExF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAExE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;YACvC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,IAAI;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,oBAAoB,CAC/B,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,CACrD,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useChannel.js","sourceRoot":"","sources":["../../src/hooks/useChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAExF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QACjC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAExE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACvC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;YACvC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACvC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,IAAI;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,oBAAoB,CAC/B,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,CACrD,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMessages.d.ts","sourceRoot":"","sources":["../../src/hooks/useMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAKtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAwD9D"}
1
+ {"version":3,"file":"useMessages.d.ts","sourceRoot":"","sources":["../../src/hooks/useMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAKtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CA+D9D"}
@@ -1,20 +1,26 @@
1
- import { useContext, useEffect, useCallback, useSyncExternalStore } from 'react';
1
+ import { useContext, useEffect, useCallback, useRef, useSyncExternalStore } from 'react';
2
2
  import { ClientContext, StoreContext } from '../context.js';
3
3
  import { sortMessagesChronologically } from '../adapters/messages.js';
4
4
  const EMPTY = { messages: [], loading: true, error: null };
5
5
  export function useMessages(channel) {
6
6
  const ctx = useContext(ClientContext);
7
7
  const store = useContext(StoreContext);
8
+ const requestSeq = useRef(0);
8
9
  if (!ctx || !store)
9
10
  throw new Error('useMessages must be used within <RelayProvider>');
10
11
  useEffect(() => {
12
+ const seq = ++requestSeq.current;
11
13
  store.updateChannelMessages(channel, (prev) => ({ ...prev, loading: true }));
12
14
  ctx.agent.messages(channel, { limit: 50 })
13
15
  .then((messages) => {
16
+ if (seq !== requestSeq.current)
17
+ return;
14
18
  const sortedMessages = sortMessagesChronologically(messages);
15
19
  store.updateChannelMessages(channel, () => ({ messages: sortedMessages, loading: false, error: null }));
16
20
  })
17
21
  .catch((error) => {
22
+ if (seq !== requestSeq.current)
23
+ return;
18
24
  store.updateChannelMessages(channel, (prev) => ({
19
25
  ...prev,
20
26
  loading: false,
@@ -23,11 +29,13 @@ export function useMessages(channel) {
23
29
  });
24
30
  ctx.ws.subscribe([channel]);
25
31
  return () => {
32
+ requestSeq.current += 1;
26
33
  ctx.ws.unsubscribe([channel]);
27
34
  };
28
35
  }, [channel, ctx.agent, ctx.ws, store]);
29
36
  const data = useSyncExternalStore(store.subscribe, () => store.getState().channelMessages[channel] ?? EMPTY);
30
37
  const fetchMore = useCallback(async () => {
38
+ const seq = requestSeq.current;
31
39
  const current = store.getState().channelMessages[channel];
32
40
  if (!current || current.messages.length === 0)
33
41
  return 0;
@@ -35,6 +43,8 @@ export function useMessages(channel) {
35
43
  if (!oldest)
36
44
  return 0;
37
45
  const older = await ctx.agent.messages(channel, { before: oldest.id, limit: 50 });
46
+ if (seq !== requestSeq.current)
47
+ return 0;
38
48
  if (older.length === 0)
39
49
  return 0;
40
50
  const sortedOlder = sortMessagesChronologically(older);
@@ -1 +1 @@
1
- {"version":3,"file":"useMessages.js","sourceRoot":"","sources":["../../src/hooks/useMessages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMessages.js","sourceRoot":"","sources":["../../src/hooks/useMessages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useThread.d.ts","sourceRoot":"","sources":["../../src/hooks/useThread.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAK/D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAmC5D"}
1
+ {"version":3,"file":"useThread.d.ts","sourceRoot":"","sources":["../../src/hooks/useThread.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAK/D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CA0C5D"}
@@ -1,27 +1,36 @@
1
- import { useContext, useEffect, useSyncExternalStore } from 'react';
1
+ import { useContext, useEffect, useRef, useSyncExternalStore } from 'react';
2
2
  import { ClientContext, StoreContext } from '../context.js';
3
3
  const EMPTY = { parent: null, replies: [], loading: true, error: null };
4
4
  const IDLE = { parent: null, replies: [], loading: false, error: null };
5
5
  export function useThread(messageId) {
6
6
  const ctx = useContext(ClientContext);
7
7
  const store = useContext(StoreContext);
8
+ const requestSeq = useRef(0);
8
9
  if (!ctx || !store)
9
10
  throw new Error('useThread must be used within <RelayProvider>');
10
11
  useEffect(() => {
11
12
  if (!messageId)
12
13
  return;
14
+ const seq = ++requestSeq.current;
13
15
  store.updateThread(messageId, (prev) => ({ ...prev, loading: true }));
14
16
  ctx.agent.thread(messageId)
15
17
  .then(({ parent, replies }) => {
18
+ if (seq !== requestSeq.current)
19
+ return;
16
20
  store.updateThread(messageId, () => ({ parent, replies, loading: false, error: null }));
17
21
  })
18
22
  .catch((error) => {
23
+ if (seq !== requestSeq.current)
24
+ return;
19
25
  store.updateThread(messageId, (prev) => ({
20
26
  ...prev,
21
27
  loading: false,
22
28
  error: error instanceof Error ? error : new Error(String(error)),
23
29
  }));
24
30
  });
31
+ return () => {
32
+ requestSeq.current += 1;
33
+ };
25
34
  }, [messageId, ctx.agent, store]);
26
35
  const fallback = messageId ? EMPTY : IDLE;
27
36
  const data = useSyncExternalStore(store.subscribe, () => store.getState().threads[messageId] ?? fallback);
@@ -1 +1 @@
1
- {"version":3,"file":"useThread.js","sourceRoot":"","sources":["../../src/hooks/useThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACpF,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEpF,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;aACxB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC5B,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,GAAG,IAAI;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,MAAM,IAAI,GAAG,oBAAoB,CAC/B,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,QAAQ,CACtD,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useThread.js","sourceRoot":"","sources":["../../src/hooks/useThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACpF,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEpF,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,GAAG,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QACjC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;aACxB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC5B,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACvC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACvC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,GAAG,IAAI;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,MAAM,IAAI,GAAG,oBAAoB,CAC/B,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,QAAQ,CACtD,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAOlD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAqDpH"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAO1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBA0EpH"}
package/dist/provider.js CHANGED
@@ -1,10 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useMemo } from 'react';
2
+ import { useEffect, useMemo, useRef } from 'react';
3
3
  import { RelayCast, WsClient } from '@relaycast/sdk';
4
4
  import { ClientContext, StoreContext } from './context.js';
5
5
  import { createStore } from './store.js';
6
6
  import { handleServerEvent } from './reducer.js';
7
7
  export function RelayProvider({ apiKey, agentToken, wsToken, baseUrl, channels, debug, children }) {
8
+ const channelKey = JSON.stringify(channels ?? []);
9
+ const subscribedChannels = useMemo(() => JSON.parse(channelKey), [channelKey]);
10
+ const subscribedChannelsRef = useRef(subscribedChannels);
8
11
  const clients = useMemo(() => {
9
12
  const relay = new RelayCast({ apiKey, baseUrl });
10
13
  const agent = relay.as(agentToken);
@@ -12,14 +15,18 @@ export function RelayProvider({ apiKey, agentToken, wsToken, baseUrl, channels,
12
15
  return { relay, agent, ws };
13
16
  }, [apiKey, agentToken, wsToken, baseUrl, debug]);
14
17
  const store = useMemo(() => createStore(), []);
18
+ useEffect(() => {
19
+ subscribedChannelsRef.current = subscribedChannels;
20
+ }, [subscribedChannels]);
15
21
  useEffect(() => {
16
22
  const { ws } = clients;
17
23
  store.setState({ connectionStatus: 'connecting' });
18
24
  ws.connect();
19
25
  const offOpen = ws.on('open', () => {
20
26
  store.setState({ connectionStatus: 'connected' });
21
- if (channels && channels.length > 0) {
22
- ws.subscribe(channels);
27
+ const currentChannels = subscribedChannelsRef.current;
28
+ if (currentChannels.length > 0) {
29
+ ws.subscribe(currentChannels);
23
30
  }
24
31
  });
25
32
  const offClose = ws.on('close', () => {
@@ -42,7 +49,17 @@ export function RelayProvider({ apiKey, agentToken, wsToken, baseUrl, channels,
42
49
  store.setState({ connectionStatus: 'disconnected' });
43
50
  ws.disconnect();
44
51
  };
45
- }, [clients, store, channels]);
52
+ }, [clients, store]);
53
+ useEffect(() => {
54
+ const { ws } = clients;
55
+ if (!ws.connected || subscribedChannels.length === 0) {
56
+ return;
57
+ }
58
+ ws.subscribe(subscribedChannels);
59
+ return () => {
60
+ ws.unsubscribe(subscribedChannels);
61
+ };
62
+ }, [clients, subscribedChannels]);
46
63
  return (_jsx(ClientContext.Provider, { value: clients, children: _jsx(StoreContext.Provider, { value: store, children: children }) }));
47
64
  }
48
65
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relaycast/react",
3
- "version": "4.2.0",
3
+ "version": "5.0.1",
4
4
  "description": "Headless React hooks for Relaycast real-time agent messaging",
5
5
  "keywords": [
6
6
  "relaycast",
@@ -33,8 +33,8 @@
33
33
  "lint": "eslint src/"
34
34
  },
35
35
  "dependencies": {
36
- "@relaycast/sdk": "4.2.0",
37
- "@relaycast/types": "4.2.0",
36
+ "@relaycast/sdk": "5.0.1",
37
+ "@relaycast/types": "5.0.1",
38
38
  "prism-react-renderer": "^2.4.1",
39
39
  "react-markdown": "^10.1.0",
40
40
  "remark-breaks": "^4.0.0",