@planningcenter/chat-react-native 4.2.1-qa-staging.3 → 4.2.1-rc.0
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/build/components/conversation/message_form.d.ts +1 -2
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +51 -54
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/conversation/message_list.d.ts +2 -3
- package/build/components/conversation/message_list.d.ts.map +1 -1
- package/build/components/conversation/message_list.js +66 -152
- package/build/components/conversation/message_list.js.map +1 -1
- package/build/contexts/conversation_context.d.ts +1 -3
- package/build/contexts/conversation_context.d.ts.map +1 -1
- package/build/contexts/conversation_context.js +18 -23
- package/build/contexts/conversation_context.js.map +1 -1
- package/build/hooks/index.d.ts +0 -1
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/paginator_meta.d.ts +1 -3
- package/build/hooks/paginator_meta.d.ts.map +1 -1
- package/build/hooks/paginator_meta.js +8 -25
- package/build/hooks/paginator_meta.js.map +1 -1
- package/build/hooks/use_api.d.ts.map +1 -1
- package/build/hooks/use_api.js +8 -5
- package/build/hooks/use_api.js.map +1 -1
- package/build/hooks/use_conversation_messages.d.ts +2 -9
- package/build/hooks/use_conversation_messages.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages.js +45 -84
- package/build/hooks/use_conversation_messages.js.map +1 -1
- package/build/hooks/use_conversation_messages_jolt_events.d.ts +1 -17
- package/build/hooks/use_conversation_messages_jolt_events.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages_jolt_events.js +80 -89
- package/build/hooks/use_conversation_messages_jolt_events.js.map +1 -1
- package/build/hooks/use_mark_latest_message_read.d.ts +1 -2
- package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
- package/build/hooks/use_mark_latest_message_read.js +3 -4
- package/build/hooks/use_mark_latest_message_read.js.map +1 -1
- package/build/hooks/use_message_create_or_update.d.ts.map +1 -1
- package/build/hooks/use_message_create_or_update.js +80 -91
- package/build/hooks/use_message_create_or_update.js.map +1 -1
- package/build/hooks/use_message_reaction_toggle.d.ts.map +1 -1
- package/build/hooks/use_message_reaction_toggle.js +40 -45
- package/build/hooks/use_message_reaction_toggle.js.map +1 -1
- package/build/hooks/use_suspense_api.d.ts.map +1 -1
- package/build/hooks/use_suspense_api.js +8 -5
- package/build/hooks/use_suspense_api.js.map +1 -1
- package/build/screens/conversation_new/components/services_form.js +8 -9
- package/build/screens/conversation_new/components/services_form.js.map +1 -1
- package/build/screens/conversation_screen.d.ts +0 -1
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +251 -466
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +26 -21
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/message_report_screen.d.ts.map +1 -1
- package/build/screens/message_report_screen.js +44 -17
- package/build/screens/message_report_screen.js.map +1 -1
- package/build/screens/reactions_screen.d.ts.map +1 -1
- package/build/screens/reactions_screen.js +88 -70
- package/build/screens/reactions_screen.js.map +1 -1
- package/build/types/api_primitives.d.ts +0 -2
- package/build/types/api_primitives.d.ts.map +1 -1
- package/build/types/api_primitives.js.map +1 -1
- package/build/types/resources/member.d.ts +0 -1
- package/build/types/resources/member.d.ts.map +1 -1
- package/build/types/resources/member.js.map +1 -1
- package/build/utils/cache/optimistically_update_message.d.ts +1 -2
- package/build/utils/cache/optimistically_update_message.d.ts.map +1 -1
- package/build/utils/cache/optimistically_update_message.js +4 -4
- package/build/utils/cache/optimistically_update_message.js.map +1 -1
- package/build/utils/client/types.d.ts +0 -1
- package/build/utils/client/types.d.ts.map +1 -1
- package/build/utils/client/types.js.map +1 -1
- package/build/utils/generate_placeholder_ulid.d.ts +6 -0
- package/build/utils/generate_placeholder_ulid.d.ts.map +1 -1
- package/build/utils/generate_placeholder_ulid.js +2 -2
- package/build/utils/generate_placeholder_ulid.js.map +1 -1
- package/build/utils/request/get_messages.d.ts +6 -18
- package/build/utils/request/get_messages.d.ts.map +1 -1
- package/build/utils/request/get_messages.js +12 -10
- package/build/utils/request/get_messages.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/hooks/paginator_meta.test.ts +2 -73
- package/src/components/conversation/__tests__/message_list.test.tsx +0 -42
- package/src/components/conversation/message_form.tsx +0 -3
- package/src/components/conversation/message_list.tsx +4 -58
- package/src/contexts/conversation_context.tsx +1 -6
- package/src/hooks/index.ts +0 -1
- package/src/hooks/paginator_meta.ts +5 -29
- package/src/hooks/use_api.ts +5 -4
- package/src/hooks/use_conversation_messages.ts +11 -52
- package/src/hooks/use_conversation_messages_jolt_events.ts +43 -62
- package/src/hooks/use_mark_latest_message_read.ts +3 -4
- package/src/hooks/use_message_create_or_update.ts +8 -8
- package/src/hooks/use_message_reaction_toggle.ts +1 -3
- package/src/hooks/use_suspense_api.ts +5 -4
- package/src/screens/conversation_new/components/services_form.tsx +5 -5
- package/src/screens/conversation_screen.tsx +16 -119
- package/src/screens/message_actions_screen.tsx +5 -3
- package/src/screens/message_report_screen.tsx +3 -2
- package/src/screens/reactions_screen.tsx +4 -2
- package/src/types/api_primitives.ts +0 -2
- package/src/types/resources/member.ts +0 -1
- package/src/utils/cache/optimistically_update_message.ts +5 -2
- package/src/utils/client/types.ts +0 -1
- package/src/utils/generate_placeholder_ulid.ts +2 -2
- package/src/utils/request/get_messages.ts +14 -12
- package/build/components/conversation/anchor_not_found_boundary.d.ts +0 -18
- package/build/components/conversation/anchor_not_found_boundary.d.ts.map +0 -1
- package/build/components/conversation/anchor_not_found_boundary.js +0 -20
- package/build/components/conversation/anchor_not_found_boundary.js.map +0 -1
- package/build/hooks/use_conversation_message_lookup.d.ts +0 -7
- package/build/hooks/use_conversation_message_lookup.d.ts.map +0 -1
- package/build/hooks/use_conversation_message_lookup.js +0 -52
- package/build/hooks/use_conversation_message_lookup.js.map +0 -1
- package/build/hooks/use_direct_message_eligibility.d.ts +0 -14
- package/build/hooks/use_direct_message_eligibility.d.ts.map +0 -1
- package/build/hooks/use_direct_message_eligibility.js +0 -87
- package/build/hooks/use_direct_message_eligibility.js.map +0 -1
- package/build/hooks/use_fetch_newer_messages.d.ts +0 -8
- package/build/hooks/use_fetch_newer_messages.d.ts.map +0 -1
- package/build/hooks/use_fetch_newer_messages.js +0 -62
- package/build/hooks/use_fetch_newer_messages.js.map +0 -1
- package/build/hooks/use_fetch_newer_on_foreground.d.ts +0 -8
- package/build/hooks/use_fetch_newer_on_foreground.d.ts.map +0 -1
- package/build/hooks/use_fetch_newer_on_foreground.js +0 -42
- package/build/hooks/use_fetch_newer_on_foreground.js.map +0 -1
- package/build/hooks/use_held_back_messages.d.ts +0 -11
- package/build/hooks/use_held_back_messages.d.ts.map +0 -1
- package/build/hooks/use_held_back_messages.js +0 -24
- package/build/hooks/use_held_back_messages.js.map +0 -1
- package/build/utils/cache/find_message_in_caches.d.ts +0 -4
- package/build/utils/cache/find_message_in_caches.d.ts.map +0 -1
- package/build/utils/cache/find_message_in_caches.js +0 -16
- package/build/utils/cache/find_message_in_caches.js.map +0 -1
- package/build/utils/cache/prepend_newer_page.d.ts +0 -7
- package/build/utils/cache/prepend_newer_page.d.ts.map +0 -1
- package/build/utils/cache/prepend_newer_page.js +0 -15
- package/build/utils/cache/prepend_newer_page.js.map +0 -1
- package/build/utils/gated_message_cache.d.ts +0 -7
- package/build/utils/gated_message_cache.d.ts.map +0 -1
- package/build/utils/gated_message_cache.js +0 -13
- package/build/utils/gated_message_cache.js.map +0 -1
- package/build/utils/ulid.d.ts +0 -3
- package/build/utils/ulid.d.ts.map +0 -1
- package/build/utils/ulid.js +0 -7
- package/build/utils/ulid.js.map +0 -1
- package/src/__tests__/hooks/use_conversation_messages.test.ts +0 -22
- package/src/__tests__/hooks/use_conversation_messages_jolt_events.test.ts +0 -33
- package/src/__tests__/hooks/use_direct_message_eligibility.test.tsx +0 -83
- package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +0 -91
- package/src/__tests__/utils/gated_message_cache.test.ts +0 -26
- package/src/__tests__/utils/request/get_messages.test.ts +0 -24
- package/src/__tests__/utils/ulid.test.ts +0 -15
- package/src/components/conversation/__tests__/anchor_not_found_boundary.test.tsx +0 -51
- package/src/components/conversation/anchor_not_found_boundary.tsx +0 -21
- package/src/hooks/__tests__/use_fetch_newer_messages.test.tsx +0 -68
- package/src/hooks/__tests__/use_held_back_messages.test.tsx +0 -60
- package/src/hooks/__tests__/use_message_reaction_toggle.test.tsx +0 -73
- package/src/hooks/use_conversation_message_lookup.ts +0 -29
- package/src/hooks/use_direct_message_eligibility.ts +0 -40
- package/src/hooks/use_fetch_newer_messages.ts +0 -44
- package/src/hooks/use_fetch_newer_on_foreground.ts +0 -25
- package/src/hooks/use_held_back_messages.ts +0 -33
- package/src/utils/cache/__tests__/find_message_in_caches.test.ts +0 -37
- package/src/utils/cache/__tests__/prepend_newer_page.test.ts +0 -34
- package/src/utils/cache/find_message_in_caches.ts +0 -20
- package/src/utils/cache/prepend_newer_page.ts +0 -19
- package/src/utils/gated_message_cache.ts +0 -19
- package/src/utils/ulid.ts +0 -11
|
@@ -9,16 +9,19 @@ export function optimisticallyUpdateMessage({
|
|
|
9
9
|
message,
|
|
10
10
|
text,
|
|
11
11
|
replyRootId,
|
|
12
|
-
queryKey = getMessagesQueryKey({ conversation_id: conversationId, reply_root_id: replyRootId }),
|
|
13
12
|
}: {
|
|
14
13
|
conversationId: number
|
|
15
14
|
message: MessageResource
|
|
16
15
|
text: string
|
|
17
16
|
replyRootId?: string | null
|
|
18
|
-
queryKey?: unknown[]
|
|
19
17
|
}) {
|
|
20
18
|
type QueryData = InfiniteData<ApiCollection<MessageResource>>
|
|
21
19
|
|
|
20
|
+
const queryKey = getMessagesQueryKey({
|
|
21
|
+
conversation_id: conversationId,
|
|
22
|
+
reply_root_id: replyRootId,
|
|
23
|
+
})
|
|
24
|
+
|
|
22
25
|
let optimisticMessage = message
|
|
23
26
|
|
|
24
27
|
chatQueryClient.setQueryData<QueryData>(queryKey, data =>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ULID_CHARS } from './ulid'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* The actual `ulid` library depends on a secure random number generator, which looks like it
|
|
5
3
|
* may require a native dependency to polyfill in React Native.
|
|
@@ -7,6 +5,8 @@ import { ULID_CHARS } from './ulid'
|
|
|
7
5
|
* implementation that doesn't require any native dependencies.
|
|
8
6
|
*/
|
|
9
7
|
|
|
8
|
+
const ULID_CHARS = '0123456789ABCDEFGHJKMNPQRSTVWXYZ' // Crockford's Base32
|
|
9
|
+
|
|
10
10
|
function encodeBase32(value: number, length: number) {
|
|
11
11
|
let result = ''
|
|
12
12
|
for (let i = 0; i < length; i++) {
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import { getRequestQueryKey } from '../../hooks/use_suspense_api'
|
|
2
2
|
import { getMessageFields, getMessagesInclude } from './messages_data_options'
|
|
3
3
|
|
|
4
|
-
type MessagesRequestOptions = {
|
|
5
|
-
conversation_id: number
|
|
6
|
-
reply_root_id?: string | null
|
|
7
|
-
anchor?: string | null
|
|
8
|
-
}
|
|
9
|
-
|
|
10
4
|
export const getMessagesRequestArgs = ({
|
|
11
5
|
conversation_id,
|
|
12
6
|
reply_root_id,
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
}: {
|
|
8
|
+
conversation_id: number
|
|
9
|
+
reply_root_id?: string | null
|
|
10
|
+
}) => {
|
|
15
11
|
const normalizedReplyRootId = reply_root_id ?? null
|
|
16
12
|
const url = normalizedReplyRootId
|
|
17
13
|
? `/me/conversations/${conversation_id}/messages/${normalizedReplyRootId}/replies`
|
|
18
14
|
: `/me/conversations/${conversation_id}/messages`
|
|
19
|
-
const anchored = anchor ? { where: { id_around: anchor } } : {}
|
|
20
15
|
|
|
21
16
|
return {
|
|
22
17
|
url,
|
|
@@ -24,11 +19,18 @@ export const getMessagesRequestArgs = ({
|
|
|
24
19
|
perPage: 25,
|
|
25
20
|
fields: getMessageFields,
|
|
26
21
|
include: getMessagesInclude,
|
|
27
|
-
...anchored,
|
|
28
22
|
},
|
|
29
23
|
reply_root_id: normalizedReplyRootId,
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
26
|
|
|
33
|
-
export const getMessagesQueryKey = (
|
|
34
|
-
|
|
27
|
+
export const getMessagesQueryKey = ({
|
|
28
|
+
conversation_id,
|
|
29
|
+
reply_root_id,
|
|
30
|
+
}: {
|
|
31
|
+
conversation_id: number
|
|
32
|
+
reply_root_id?: string | null
|
|
33
|
+
}) => {
|
|
34
|
+
const requestArgs = getMessagesRequestArgs({ conversation_id, reply_root_id })
|
|
35
|
+
return getRequestQueryKey(requestArgs)
|
|
36
|
+
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
type Props = PropsWithChildren<{
|
|
3
|
-
onAnchorNotFound: () => void;
|
|
4
|
-
}>;
|
|
5
|
-
export declare class AnchorNotFoundBoundary extends React.Component<Props, {
|
|
6
|
-
recovering: boolean;
|
|
7
|
-
}> {
|
|
8
|
-
state: {
|
|
9
|
-
recovering: boolean;
|
|
10
|
-
};
|
|
11
|
-
static getDerivedStateFromError(error: Error): {
|
|
12
|
-
recovering: boolean;
|
|
13
|
-
};
|
|
14
|
-
componentDidCatch(): void;
|
|
15
|
-
render(): React.ReactNode;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=anchor_not_found_boundary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anchor_not_found_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/anchor_not_found_boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGhD,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAA;AAEhE,qBAAa,sBAAuB,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC;IACzF,KAAK;;MAAwB;IAE7B,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAK5C,iBAAiB;IAIjB,MAAM;CAGP"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ResponseError } from '../../utils/response_error';
|
|
3
|
-
export class AnchorNotFoundBoundary extends React.Component {
|
|
4
|
-
state = {
|
|
5
|
-
recovering: false
|
|
6
|
-
};
|
|
7
|
-
static getDerivedStateFromError(error) {
|
|
8
|
-
if (error instanceof ResponseError && error.status === 404) return {
|
|
9
|
-
recovering: true
|
|
10
|
-
};
|
|
11
|
-
throw error;
|
|
12
|
-
}
|
|
13
|
-
componentDidCatch() {
|
|
14
|
-
this.props.onAnchorNotFound();
|
|
15
|
-
}
|
|
16
|
-
render() {
|
|
17
|
-
return this.state.recovering ? null : this.props.children;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=anchor_not_found_boundary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anchor_not_found_boundary.js","names":["React","ResponseError","AnchorNotFoundBoundary","Component","state","recovering","getDerivedStateFromError","error","status","componentDidCatch","props","onAnchorNotFound","render","children"],"sources":["../../../src/components/conversation/anchor_not_found_boundary.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react'\nimport { ResponseError } from '../../utils/response_error'\n\ntype Props = PropsWithChildren<{ onAnchorNotFound: () => void }>\n\nexport class AnchorNotFoundBoundary extends React.Component<Props, { recovering: boolean }> {\n state = { recovering: false }\n\n static getDerivedStateFromError(error: Error) {\n if (error instanceof ResponseError && error.status === 404) return { recovering: true }\n throw error\n }\n\n componentDidCatch() {\n this.props.onAnchorNotFound()\n }\n\n render() {\n return this.state.recovering ? null : this.props.children\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAA6B,OAAO;AAChD,SAASC,aAAa,QAAQ,4BAA4B;AAI1D,OAAO,MAAMC,sBAAsB,SAASF,KAAK,CAACG,SAAS,CAAiC;EAC1FC,KAAK,GAAG;IAAEC,UAAU,EAAE;EAAM,CAAC;EAE7B,OAAOC,wBAAwBA,CAACC,KAAY,EAAE;IAC5C,IAAIA,KAAK,YAAYN,aAAa,IAAIM,KAAK,CAACC,MAAM,KAAK,GAAG,EAAE,OAAO;MAAEH,UAAU,EAAE;IAAK,CAAC;IACvF,MAAME,KAAK;EACb;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAAC,CAAC;EAC/B;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACR,KAAK,CAACC,UAAU,GAAG,IAAI,GAAG,IAAI,CAACK,KAAK,CAACG,QAAQ;EAC3D;AACF","ignoreList":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
type Options = {
|
|
2
|
-
conversation_id: number;
|
|
3
|
-
message_id: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const useConversationMessageLookup: ({ conversation_id, message_id }: Options) => import("..").MessageResource | undefined;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=use_conversation_message_lookup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation_message_lookup.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_message_lookup.ts"],"names":[],"mappings":"AAKA,KAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,iCAAiC,OAAO,6CAkBpF,CAAA"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { c as _c } from "react/compiler-runtime";
|
|
2
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
3
|
-
import { useCallback, useSyncExternalStore } from 'react';
|
|
4
|
-
import { findMessageInCaches } from '../utils/cache/find_message_in_caches';
|
|
5
|
-
import { useConversationMessage } from './use_conversation_message';
|
|
6
|
-
export const useConversationMessageLookup = t0 => {
|
|
7
|
-
const $ = _c(10);
|
|
8
|
-
const {
|
|
9
|
-
conversation_id,
|
|
10
|
-
message_id
|
|
11
|
-
} = t0;
|
|
12
|
-
const queryClient = useQueryClient();
|
|
13
|
-
let t1;
|
|
14
|
-
if ($[0] !== queryClient) {
|
|
15
|
-
t1 = onChange => queryClient.getQueryCache().subscribe(onChange);
|
|
16
|
-
$[0] = queryClient;
|
|
17
|
-
$[1] = t1;
|
|
18
|
-
} else {
|
|
19
|
-
t1 = $[1];
|
|
20
|
-
}
|
|
21
|
-
const subscribe = t1;
|
|
22
|
-
let t2;
|
|
23
|
-
if ($[2] !== conversation_id || $[3] !== message_id || $[4] !== queryClient) {
|
|
24
|
-
t2 = () => findMessageInCaches(queryClient, conversation_id, message_id);
|
|
25
|
-
$[2] = conversation_id;
|
|
26
|
-
$[3] = message_id;
|
|
27
|
-
$[4] = queryClient;
|
|
28
|
-
$[5] = t2;
|
|
29
|
-
} else {
|
|
30
|
-
t2 = $[5];
|
|
31
|
-
}
|
|
32
|
-
const getSnapshot = t2;
|
|
33
|
-
const cached = useSyncExternalStore(subscribe, getSnapshot);
|
|
34
|
-
const t3 = !cached;
|
|
35
|
-
let t4;
|
|
36
|
-
if ($[6] !== conversation_id || $[7] !== message_id || $[8] !== t3) {
|
|
37
|
-
t4 = {
|
|
38
|
-
conversation_id,
|
|
39
|
-
messageId: message_id,
|
|
40
|
-
enabled: t3
|
|
41
|
-
};
|
|
42
|
-
$[6] = conversation_id;
|
|
43
|
-
$[7] = message_id;
|
|
44
|
-
$[8] = t3;
|
|
45
|
-
$[9] = t4;
|
|
46
|
-
} else {
|
|
47
|
-
t4 = $[9];
|
|
48
|
-
}
|
|
49
|
-
const fetched = useConversationMessage(t4);
|
|
50
|
-
return cached ?? fetched.message;
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=use_conversation_message_lookup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation_message_lookup.js","names":["useQueryClient","useCallback","useSyncExternalStore","findMessageInCaches","useConversationMessage","useConversationMessageLookup","t0","$","_c","conversation_id","message_id","queryClient","t1","onChange","getQueryCache","subscribe","t2","getSnapshot","cached","t3","t4","messageId","enabled","fetched","message"],"sources":["../../src/hooks/use_conversation_message_lookup.ts"],"sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { useCallback, useSyncExternalStore } from 'react'\nimport { findMessageInCaches } from '../utils/cache/find_message_in_caches'\nimport { useConversationMessage } from './use_conversation_message'\n\ntype Options = {\n conversation_id: number\n message_id: string\n}\n\nexport const useConversationMessageLookup = ({ conversation_id, message_id }: Options) => {\n const queryClient = useQueryClient()\n const subscribe = useCallback(\n (onChange: () => void) => queryClient.getQueryCache().subscribe(onChange),\n [queryClient]\n )\n const getSnapshot = useCallback(\n () => findMessageInCaches(queryClient, conversation_id, message_id),\n [conversation_id, message_id, queryClient]\n )\n const cached = useSyncExternalStore(subscribe, getSnapshot)\n const fetched = useConversationMessage({\n conversation_id,\n messageId: message_id,\n enabled: !cached,\n })\n\n return cached ?? fetched.message\n}\n"],"mappings":";AAAA,SAASA,cAAc,QAAQ,uBAAuB;AACtD,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,sBAAsB,QAAQ,4BAA4B;AAOnE,OAAO,MAAMC,4BAA4B,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,eAAA;IAAAC;EAAA,IAAAJ,EAAwC;EACnF,MAAAK,WAAA,GAAoBX,cAAc,CAAC,CAAC;EAAA,IAAAY,EAAA;EAAA,IAAAL,CAAA,QAAAI,WAAA;IAElCC,EAAA,GAAAC,QAAA,IAA0BF,WAAW,CAAAG,aAAc,CAAC,CAAC,CAAAC,SAAU,CAACF,QAAQ,CAAC;IAAAN,CAAA,MAAAI,WAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAD3E,MAAAQ,SAAA,GAAkBH,EAGjB;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAI,WAAA;IAECK,EAAA,GAAAA,CAAA,KAAMb,mBAAmB,CAACQ,WAAW,EAAEF,eAAe,EAAEC,UAAU,CAAC;IAAAH,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAI,WAAA;IAAAJ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EADrE,MAAAU,WAAA,GAAoBD,EAGnB;EACD,MAAAE,MAAA,GAAehB,oBAAoB,CAACa,SAAS,EAAEE,WAAW,CAAC;EAIhD,MAAAE,EAAA,IAACD,MAAM;EAAA,IAAAE,EAAA;EAAA,IAAAb,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAY,EAAA;IAHqBC,EAAA;MAAAX,eAAA;MAAAY,SAAA,EAE1BX,UAAU;MAAAY,OAAA,EACZH;IACX,CAAC;IAAAZ,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAY,EAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAJD,MAAAgB,OAAA,GAAgBnB,sBAAsB,CAACgB,EAItC,CAAC;EAAA,OAEKF,MAAyB,IAAfK,OAAO,CAAAC,OAAQ;AAAA,CACjC","ignoreList":[]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface DirectMessageEligibility {
|
|
2
|
-
canDirectMessage: boolean;
|
|
3
|
-
directMessagesDisabled: boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare function useDirectMessageEligibility({ groupId, personId, enabled, }: {
|
|
6
|
-
groupId: string;
|
|
7
|
-
personId: number;
|
|
8
|
-
enabled?: boolean;
|
|
9
|
-
}): {
|
|
10
|
-
eligibility: DirectMessageEligibility | undefined;
|
|
11
|
-
isLoading: boolean;
|
|
12
|
-
isError: boolean;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=use_direct_message_eligibility.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_direct_message_eligibility.d.ts","sourceRoot":"","sources":["../../src/hooks/use_direct_message_eligibility.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,CAAA;IACzB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,QAAQ,EACR,OAAc,GACf,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;;;;EAsBA"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { c as _c } from "react/compiler-runtime";
|
|
2
|
-
import { useQuery } from '@tanstack/react-query';
|
|
3
|
-
import { useApiClient } from './use_api_client';
|
|
4
|
-
export function useDirectMessageEligibility(t0) {
|
|
5
|
-
const $ = _c(15);
|
|
6
|
-
const {
|
|
7
|
-
groupId,
|
|
8
|
-
personId,
|
|
9
|
-
enabled: t1
|
|
10
|
-
} = t0;
|
|
11
|
-
const enabled = t1 === undefined ? true : t1;
|
|
12
|
-
const apiClient = useApiClient();
|
|
13
|
-
const url = `/me/groups/${groupId}/members/${personId}`;
|
|
14
|
-
let t2;
|
|
15
|
-
if ($[0] !== url) {
|
|
16
|
-
t2 = ["chat", url, "direct_message_eligibility"];
|
|
17
|
-
$[0] = url;
|
|
18
|
-
$[1] = t2;
|
|
19
|
-
} else {
|
|
20
|
-
t2 = $[1];
|
|
21
|
-
}
|
|
22
|
-
let t3;
|
|
23
|
-
if ($[2] !== apiClient || $[3] !== url) {
|
|
24
|
-
t3 = () => apiClient.chat.get({
|
|
25
|
-
url,
|
|
26
|
-
data: {
|
|
27
|
-
fields: {
|
|
28
|
-
Member: ["can_direct_message", "direct_messages_disabled"]
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
$[2] = apiClient;
|
|
33
|
-
$[3] = url;
|
|
34
|
-
$[4] = t3;
|
|
35
|
-
} else {
|
|
36
|
-
t3 = $[4];
|
|
37
|
-
}
|
|
38
|
-
let t4;
|
|
39
|
-
if ($[5] !== enabled || $[6] !== t2 || $[7] !== t3) {
|
|
40
|
-
t4 = {
|
|
41
|
-
queryKey: t2,
|
|
42
|
-
queryFn: t3,
|
|
43
|
-
enabled,
|
|
44
|
-
retry: false
|
|
45
|
-
};
|
|
46
|
-
$[5] = enabled;
|
|
47
|
-
$[6] = t2;
|
|
48
|
-
$[7] = t3;
|
|
49
|
-
$[8] = t4;
|
|
50
|
-
} else {
|
|
51
|
-
t4 = $[8];
|
|
52
|
-
}
|
|
53
|
-
const {
|
|
54
|
-
data,
|
|
55
|
-
isLoading,
|
|
56
|
-
isError
|
|
57
|
-
} = useQuery(t4);
|
|
58
|
-
const member = data?.data;
|
|
59
|
-
let t5;
|
|
60
|
-
if ($[9] !== member) {
|
|
61
|
-
t5 = member && {
|
|
62
|
-
canDirectMessage: member.canDirectMessage ?? false,
|
|
63
|
-
directMessagesDisabled: member.directMessagesDisabled ?? false
|
|
64
|
-
};
|
|
65
|
-
$[9] = member;
|
|
66
|
-
$[10] = t5;
|
|
67
|
-
} else {
|
|
68
|
-
t5 = $[10];
|
|
69
|
-
}
|
|
70
|
-
const eligibility = t5;
|
|
71
|
-
let t6;
|
|
72
|
-
if ($[11] !== eligibility || $[12] !== isError || $[13] !== isLoading) {
|
|
73
|
-
t6 = {
|
|
74
|
-
eligibility,
|
|
75
|
-
isLoading,
|
|
76
|
-
isError
|
|
77
|
-
};
|
|
78
|
-
$[11] = eligibility;
|
|
79
|
-
$[12] = isError;
|
|
80
|
-
$[13] = isLoading;
|
|
81
|
-
$[14] = t6;
|
|
82
|
-
} else {
|
|
83
|
-
t6 = $[14];
|
|
84
|
-
}
|
|
85
|
-
return t6;
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=use_direct_message_eligibility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_direct_message_eligibility.js","names":["useQuery","useApiClient","useDirectMessageEligibility","t0","$","_c","groupId","personId","enabled","t1","undefined","apiClient","url","t2","t3","chat","get","data","fields","Member","t4","queryKey","queryFn","retry","isLoading","isError","member","t5","canDirectMessage","directMessagesDisabled","eligibility","t6"],"sources":["../../src/hooks/use_direct_message_eligibility.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { ApiResource, MemberResource } from '../types'\nimport { useApiClient } from './use_api_client'\n\nexport interface DirectMessageEligibility {\n canDirectMessage: boolean\n directMessagesDisabled: boolean\n}\n\nexport function useDirectMessageEligibility({\n groupId,\n personId,\n enabled = true,\n}: {\n groupId: string\n personId: number\n enabled?: boolean\n}) {\n const apiClient = useApiClient()\n const url = `/me/groups/${groupId}/members/${personId}`\n\n const { data, isLoading, isError } = useQuery({\n queryKey: ['chat', url, 'direct_message_eligibility'],\n queryFn: () =>\n apiClient.chat.get({\n url,\n data: { fields: { Member: ['can_direct_message', 'direct_messages_disabled'] } },\n }) as Promise<ApiResource<MemberResource>>,\n enabled,\n retry: false,\n })\n\n const member = data?.data\n const eligibility: DirectMessageEligibility | undefined = member && {\n canDirectMessage: member.canDirectMessage ?? false,\n directMessagesDisabled: member.directMessagesDisabled ?? false,\n }\n\n return { eligibility, isLoading, isError }\n}\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAEhD,SAASC,YAAY,QAAQ,kBAAkB;AAO/C,OAAO,SAAAC,4BAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAqC;IAAAC,OAAA;IAAAC,QAAA;IAAAC,OAAA,EAAAC;EAAA,IAAAN,EAQ3C;EALC,MAAAK,OAAA,GAAAC,EAAc,KAAdC,SAAc,GAAd,IAAc,GAAdD,EAAc;EAMd,MAAAE,SAAA,GAAkBV,YAAY,CAAC,CAAC;EAChC,MAAAW,GAAA,GAAY,cAAcN,OAAO,YAAYC,QAAQ,EAAE;EAAA,IAAAM,EAAA;EAAA,IAAAT,CAAA,QAAAQ,GAAA;IAG3CC,EAAA,IAAC,MAAM,EAAED,GAAG,EAAE,4BAA4B,CAAC;IAAAR,CAAA,MAAAQ,GAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAQ,GAAA;IAC5CE,EAAA,GAAAA,CAAA,KACPH,SAAS,CAAAI,IAAK,CAAAC,GAAI,CAAC;MAAAJ,GAAA;MAAAK,IAAA,EAEX;QAAAC,MAAA,EAAU;UAAAC,MAAA,EAAU,CAAC,oBAAoB,EAAE,0BAA0B;QAAE;MAAE;IACjF,CAAC,CAAyC;IAAAf,CAAA,MAAAO,SAAA;IAAAP,CAAA,MAAAQ,GAAA;IAAAR,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAhB,CAAA,QAAAI,OAAA,IAAAJ,CAAA,QAAAS,EAAA,IAAAT,CAAA,QAAAU,EAAA;IANAM,EAAA;MAAAC,QAAA,EAClCR,EAA2C;MAAAS,OAAA,EAC5CR,EAImC;MAAAN,OAAA;MAAAe,KAAA,EAErC;IACT,CAAC;IAAAnB,CAAA,MAAAI,OAAA;IAAAJ,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EATD;IAAAa,IAAA;IAAAO,SAAA;IAAAC;EAAA,IAAqCzB,QAAQ,CAACoB,EAS7C,CAAC;EAEF,MAAAM,MAAA,GAAeT,IAAI,EAAAA,IAAM;EAAA,IAAAU,EAAA;EAAA,IAAAvB,CAAA,QAAAsB,MAAA;IACiCC,EAAA,GAAAD,MAGzD,IAHyD;MAAAE,gBAAA,EACtCF,MAAM,CAAAE,gBAA0B,IAAhC,KAAgC;MAAAC,sBAAA,EAC1BH,MAAM,CAAAG,sBAAgC,IAAtC;IAC1B,CAAC;IAAAzB,CAAA,MAAAsB,MAAA;IAAAtB,CAAA,OAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAHD,MAAA0B,WAAA,GAA0DH,EAGzD;EAAA,IAAAI,EAAA;EAAA,IAAA3B,CAAA,SAAA0B,WAAA,IAAA1B,CAAA,SAAAqB,OAAA,IAAArB,CAAA,SAAAoB,SAAA;IAEMO,EAAA;MAAAD,WAAA;MAAAN,SAAA;MAAAC;IAAkC,CAAC;IAAArB,CAAA,OAAA0B,WAAA;IAAA1B,CAAA,OAAAqB,OAAA;IAAArB,CAAA,OAAAoB,SAAA;IAAApB,CAAA,OAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAAA,OAAnC2B,EAAmC;AAAA","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
type Options = {
|
|
2
|
-
conversation_id: number;
|
|
3
|
-
reply_root_id?: string | null;
|
|
4
|
-
queryKey: unknown[];
|
|
5
|
-
};
|
|
6
|
-
export declare const useFetchNewerMessages: ({ conversation_id, reply_root_id, queryKey }: Options) => (newestMessageId: string) => Promise<void>;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=use_fetch_newer_messages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_fetch_newer_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_fetch_newer_messages.ts"],"names":[],"mappings":"AASA,KAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,8CAA8C,OAAO,uBAK/D,MAAM,kBAuBjC,CAAA"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { c as _c } from "react/compiler-runtime";
|
|
2
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
3
|
-
import { useCallback } from 'react';
|
|
4
|
-
import { prependNewerPage } from '../utils/cache/prepend_newer_page';
|
|
5
|
-
import { getMessagesRequestArgs } from '../utils/request/get_messages';
|
|
6
|
-
import { useApiClient } from './use_api_client';
|
|
7
|
-
const MAX_PAGES = 5;
|
|
8
|
-
export const useFetchNewerMessages = t0 => {
|
|
9
|
-
const $ = _c(6);
|
|
10
|
-
const {
|
|
11
|
-
conversation_id,
|
|
12
|
-
reply_root_id,
|
|
13
|
-
queryKey
|
|
14
|
-
} = t0;
|
|
15
|
-
const queryClient = useQueryClient();
|
|
16
|
-
const apiClient = useApiClient();
|
|
17
|
-
let t1;
|
|
18
|
-
if ($[0] !== apiClient || $[1] !== conversation_id || $[2] !== queryClient || $[3] !== queryKey || $[4] !== reply_root_id) {
|
|
19
|
-
t1 = async newestMessageId => {
|
|
20
|
-
const {
|
|
21
|
-
url,
|
|
22
|
-
data
|
|
23
|
-
} = getMessagesRequestArgs({
|
|
24
|
-
conversation_id,
|
|
25
|
-
reply_root_id
|
|
26
|
-
});
|
|
27
|
-
const pages = [];
|
|
28
|
-
let cursor = newestMessageId;
|
|
29
|
-
while (cursor && pages.length < MAX_PAGES) {
|
|
30
|
-
const page = await apiClient.chat.get({
|
|
31
|
-
url,
|
|
32
|
-
data: {
|
|
33
|
-
...data,
|
|
34
|
-
where: {
|
|
35
|
-
id_gt: cursor
|
|
36
|
-
},
|
|
37
|
-
order: "asc"
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
pages.push(page);
|
|
41
|
-
cursor = page.meta?.next?.idGt;
|
|
42
|
-
}
|
|
43
|
-
queryClient.setQueryData(queryKey, prev => prependNewerPage(prev, pages));
|
|
44
|
-
const moreThanWeFetched = !!cursor;
|
|
45
|
-
if (moreThanWeFetched) {
|
|
46
|
-
await queryClient.invalidateQueries({
|
|
47
|
-
queryKey
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
$[0] = apiClient;
|
|
52
|
-
$[1] = conversation_id;
|
|
53
|
-
$[2] = queryClient;
|
|
54
|
-
$[3] = queryKey;
|
|
55
|
-
$[4] = reply_root_id;
|
|
56
|
-
$[5] = t1;
|
|
57
|
-
} else {
|
|
58
|
-
t1 = $[5];
|
|
59
|
-
}
|
|
60
|
-
return t1;
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=use_fetch_newer_messages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_fetch_newer_messages.js","names":["useQueryClient","useCallback","prependNewerPage","getMessagesRequestArgs","useApiClient","MAX_PAGES","useFetchNewerMessages","t0","$","_c","conversation_id","reply_root_id","queryKey","queryClient","apiClient","t1","newestMessageId","url","data","pages","cursor","length","page","chat","get","where","id_gt","order","push","meta","next","idGt","setQueryData","prev","moreThanWeFetched","invalidateQueries"],"sources":["../../src/hooks/use_fetch_newer_messages.ts"],"sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport { ApiCollection, MessageResource } from '../types'\nimport { prependNewerPage } from '../utils/cache/prepend_newer_page'\nimport { getMessagesRequestArgs } from '../utils/request/get_messages'\nimport { useApiClient } from './use_api_client'\n\nconst MAX_PAGES = 5\n\ntype Options = {\n conversation_id: number\n reply_root_id?: string | null\n queryKey: unknown[]\n}\n\nexport const useFetchNewerMessages = ({ conversation_id, reply_root_id, queryKey }: Options) => {\n const queryClient = useQueryClient()\n const apiClient = useApiClient()\n\n return useCallback(\n async (newestMessageId: string) => {\n const { url, data } = getMessagesRequestArgs({ conversation_id, reply_root_id })\n const pages: ApiCollection<MessageResource>[] = []\n let cursor: string | undefined = newestMessageId\n\n while (cursor && pages.length < MAX_PAGES) {\n const page: ApiCollection<MessageResource> = await apiClient.chat.get({\n url,\n data: { ...data, where: { id_gt: cursor }, order: 'asc' },\n })\n pages.push(page)\n cursor = page.meta?.next?.idGt\n }\n\n queryClient.setQueryData<Parameters<typeof prependNewerPage<MessageResource>>[0]>(\n queryKey,\n prev => prependNewerPage(prev, pages)\n )\n const moreThanWeFetched = !!cursor\n if (moreThanWeFetched) await queryClient.invalidateQueries({ queryKey })\n },\n [apiClient, conversation_id, queryClient, queryKey, reply_root_id]\n )\n}\n"],"mappings":";AAAA,SAASA,cAAc,QAAQ,uBAAuB;AACtD,SAASC,WAAW,QAAQ,OAAO;AAEnC,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,MAAMC,SAAS,GAAG,CAAC;AAQnB,OAAO,MAAMC,qBAAqB,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,eAAA;IAAAC,aAAA;IAAAC;EAAA,IAAAL,EAAqD;EACzF,MAAAM,WAAA,GAAoBb,cAAc,CAAC,CAAC;EACpC,MAAAc,SAAA,GAAkBV,YAAY,CAAC,CAAC;EAAA,IAAAW,EAAA;EAAA,IAAAP,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAK,WAAA,IAAAL,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAG,aAAA;IAG9BI,EAAA,SAAAC,eAAA;MACE;QAAAC,GAAA;QAAAC;MAAA,IAAsBf,sBAAsB,CAAC;QAAAO,eAAA;QAAAC;MAAiC,CAAC,CAAC;MAChF,MAAAQ,KAAA,GAAgD,EAAE;MAClD,IAAAC,MAAA,GAAiCJ,eAAe;MAEhD,OAAOI,MAAkC,IAAxBD,KAAK,CAAAE,MAAO,GAAGhB,SAO/B;QANC,MAAAiB,IAAA,GAA6C,MAAMR,SAAS,CAAAS,IAAK,CAAAC,GAAI,CAAC;UAAAP,GAAA;UAAAC,IAAA,EAE9D;YAAA,GAAKA,IAAI;YAAAO,KAAA,EAAS;cAAAC,KAAA,EAASN;YAAO,CAAC;YAAAO,KAAA,EAAS;UAAM;QAC1D,CAAC,CAAC;QACFR,KAAK,CAAAS,IAAK,CAACN,IAAI,CAAC;QAChBF,MAAA,CAAAA,CAAA,CAASE,IAAI,CAAAO,IAAW,EAAAC,IAAM,EAAAC,IAAA;MAAxB;MAGRlB,WAAW,CAAAmB,YAAa,CACtBpB,QAAQ,EACRqB,IAAA,IAAQ/B,gBAAgB,CAAC+B,IAAI,EAAEd,KAAK,CACtC,CAAC;MACD,MAAAe,iBAAA,GAA0B,CAAC,CAACd,MAAM;MAClC,IAAIc,iBAAiB;QAAE,MAAMrB,WAAW,CAAAsB,iBAAkB,CAAC;UAAAvB;QAAW,CAAC,CAAC;MAAA;IAAA,CACzE;IAAAJ,CAAA,MAAAM,SAAA;IAAAN,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAK,WAAA;IAAAL,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAG,aAAA;IAAAH,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,OArBIO,EAuBN;AAAA,CACF","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
type Options = {
|
|
2
|
-
fetchNewer: (newestMessageId: string) => Promise<void>;
|
|
3
|
-
newestMessageId?: string;
|
|
4
|
-
enabled: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare const useFetchNewerOnForeground: ({ fetchNewer, newestMessageId, enabled }: Options) => void;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=use_fetch_newer_on_foreground.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_fetch_newer_on_foreground.d.ts","sourceRoot":"","sources":["../../src/hooks/use_fetch_newer_on_foreground.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,0CAA0C,OAAO,SAe1F,CAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { c as _c } from "react/compiler-runtime";
|
|
2
|
-
import { useEffect, useRef } from 'react';
|
|
3
|
-
import { useAppState } from './use_app_state';
|
|
4
|
-
export const useFetchNewerOnForeground = t0 => {
|
|
5
|
-
const $ = _c(6);
|
|
6
|
-
const {
|
|
7
|
-
fetchNewer,
|
|
8
|
-
newestMessageId,
|
|
9
|
-
enabled
|
|
10
|
-
} = t0;
|
|
11
|
-
const appState = useAppState();
|
|
12
|
-
const wasInBackground = useRef(false);
|
|
13
|
-
let t1;
|
|
14
|
-
let t2;
|
|
15
|
-
if ($[0] !== appState || $[1] !== enabled || $[2] !== fetchNewer || $[3] !== newestMessageId) {
|
|
16
|
-
t1 = () => {
|
|
17
|
-
if (appState !== "active") {
|
|
18
|
-
wasInBackground.current = true;
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const returnedToForeground = wasInBackground.current;
|
|
22
|
-
wasInBackground.current = false;
|
|
23
|
-
if (!returnedToForeground || !enabled || !newestMessageId) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
fetchNewer(newestMessageId).catch(_temp);
|
|
27
|
-
};
|
|
28
|
-
t2 = [appState, enabled, fetchNewer, newestMessageId];
|
|
29
|
-
$[0] = appState;
|
|
30
|
-
$[1] = enabled;
|
|
31
|
-
$[2] = fetchNewer;
|
|
32
|
-
$[3] = newestMessageId;
|
|
33
|
-
$[4] = t1;
|
|
34
|
-
$[5] = t2;
|
|
35
|
-
} else {
|
|
36
|
-
t1 = $[4];
|
|
37
|
-
t2 = $[5];
|
|
38
|
-
}
|
|
39
|
-
useEffect(t1, t2);
|
|
40
|
-
};
|
|
41
|
-
function _temp() {}
|
|
42
|
-
//# sourceMappingURL=use_fetch_newer_on_foreground.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_fetch_newer_on_foreground.js","names":["useEffect","useRef","useAppState","useFetchNewerOnForeground","t0","$","_c","fetchNewer","newestMessageId","enabled","appState","wasInBackground","t1","t2","current","returnedToForeground","catch","_temp"],"sources":["../../src/hooks/use_fetch_newer_on_foreground.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { useAppState } from './use_app_state'\n\ntype Options = {\n fetchNewer: (newestMessageId: string) => Promise<void>\n newestMessageId?: string\n enabled: boolean\n}\n\nexport const useFetchNewerOnForeground = ({ fetchNewer, newestMessageId, enabled }: Options) => {\n const appState = useAppState()\n const wasInBackground = useRef(false)\n\n useEffect(() => {\n if (appState !== 'active') {\n wasInBackground.current = true\n return\n }\n const returnedToForeground = wasInBackground.current\n wasInBackground.current = false\n if (!returnedToForeground || !enabled || !newestMessageId) return\n\n fetchNewer(newestMessageId).catch(() => {})\n }, [appState, enabled, fetchNewer, newestMessageId])\n}\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,WAAW,QAAQ,iBAAiB;AAQ7C,OAAO,MAAMC,yBAAyB,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,UAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAL,EAAiD;EACzF,MAAAM,QAAA,GAAiBR,WAAW,CAAC,CAAC;EAC9B,MAAAS,eAAA,GAAwBV,MAAM,CAAC,KAAK,CAAC;EAAA,IAAAW,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAI,OAAA,IAAAJ,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,eAAA;IAE3BI,EAAA,GAAAA,CAAA;MACR,IAAIF,QAAQ,KAAK,QAAQ;QACvBC,eAAe,CAAAG,OAAA,GAAW,IAAH;QAAA;MAAA;MAGzB,MAAAC,oBAAA,GAA6BJ,eAAe,CAAAG,OAAQ;MACpDH,eAAe,CAAAG,OAAA,GAAW,KAAH;MACvB,IAAI,CAACC,oBAAgC,IAAjC,CAA0BN,OAA2B,IAArD,CAAsCD,eAAe;QAAA;MAAA;MAEzDD,UAAU,CAACC,eAAe,CAAC,CAAAQ,KAAM,CAACC,KAAQ,CAAC;IAAA,CAC5C;IAAEJ,EAAA,IAACH,QAAQ,EAAED,OAAO,EAAEF,UAAU,EAAEC,eAAe,CAAC;IAAAH,CAAA,MAAAK,QAAA;IAAAL,CAAA,MAAAI,OAAA;IAAAJ,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,eAAA;IAAAH,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAD,EAAA,GAAAP,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAVnDL,SAAS,CAACY,EAUT,EAAEC,EAAgD,CAAC;AAAA,CACrD;AAfwC,SAAAI,MAAA","ignoreList":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
type Options = {
|
|
2
|
-
fetchNewer: (newestMessageId: string) => Promise<void>;
|
|
3
|
-
newestMessageId?: string;
|
|
4
|
-
readingHistory: boolean;
|
|
5
|
-
caughtUp: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const useHeldBackMessages: ({ fetchNewer, newestMessageId, readingHistory, caughtUp, }: Options) => {
|
|
8
|
-
onSkippedNewMessage: () => void;
|
|
9
|
-
};
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=use_held_back_messages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_held_back_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_held_back_messages.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,4DAKjC,OAAO;;CAkBT,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect, useRef } from 'react';
|
|
2
|
-
export const useHeldBackMessages = ({
|
|
3
|
-
fetchNewer,
|
|
4
|
-
newestMessageId,
|
|
5
|
-
readingHistory,
|
|
6
|
-
caughtUp
|
|
7
|
-
}) => {
|
|
8
|
-
const heldBackSince = useRef(null);
|
|
9
|
-
const onSkippedNewMessage = useCallback(() => {
|
|
10
|
-
heldBackSince.current ??= newestMessageId ?? null;
|
|
11
|
-
}, [newestMessageId]);
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const since = heldBackSince.current;
|
|
14
|
-
if (readingHistory || !caughtUp || !since) return;
|
|
15
|
-
heldBackSince.current = null;
|
|
16
|
-
fetchNewer(since).catch(() => {
|
|
17
|
-
heldBackSince.current ??= since;
|
|
18
|
-
});
|
|
19
|
-
}, [caughtUp, fetchNewer, readingHistory]);
|
|
20
|
-
return {
|
|
21
|
-
onSkippedNewMessage
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=use_held_back_messages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_held_back_messages.js","names":["useCallback","useEffect","useRef","useHeldBackMessages","fetchNewer","newestMessageId","readingHistory","caughtUp","heldBackSince","onSkippedNewMessage","current","since","catch"],"sources":["../../src/hooks/use_held_back_messages.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\n\ntype Options = {\n fetchNewer: (newestMessageId: string) => Promise<void>\n newestMessageId?: string\n readingHistory: boolean\n caughtUp: boolean\n}\n\nexport const useHeldBackMessages = ({\n fetchNewer,\n newestMessageId,\n readingHistory,\n caughtUp,\n}: Options) => {\n const heldBackSince = useRef<string | null>(null)\n\n const onSkippedNewMessage = useCallback(() => {\n heldBackSince.current ??= newestMessageId ?? null\n }, [newestMessageId])\n\n useEffect(() => {\n const since = heldBackSince.current\n if (readingHistory || !caughtUp || !since) return\n\n heldBackSince.current = null\n fetchNewer(since).catch(() => {\n heldBackSince.current ??= since\n })\n }, [caughtUp, fetchNewer, readingHistory])\n\n return { onSkippedNewMessage }\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAStD,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,UAAU;EACVC,eAAe;EACfC,cAAc;EACdC;AACO,CAAC,KAAK;EACb,MAAMC,aAAa,GAAGN,MAAM,CAAgB,IAAI,CAAC;EAEjD,MAAMO,mBAAmB,GAAGT,WAAW,CAAC,MAAM;IAC5CQ,aAAa,CAACE,OAAO,KAAKL,eAAe,IAAI,IAAI;EACnD,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErBJ,SAAS,CAAC,MAAM;IACd,MAAMU,KAAK,GAAGH,aAAa,CAACE,OAAO;IACnC,IAAIJ,cAAc,IAAI,CAACC,QAAQ,IAAI,CAACI,KAAK,EAAE;IAE3CH,aAAa,CAACE,OAAO,GAAG,IAAI;IAC5BN,UAAU,CAACO,KAAK,CAAC,CAACC,KAAK,CAAC,MAAM;MAC5BJ,aAAa,CAACE,OAAO,KAAKC,KAAK;IACjC,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,QAAQ,EAAEH,UAAU,EAAEE,cAAc,CAAC,CAAC;EAE1C,OAAO;IAAEG;EAAoB,CAAC;AAChC,CAAC","ignoreList":[]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { MessageResource } from '../../types';
|
|
3
|
-
export declare const findMessageInCaches: (queryClient: QueryClient, conversation_id: number, message_id: string) => MessageResource | undefined;
|
|
4
|
-
//# sourceMappingURL=find_message_in_caches.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find_message_in_caches.d.ts","sourceRoot":"","sources":["../../../src/utils/cache/find_message_in_caches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAiB,eAAe,EAAE,MAAM,aAAa,CAAA;AAK5D,eAAO,MAAM,mBAAmB,GAC9B,aAAa,WAAW,EACxB,iBAAiB,MAAM,EACvB,YAAY,MAAM,KACjB,eAAe,GAAG,SASpB,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { getMessagesRequestArgs } from '../request/get_messages';
|
|
2
|
-
export const findMessageInCaches = (queryClient, conversation_id, message_id) => {
|
|
3
|
-
const {
|
|
4
|
-
url
|
|
5
|
-
} = getMessagesRequestArgs({
|
|
6
|
-
conversation_id
|
|
7
|
-
});
|
|
8
|
-
for (const [, data] of queryClient.getQueriesData({
|
|
9
|
-
queryKey: [url]
|
|
10
|
-
})) {
|
|
11
|
-
const found = data?.pages.flatMap(page => page.data).find(message => message.id === message_id);
|
|
12
|
-
if (found) return found;
|
|
13
|
-
}
|
|
14
|
-
return undefined;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=find_message_in_caches.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find_message_in_caches.js","names":["getMessagesRequestArgs","findMessageInCaches","queryClient","conversation_id","message_id","url","data","getQueriesData","queryKey","found","pages","flatMap","page","find","message","id","undefined"],"sources":["../../../src/utils/cache/find_message_in_caches.ts"],"sourcesContent":["import { InfiniteData, QueryClient } from '@tanstack/react-query'\nimport { ApiCollection, MessageResource } from '../../types'\nimport { getMessagesRequestArgs } from '../request/get_messages'\n\ntype QueryData = InfiniteData<ApiCollection<MessageResource>>\n\nexport const findMessageInCaches = (\n queryClient: QueryClient,\n conversation_id: number,\n message_id: string\n): MessageResource | undefined => {\n const { url } = getMessagesRequestArgs({ conversation_id })\n\n for (const [, data] of queryClient.getQueriesData<QueryData>({ queryKey: [url] })) {\n const found = data?.pages.flatMap(page => page.data).find(message => message.id === message_id)\n if (found) return found\n }\n\n return undefined\n}\n"],"mappings":"AAEA,SAASA,sBAAsB,QAAQ,yBAAyB;AAIhE,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,WAAwB,EACxBC,eAAuB,EACvBC,UAAkB,KACc;EAChC,MAAM;IAAEC;EAAI,CAAC,GAAGL,sBAAsB,CAAC;IAAEG;EAAgB,CAAC,CAAC;EAE3D,KAAK,MAAM,GAAGG,IAAI,CAAC,IAAIJ,WAAW,CAACK,cAAc,CAAY;IAAEC,QAAQ,EAAE,CAACH,GAAG;EAAE,CAAC,CAAC,EAAE;IACjF,MAAMI,KAAK,GAAGH,IAAI,EAAEI,KAAK,CAACC,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACN,IAAI,CAAC,CAACO,IAAI,CAACC,OAAO,IAAIA,OAAO,CAACC,EAAE,KAAKX,UAAU,CAAC;IAC/F,IAAIK,KAAK,EAAE,OAAOA,KAAK;EACzB;EAEA,OAAOO,SAAS;AAClB,CAAC","ignoreList":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InfiniteData } from '@tanstack/react-query';
|
|
2
|
-
import { ApiCollection, ResourceObject } from '../../types';
|
|
3
|
-
import { RequestData } from '../client';
|
|
4
|
-
type PagesData<T extends ResourceObject> = InfiniteData<ApiCollection<T>, Partial<RequestData>>;
|
|
5
|
-
export declare function prependNewerPage<T extends ResourceObject>(data: PagesData<T> | undefined, pages: ApiCollection<T>[]): PagesData<T> | undefined;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=prepend_newer_page.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepend_newer_page.d.ts","sourceRoot":"","sources":["../../../src/utils/cache/prepend_newer_page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,KAAK,SAAS,CAAC,CAAC,SAAS,cAAc,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;AAE/F,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACvD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAC9B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GACxB,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAS1B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function prependNewerPage(data, pages) {
|
|
2
|
-
if (!data || data.pages.length === 0) return data;
|
|
3
|
-
const knownIds = new Set(data.pages.flatMap(page => page.data.map(record => record.id)));
|
|
4
|
-
const fresh = pages.flatMap(page => page.data).filter(record => !knownIds.has(record.id));
|
|
5
|
-
if (fresh.length === 0) return data;
|
|
6
|
-
const [first, ...rest] = data.pages;
|
|
7
|
-
return {
|
|
8
|
-
...data,
|
|
9
|
-
pages: [{
|
|
10
|
-
...first,
|
|
11
|
-
data: [...fresh, ...first.data]
|
|
12
|
-
}, ...rest]
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=prepend_newer_page.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepend_newer_page.js","names":["prependNewerPage","data","pages","length","knownIds","Set","flatMap","page","map","record","id","fresh","filter","has","first","rest"],"sources":["../../../src/utils/cache/prepend_newer_page.ts"],"sourcesContent":["import { InfiniteData } from '@tanstack/react-query'\nimport { ApiCollection, ResourceObject } from '../../types'\nimport { RequestData } from '../client'\n\ntype PagesData<T extends ResourceObject> = InfiniteData<ApiCollection<T>, Partial<RequestData>>\n\nexport function prependNewerPage<T extends ResourceObject>(\n data: PagesData<T> | undefined,\n pages: ApiCollection<T>[]\n): PagesData<T> | undefined {\n if (!data || data.pages.length === 0) return data\n\n const knownIds = new Set(data.pages.flatMap(page => page.data.map(record => record.id)))\n const fresh = pages.flatMap(page => page.data).filter(record => !knownIds.has(record.id))\n if (fresh.length === 0) return data\n\n const [first, ...rest] = data.pages\n return { ...data, pages: [{ ...first, data: [...fresh, ...first.data] }, ...rest] }\n}\n"],"mappings":"AAMA,OAAO,SAASA,gBAAgBA,CAC9BC,IAA8B,EAC9BC,KAAyB,EACC;EAC1B,IAAI,CAACD,IAAI,IAAIA,IAAI,CAACC,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,OAAOF,IAAI;EAEjD,MAAMG,QAAQ,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAACC,KAAK,CAACI,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACN,IAAI,CAACO,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACC,EAAE,CAAC,CAAC,CAAC;EACxF,MAAMC,KAAK,GAAGT,KAAK,CAACI,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACN,IAAI,CAAC,CAACW,MAAM,CAACH,MAAM,IAAI,CAACL,QAAQ,CAACS,GAAG,CAACJ,MAAM,CAACC,EAAE,CAAC,CAAC;EACzF,IAAIC,KAAK,CAACR,MAAM,KAAK,CAAC,EAAE,OAAOF,IAAI;EAEnC,MAAM,CAACa,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAGd,IAAI,CAACC,KAAK;EACnC,OAAO;IAAE,GAAGD,IAAI;IAAEC,KAAK,EAAE,CAAC;MAAE,GAAGY,KAAK;MAAEb,IAAI,EAAE,CAAC,GAAGU,KAAK,EAAE,GAAGG,KAAK,CAACb,IAAI;IAAE,CAAC,EAAE,GAAGc,IAAI;EAAE,CAAC;AACrF","ignoreList":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { MessagesCache } from '../hooks/use_conversation_messages_jolt_events';
|
|
2
|
-
export declare const gatedMessageCache: ({ queryKey, acceptNewMessages, onSkippedNewMessage, }: {
|
|
3
|
-
queryKey: unknown[];
|
|
4
|
-
acceptNewMessages: boolean;
|
|
5
|
-
onSkippedNewMessage?: () => void;
|
|
6
|
-
}) => MessagesCache;
|
|
7
|
-
//# sourceMappingURL=gated_message_cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gated_message_cache.d.ts","sourceRoot":"","sources":["../../src/utils/gated_message_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AAEnF,eAAO,MAAM,iBAAiB,GAAI,uDAI/B;IACD,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;CACjC,KAAG,aAQF,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const gatedMessageCache = ({
|
|
2
|
-
queryKey,
|
|
3
|
-
acceptNewMessages,
|
|
4
|
-
onSkippedNewMessage
|
|
5
|
-
}) => ({
|
|
6
|
-
queryKey,
|
|
7
|
-
canUpdate: event => {
|
|
8
|
-
if (event !== 'message.created' || acceptNewMessages) return true;
|
|
9
|
-
onSkippedNewMessage?.();
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=gated_message_cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gated_message_cache.js","names":["gatedMessageCache","queryKey","acceptNewMessages","onSkippedNewMessage","canUpdate","event"],"sources":["../../src/utils/gated_message_cache.ts"],"sourcesContent":["import type { MessagesCache } from '../hooks/use_conversation_messages_jolt_events'\n\nexport const gatedMessageCache = ({\n queryKey,\n acceptNewMessages,\n onSkippedNewMessage,\n}: {\n queryKey: unknown[]\n acceptNewMessages: boolean\n onSkippedNewMessage?: () => void\n}): MessagesCache => ({\n queryKey,\n canUpdate: event => {\n if (event !== 'message.created' || acceptNewMessages) return true\n\n onSkippedNewMessage?.()\n return false\n },\n})\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB,GAAGA,CAAC;EAChCC,QAAQ;EACRC,iBAAiB;EACjBC;AAKF,CAAC,MAAqB;EACpBF,QAAQ;EACRG,SAAS,EAAEC,KAAK,IAAI;IAClB,IAAIA,KAAK,KAAK,iBAAiB,IAAIH,iBAAiB,EAAE,OAAO,IAAI;IAEjEC,mBAAmB,GAAG,CAAC;IACvB,OAAO,KAAK;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|