@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator_meta.js","names":["getNextPageParamFromMeta","next","idLt","
|
|
1
|
+
{"version":3,"file":"paginator_meta.js","names":["getNextPageParamFromMeta","next","idLt","where","id_lt","idGt","id_gt","idLte","id_lte","idGte","id_gte","offset","Number","undefined"],"sources":["../../src/hooks/paginator_meta.ts"],"sourcesContent":["import { NextPageCursor } from '../types/api_primitives'\nimport { RequestData } from '../utils/client'\n\nexport const getNextPageParamFromMeta = (\n next: NextPageCursor = {}\n): Partial<RequestData> | undefined => {\n if (next.idLt) return { where: { id_lt: next.idLt } }\n if (next.idGt) return { where: { id_gt: next.idGt } }\n if (next.idLte) return { where: { id_lte: next.idLte } }\n if (next.idGte) return { where: { id_gte: next.idGte } }\n if (next.offset) return { offset: Number(next.offset) }\n return undefined\n}\n"],"mappings":"AAGA,OAAO,MAAMA,wBAAwB,GAAGA,CACtCC,IAAoB,GAAG,CAAC,CAAC,KACY;EACrC,IAAIA,IAAI,CAACC,IAAI,EAAE,OAAO;IAAEC,KAAK,EAAE;MAAEC,KAAK,EAAEH,IAAI,CAACC;IAAK;EAAE,CAAC;EACrD,IAAID,IAAI,CAACI,IAAI,EAAE,OAAO;IAAEF,KAAK,EAAE;MAAEG,KAAK,EAAEL,IAAI,CAACI;IAAK;EAAE,CAAC;EACrD,IAAIJ,IAAI,CAACM,KAAK,EAAE,OAAO;IAAEJ,KAAK,EAAE;MAAEK,MAAM,EAAEP,IAAI,CAACM;IAAM;EAAE,CAAC;EACxD,IAAIN,IAAI,CAACQ,KAAK,EAAE,OAAO;IAAEN,KAAK,EAAE;MAAEO,MAAM,EAAET,IAAI,CAACQ;IAAM;EAAE,CAAC;EACxD,IAAIR,IAAI,CAACU,MAAM,EAAE,OAAO;IAAEA,MAAM,EAAEC,MAAM,CAACX,IAAI,CAACU,MAAM;EAAE,CAAC;EACvD,OAAOE,SAAS;AAClB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAsB,MAAM,yBAAyB,CAAA;AAE3E,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EACnE,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAsB,MAAM,yBAAyB,CAAA;AAE3E,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EACnE,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,MAAM,aAAa,EACnB,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1B,CAAA"}
|
package/build/hooks/use_api.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useInfiniteQuery, useQuery } from '@tanstack/react-query';
|
|
|
3
3
|
import { useContext } from 'react';
|
|
4
4
|
import { ChatContext } from '../contexts/chat_context';
|
|
5
5
|
import { throwResponseError } from '../utils/response_error';
|
|
6
|
-
import { getNextPageParamFromMeta
|
|
6
|
+
import { getNextPageParamFromMeta } from './paginator_meta';
|
|
7
7
|
import { useApiClient } from './use_api_client';
|
|
8
8
|
import { getRequestQueryKey } from './use_suspense_api';
|
|
9
9
|
export const useApiGet = (args, opts) => {
|
|
@@ -106,15 +106,18 @@ export const useApiPaginator = (args, opts) => {
|
|
|
106
106
|
const {
|
|
107
107
|
pageParam
|
|
108
108
|
} = t2;
|
|
109
|
-
const
|
|
109
|
+
const pageParmWhere = pageParam?.where || {};
|
|
110
|
+
const argsWhere = args.data.where || {};
|
|
111
|
+
const where = {
|
|
112
|
+
...argsWhere,
|
|
113
|
+
...pageParmWhere
|
|
114
|
+
};
|
|
110
115
|
const app = args.app || "chat";
|
|
111
116
|
const offset = pageParam?.offset || args.data.offset;
|
|
112
|
-
const order = pageParam?.order || args.data.order;
|
|
113
117
|
const data = {
|
|
114
118
|
...args.data,
|
|
115
119
|
where,
|
|
116
|
-
offset
|
|
117
|
-
order
|
|
120
|
+
offset
|
|
118
121
|
};
|
|
119
122
|
return apiClient[app].get({
|
|
120
123
|
url: args.url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_api.js","names":["useInfiniteQuery","useQuery","useContext","ChatContext","throwResponseError","getNextPageParamFromMeta","
|
|
1
|
+
{"version":3,"file":"use_api.js","names":["useInfiniteQuery","useQuery","useContext","ChatContext","throwResponseError","getNextPageParamFromMeta","useApiClient","getRequestQueryKey","useApiGet","args","opts","$","_c","session","apiClient","enabled","token","access_token","t0","t1","t2","queryKey","url","d","headers","t3","app","undefined","get","data","catch","queryFn","query","t4","useApiPaginator","pageParam","pageParmWhere","where","argsWhere","offset","Symbol","for","initialPageParam","getNextPageParam","_temp","t5","pages","flatMap","_temp2","data_0","t6","lastPage","meta","next","page"],"sources":["../../src/hooks/use_api.ts"],"sourcesContent":["import { InfiniteData, useInfiniteQuery, useQuery } from '@tanstack/react-query'\nimport { useContext } from 'react'\nimport { ChatContext } from '../contexts/chat_context'\nimport { ApiCollection, ApiResource, ResourceObject } from '../types'\nimport { GetRequest, RequestData } from '../utils/client'\nimport { ResponseError, throwResponseError } from '../utils/response_error'\nimport { getNextPageParamFromMeta } from './paginator_meta'\nimport { App, useApiClient } from './use_api_client'\nimport { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'\n\ninterface ApiGetOptions extends GetRequest {\n app?: App\n}\n\nexport type ApiGetQueryOptions = {\n staleTime?: number\n gcTime?: number\n enabled?: boolean\n throwOnError?: boolean | ((error: ResponseError) => boolean)\n}\n\nexport const useApiGet = <T extends ResourceObject | ResourceObject[]>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n type Resource = ApiResource<T>\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n\n const { data, ...query } = useQuery<Resource, ResponseError>({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ queryKey }) => {\n const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return (apiClient[app].get({ url, data: d, headers }) as Promise<Resource>).catch(\n throwResponseError\n )\n },\n ...opts,\n enabled,\n })\n\n return { ...data, ...query }\n}\n\nexport const useApiPaginator = <T extends ResourceObject>(\n args: ApiGetOptions,\n opts?: ApiGetQueryOptions\n) => {\n const { session } = useContext(ChatContext)\n const apiClient = useApiClient()\n const enabled = !!session.token?.access_token && (opts?.enabled ?? true)\n const query = useInfiniteQuery<\n ApiCollection<T>,\n ResponseError,\n InfiniteData<ApiCollection<T>>,\n any,\n Partial<RequestData> | undefined\n >({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ pageParam }) => {\n const pageParmWhere = pageParam?.where || {}\n const argsWhere = args.data.where || {}\n const where = { ...argsWhere, ...pageParmWhere }\n const app = args.app || 'chat'\n const offset = pageParam?.offset || args.data.offset\n const data = { ...args.data, where, offset }\n\n return apiClient[app].get<ApiCollection<T>>({ url: args.url, data }).catch(throwResponseError)\n },\n initialPageParam: {} as Partial<RequestData>,\n getNextPageParam: lastPage => getNextPageParamFromMeta(lastPage.meta?.next),\n ...(opts || {}),\n enabled,\n })\n\n const data: T[] = query.data?.pages?.flatMap(page => page.data) || []\n\n return { ...query, data }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
import { MessageResource } from '../types';
|
|
2
2
|
import { SuspensePaginatorOptions } from './use_suspense_api';
|
|
3
|
-
|
|
3
|
+
export declare const useConversationMessages: ({ conversation_id, reply_root_id }: {
|
|
4
4
|
conversation_id: number;
|
|
5
5
|
reply_root_id?: string | null;
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
export declare const anchoredRetry: (failureCount: number, error: unknown) => boolean;
|
|
9
|
-
export declare const useConversationMessages: ({ conversation_id, reply_root_id, anchor }: Options, opts?: SuspensePaginatorOptions) => {
|
|
6
|
+
}, opts?: SuspensePaginatorOptions) => {
|
|
10
7
|
messages: MessageResource[];
|
|
11
8
|
refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("..").ApiCollection<MessageResource>, unknown>, Response>>;
|
|
12
9
|
isRefetching: boolean;
|
|
13
10
|
fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("..").ApiCollection<MessageResource>, unknown>, Response>>;
|
|
14
11
|
hasNextPage: boolean;
|
|
15
|
-
fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("..").ApiCollection<MessageResource>, unknown>, Response>>;
|
|
16
|
-
hasPreviousPage: boolean;
|
|
17
|
-
isFetchingPreviousPage: boolean;
|
|
18
12
|
queryKey: import("./use_suspense_api").RequestQueryKey;
|
|
19
13
|
};
|
|
20
|
-
export {};
|
|
21
14
|
//# sourceMappingURL=use_conversation_messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"use_conversation_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,EAAE,wBAAwB,EAAwB,MAAM,oBAAoB,CAAA;AAEnF,eAAO,MAAM,uBAAuB,GAClC,oCAAoC;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC9F,OAAO,wBAAwB;;;;;;;CAwBhC,CAAA"}
|
|
@@ -2,130 +2,91 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { replaceEqualById } from '../utils/replace_equal_by_id';
|
|
4
4
|
import { getMessagesQueryKey, getMessagesRequestArgs } from '../utils/request/get_messages';
|
|
5
|
-
import { ResponseError } from '../utils/response_error';
|
|
6
|
-
import { getNewerPageParam } from './paginator_meta';
|
|
7
5
|
import { useSuspensePaginator } from './use_suspense_api';
|
|
8
|
-
export const anchoredRetry = (failureCount, error) => {
|
|
9
|
-
const status = error instanceof ResponseError ? error.status : undefined;
|
|
10
|
-
if (status === 404 || status === 429) return false;
|
|
11
|
-
return failureCount < 3;
|
|
12
|
-
};
|
|
13
6
|
export const useConversationMessages = (t0, opts) => {
|
|
14
|
-
const $ = _c(
|
|
7
|
+
const $ = _c(17);
|
|
15
8
|
const {
|
|
16
9
|
conversation_id,
|
|
17
|
-
reply_root_id
|
|
18
|
-
anchor
|
|
10
|
+
reply_root_id
|
|
19
11
|
} = t0;
|
|
20
12
|
let t1;
|
|
21
|
-
if ($[0] !==
|
|
13
|
+
if ($[0] !== conversation_id || $[1] !== reply_root_id) {
|
|
22
14
|
t1 = getMessagesRequestArgs({
|
|
23
15
|
conversation_id,
|
|
24
|
-
reply_root_id
|
|
25
|
-
anchor
|
|
16
|
+
reply_root_id
|
|
26
17
|
});
|
|
27
|
-
$[0] =
|
|
28
|
-
$[1] =
|
|
29
|
-
$[2] =
|
|
30
|
-
$[3] = t1;
|
|
18
|
+
$[0] = conversation_id;
|
|
19
|
+
$[1] = reply_root_id;
|
|
20
|
+
$[2] = t1;
|
|
31
21
|
} else {
|
|
32
|
-
t1 = $[
|
|
22
|
+
t1 = $[2];
|
|
33
23
|
}
|
|
34
24
|
let t2;
|
|
35
|
-
if ($[
|
|
36
|
-
t2 =
|
|
37
|
-
getPreviousPageParam: _temp,
|
|
38
|
-
gcTime: 0,
|
|
39
|
-
staleTime: Infinity,
|
|
40
|
-
retry: anchoredRetry
|
|
41
|
-
} : {};
|
|
42
|
-
$[4] = anchor;
|
|
43
|
-
$[5] = t2;
|
|
44
|
-
} else {
|
|
45
|
-
t2 = $[5];
|
|
46
|
-
}
|
|
47
|
-
let t3;
|
|
48
|
-
if ($[6] !== opts || $[7] !== t2) {
|
|
49
|
-
t3 = {
|
|
25
|
+
if ($[3] !== opts) {
|
|
26
|
+
t2 = {
|
|
50
27
|
structuralSharing: replaceEqualById,
|
|
51
|
-
...t2,
|
|
52
28
|
...opts
|
|
53
29
|
};
|
|
54
|
-
$[
|
|
55
|
-
$[
|
|
56
|
-
$[8] = t3;
|
|
30
|
+
$[3] = opts;
|
|
31
|
+
$[4] = t2;
|
|
57
32
|
} else {
|
|
58
|
-
|
|
33
|
+
t2 = $[4];
|
|
59
34
|
}
|
|
60
35
|
const {
|
|
61
36
|
data,
|
|
62
37
|
refetch,
|
|
63
38
|
isRefetching,
|
|
64
39
|
fetchNextPage,
|
|
65
|
-
hasNextPage
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
let t4;
|
|
71
|
-
if ($[9] !== anchor || $[10] !== conversation_id || $[11] !== reply_root_id) {
|
|
72
|
-
t4 = getMessagesQueryKey({
|
|
40
|
+
hasNextPage
|
|
41
|
+
} = useSuspensePaginator(t1, t2);
|
|
42
|
+
let t3;
|
|
43
|
+
if ($[5] !== conversation_id || $[6] !== reply_root_id) {
|
|
44
|
+
t3 = getMessagesQueryKey({
|
|
73
45
|
conversation_id,
|
|
74
|
-
reply_root_id
|
|
75
|
-
anchor
|
|
46
|
+
reply_root_id
|
|
76
47
|
});
|
|
77
|
-
$[
|
|
78
|
-
$[
|
|
79
|
-
$[
|
|
80
|
-
$[12] = t4;
|
|
48
|
+
$[5] = conversation_id;
|
|
49
|
+
$[6] = reply_root_id;
|
|
50
|
+
$[7] = t3;
|
|
81
51
|
} else {
|
|
82
|
-
|
|
52
|
+
t3 = $[7];
|
|
83
53
|
}
|
|
84
|
-
const queryKey =
|
|
85
|
-
let
|
|
86
|
-
if ($[
|
|
87
|
-
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
54
|
+
const queryKey = t3;
|
|
55
|
+
let t4;
|
|
56
|
+
if ($[8] !== data) {
|
|
57
|
+
t4 = data.filter(_temp).sort(_temp2);
|
|
58
|
+
$[8] = data;
|
|
59
|
+
$[9] = t4;
|
|
90
60
|
} else {
|
|
91
|
-
|
|
61
|
+
t4 = $[9];
|
|
92
62
|
}
|
|
93
|
-
const messages =
|
|
94
|
-
let
|
|
95
|
-
if ($[
|
|
96
|
-
|
|
63
|
+
const messages = t4;
|
|
64
|
+
let t5;
|
|
65
|
+
if ($[10] !== fetchNextPage || $[11] !== hasNextPage || $[12] !== isRefetching || $[13] !== messages || $[14] !== queryKey || $[15] !== refetch) {
|
|
66
|
+
t5 = {
|
|
97
67
|
messages,
|
|
98
68
|
refetch,
|
|
99
69
|
isRefetching,
|
|
100
70
|
fetchNextPage,
|
|
101
71
|
hasNextPage,
|
|
102
|
-
fetchPreviousPage,
|
|
103
|
-
hasPreviousPage,
|
|
104
|
-
isFetchingPreviousPage,
|
|
105
72
|
queryKey
|
|
106
73
|
};
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
113
|
-
$[
|
|
114
|
-
$[22] = queryKey;
|
|
115
|
-
$[23] = refetch;
|
|
116
|
-
$[24] = t6;
|
|
74
|
+
$[10] = fetchNextPage;
|
|
75
|
+
$[11] = hasNextPage;
|
|
76
|
+
$[12] = isRefetching;
|
|
77
|
+
$[13] = messages;
|
|
78
|
+
$[14] = queryKey;
|
|
79
|
+
$[15] = refetch;
|
|
80
|
+
$[16] = t5;
|
|
117
81
|
} else {
|
|
118
|
-
|
|
82
|
+
t5 = $[16];
|
|
119
83
|
}
|
|
120
|
-
return
|
|
84
|
+
return t5;
|
|
121
85
|
};
|
|
122
|
-
function _temp(
|
|
123
|
-
return getNewerPageParam(page, pageParam);
|
|
124
|
-
}
|
|
125
|
-
function _temp2(message) {
|
|
86
|
+
function _temp(message) {
|
|
126
87
|
return (!message.deletedAt || message.replyRootId) && (message.attachments?.length || message.text?.length);
|
|
127
88
|
}
|
|
128
|
-
function
|
|
89
|
+
function _temp2(a, b) {
|
|
129
90
|
return -a.id.localeCompare(b.id);
|
|
130
91
|
}
|
|
131
92
|
//# sourceMappingURL=use_conversation_messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation_messages.js","names":["useMemo","replaceEqualById","getMessagesQueryKey","getMessagesRequestArgs","
|
|
1
|
+
{"version":3,"file":"use_conversation_messages.js","names":["useMemo","replaceEqualById","getMessagesQueryKey","getMessagesRequestArgs","useSuspensePaginator","useConversationMessages","t0","opts","$","_c","conversation_id","reply_root_id","t1","t2","structuralSharing","data","refetch","isRefetching","fetchNextPage","hasNextPage","t3","queryKey","t4","filter","_temp","sort","_temp2","messages","t5","message","deletedAt","replyRootId","attachments","length","text","a","b","id","localeCompare"],"sources":["../../src/hooks/use_conversation_messages.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { MessageResource } from '../types'\nimport { replaceEqualById } from '../utils/replace_equal_by_id'\nimport { getMessagesQueryKey, getMessagesRequestArgs } from '../utils/request/get_messages'\nimport { SuspensePaginatorOptions, useSuspensePaginator } from './use_suspense_api'\n\nexport const useConversationMessages = (\n { conversation_id, reply_root_id }: { conversation_id: number; reply_root_id?: string | null },\n opts?: SuspensePaginatorOptions\n) => {\n const { data, refetch, isRefetching, fetchNextPage, hasNextPage } =\n useSuspensePaginator<MessageResource>(\n getMessagesRequestArgs({ conversation_id, reply_root_id }),\n {\n structuralSharing: replaceEqualById,\n ...opts,\n }\n )\n const queryKey = getMessagesQueryKey({ conversation_id, reply_root_id })\n const messages = useMemo(\n () =>\n data\n .filter(\n message =>\n (!message.deletedAt || message.replyRootId) &&\n (message.attachments?.length || message.text?.length)\n )\n .sort((a, b) => -a.id.localeCompare(b.id)),\n [data]\n )\n\n return { messages, refetch, isRefetching, fetchNextPage, hasNextPage, queryKey }\n}\n"],"mappings":";AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,mBAAmB,EAAEC,sBAAsB,QAAQ,+BAA+B;AAC3F,SAAmCC,oBAAoB,QAAQ,oBAAoB;AAEnF,OAAO,MAAMC,uBAAuB,GAAGA,CAAAC,EAAA,EAAAC,IAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACrC;IAAAC,eAAA;IAAAC;EAAA,IAAAL,EAA8F;EAAA,IAAAM,EAAA;EAAA,IAAAJ,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,aAAA;IAK1FC,EAAA,GAAAT,sBAAsB,CAAC;MAAAO,eAAA;MAAAC;IAAiC,CAAC,CAAC;IAAAH,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,aAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAD,IAAA;IAC1DM,EAAA;MAAAC,iBAAA,EACqBb,gBAAgB;MAAA,GAChCM;IACL,CAAC;IAAAC,CAAA,MAAAD,IAAA;IAAAC,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EANL;IAAAO,IAAA;IAAAC,OAAA;IAAAC,YAAA;IAAAC,aAAA;IAAAC;EAAA,IACEf,oBAAoB,CAClBQ,EAA0D,EAC1DC,EAIF,CAAC;EAAA,IAAAO,EAAA;EAAA,IAAAZ,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,aAAA;IACcS,EAAA,GAAAlB,mBAAmB,CAAC;MAAAQ,eAAA;MAAAC;IAAiC,CAAC,CAAC;IAAAH,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,aAAA;IAAAH,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAAxE,MAAAa,QAAA,GAAiBD,EAAuD;EAAA,IAAAE,EAAA;EAAA,IAAAd,CAAA,QAAAO,IAAA;IAGpEO,EAAA,GAAAP,IAAI,CAAAQ,MACK,CACLC,KAGF,CAAC,CAAAC,IACI,CAACC,MAAmC,CAAC;IAAAlB,CAAA,MAAAO,IAAA;IAAAP,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EARhD,MAAAmB,QAAA,GAEIL,EAM4C;EAE/C,IAAAM,EAAA;EAAA,IAAApB,CAAA,SAAAU,aAAA,IAAAV,CAAA,SAAAW,WAAA,IAAAX,CAAA,SAAAS,YAAA,IAAAT,CAAA,SAAAmB,QAAA,IAAAnB,CAAA,SAAAa,QAAA,IAAAb,CAAA,SAAAQ,OAAA;IAEMY,EAAA;MAAAD,QAAA;MAAAX,OAAA;MAAAC,YAAA;MAAAC,aAAA;MAAAC,WAAA;MAAAE;IAAwE,CAAC;IAAAb,CAAA,OAAAU,aAAA;IAAAV,CAAA,OAAAW,WAAA;IAAAX,CAAA,OAAAS,YAAA;IAAAT,CAAA,OAAAmB,QAAA;IAAAnB,CAAA,OAAAa,QAAA;IAAAb,CAAA,OAAAQ,OAAA;IAAAR,CAAA,OAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAAA,OAAzEoB,EAAyE;AAAA,CACjF;AA1BsC,SAAAJ,MAAAK,OAAA;EAAA,OAkB3B,CAAC,CAACA,OAAO,CAAAC,SAAiC,IAAnBD,OAAO,CAAAE,WACuB,MAApDF,OAAO,CAAAG,WAAoB,EAAAC,MAAwB,IAApBJ,OAAO,CAAAK,IAAa,EAAAD,MAAC;AAAA;AAnB1B,SAAAP,OAAAS,CAAA,EAAAC,CAAA;EAAA,OAqBf,CAACD,CAAC,CAAAE,EAAG,CAAAC,aAAc,CAACF,CAAC,CAAAC,EAAG,CAAC;AAAA","ignoreList":[]}
|
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
export type MessagesJoltEvent = 'message.created' | 'message.updated' | 'message.destroyed' | 'reaction';
|
|
2
|
-
export interface MessagesCache {
|
|
3
|
-
queryKey: unknown[];
|
|
4
|
-
canUpdate?: (event: MessagesJoltEvent) => boolean;
|
|
5
|
-
}
|
|
6
|
-
export interface MessagesView {
|
|
7
|
-
replyRootId: string | null;
|
|
8
|
-
cache: MessagesCache;
|
|
9
|
-
}
|
|
10
|
-
type MessageEventData = {
|
|
11
|
-
sort_key: string;
|
|
12
|
-
reply_root_id?: string | null;
|
|
13
|
-
};
|
|
14
1
|
interface Props {
|
|
15
2
|
conversationId: number;
|
|
16
|
-
replyRootId?: string | null;
|
|
17
|
-
messageCache?: MessagesCache;
|
|
18
3
|
}
|
|
19
|
-
export declare
|
|
20
|
-
export declare function useConversationMessagesJoltEvents({ conversationId, replyRootId, messageCache, }: Props): void;
|
|
4
|
+
export declare function useConversationMessagesJoltEvents({ conversationId }: Props): void;
|
|
21
5
|
export {};
|
|
22
6
|
//# sourceMappingURL=use_conversation_messages_jolt_events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_conversation_messages_jolt_events.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages_jolt_events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use_conversation_messages_jolt_events.d.ts","sourceRoot":"","sources":["../../src/hooks/use_conversation_messages_jolt_events.ts"],"names":[],"mappings":"AA0BA,UAAU,KAAK;IACb,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,iCAAiC,CAAC,EAAE,cAAc,EAAE,EAAE,KAAK,QAqG1E"}
|
|
@@ -1,68 +1,45 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { useQueryClient } from '@tanstack/react-query';
|
|
3
3
|
import { deleteRecordInPagesData } from '../utils';
|
|
4
|
-
import { updateCacheWithMessage, updateCacheWithIndividualMessage, updateCacheWithReaction, updateCacheReplyRoots } from '../utils/cache/messages_cache';
|
|
4
|
+
import { updateCacheWithMessage, updateCacheWithIndividualMessage, updateCacheWithReaction, updateCacheReplyRoots, getThreadedMessagesQueryKey } from '../utils/cache/messages_cache';
|
|
5
5
|
import { transformMessageEventDataToMessageResource } from '../utils/jolt/transform_message_event_data_to_message_resource';
|
|
6
6
|
import { completeMessageCreationTracking } from '../utils/performance_tracking';
|
|
7
7
|
import { getMessageQueryKey } from '../utils/request/get_message';
|
|
8
|
-
import {
|
|
8
|
+
import { getMessagesRequestArgs } from '../utils/request/get_messages';
|
|
9
9
|
import { useApiClient } from './use_api_client';
|
|
10
10
|
import { useCurrentPerson } from './use_current_person';
|
|
11
11
|
import { useJoltChannel, useJoltEvent } from './use_jolt';
|
|
12
|
+
import { getRequestQueryKey } from './use_suspense_api';
|
|
12
13
|
import { TYPING_TIMEOUT_INTERVAL, useTypingStatusCache } from './use_typing_status_cache';
|
|
13
|
-
const belongsToView = (replyRootId, data) => replyRootId === null || data.reply_root_id === replyRootId || data.sort_key === replyRootId;
|
|
14
|
-
export const queryKeysForEvent = (event, view, data) => {
|
|
15
|
-
const accepted = !view.cache.canUpdate || view.cache.canUpdate(event);
|
|
16
|
-
return belongsToView(view.replyRootId, data) && accepted ? [view.cache.queryKey] : [];
|
|
17
|
-
};
|
|
18
14
|
export function useConversationMessagesJoltEvents(t0) {
|
|
19
|
-
const $ = _c(
|
|
15
|
+
const $ = _c(22);
|
|
20
16
|
const {
|
|
21
|
-
conversationId
|
|
22
|
-
replyRootId: t1,
|
|
23
|
-
messageCache
|
|
17
|
+
conversationId
|
|
24
18
|
} = t0;
|
|
25
|
-
const replyRootId = t1 === undefined ? null : t1;
|
|
26
19
|
const queryClient = useQueryClient();
|
|
27
20
|
const currentPerson = useCurrentPerson();
|
|
28
21
|
const joltChannel = useJoltChannel(`chat.conversations.${conversationId}`);
|
|
29
|
-
let
|
|
30
|
-
if ($[0] !== conversationId
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})
|
|
36
|
-
};
|
|
22
|
+
let t1;
|
|
23
|
+
if ($[0] !== conversationId) {
|
|
24
|
+
const messagesRequestArgs = getMessagesRequestArgs({
|
|
25
|
+
conversation_id: conversationId
|
|
26
|
+
});
|
|
27
|
+
t1 = getRequestQueryKey(messagesRequestArgs);
|
|
37
28
|
$[0] = conversationId;
|
|
38
|
-
$[1] =
|
|
39
|
-
$[2] = replyRootId;
|
|
40
|
-
$[3] = t2;
|
|
41
|
-
} else {
|
|
42
|
-
t2 = $[3];
|
|
43
|
-
}
|
|
44
|
-
let t3;
|
|
45
|
-
if ($[4] !== replyRootId || $[5] !== t2) {
|
|
46
|
-
t3 = {
|
|
47
|
-
replyRootId,
|
|
48
|
-
cache: t2
|
|
49
|
-
};
|
|
50
|
-
$[4] = replyRootId;
|
|
51
|
-
$[5] = t2;
|
|
52
|
-
$[6] = t3;
|
|
29
|
+
$[1] = t1;
|
|
53
30
|
} else {
|
|
54
|
-
|
|
31
|
+
t1 = $[1];
|
|
55
32
|
}
|
|
56
|
-
const
|
|
33
|
+
const messagesQueryKey = t1;
|
|
57
34
|
const apiClient = useApiClient();
|
|
58
35
|
const {
|
|
59
36
|
addTypingEvent,
|
|
60
37
|
removeTypingEventById,
|
|
61
38
|
removeAllTypingEventsByAuthorId
|
|
62
39
|
} = useTypingStatusCache(conversationId);
|
|
63
|
-
let
|
|
64
|
-
if ($[
|
|
65
|
-
|
|
40
|
+
let t2;
|
|
41
|
+
if ($[2] !== apiClient || $[3] !== conversationId || $[4] !== currentPerson.id || $[5] !== messagesQueryKey || $[6] !== queryClient || $[7] !== removeAllTypingEventsByAuthorId) {
|
|
42
|
+
t2 = async e => {
|
|
66
43
|
const {
|
|
67
44
|
data
|
|
68
45
|
} = e.data;
|
|
@@ -80,10 +57,14 @@ export function useConversationMessagesJoltEvents(t0) {
|
|
|
80
57
|
});
|
|
81
58
|
}
|
|
82
59
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
60
|
+
updateCacheWithMessage(queryClient, messagesQueryKey, message, e.event);
|
|
61
|
+
if (data.reply_root_id) {
|
|
62
|
+
const threadedMessagesQueryKey = getThreadedMessagesQueryKey(conversationId, data.reply_root_id);
|
|
63
|
+
updateCacheWithMessage(queryClient, threadedMessagesQueryKey, message, e.event);
|
|
64
|
+
if (isReplyRootUpdate) {
|
|
65
|
+
updateCacheReplyRoots(queryClient, messagesQueryKey, message);
|
|
66
|
+
updateCacheReplyRoots(queryClient, threadedMessagesQueryKey, message);
|
|
67
|
+
}
|
|
87
68
|
}
|
|
88
69
|
if (e.event === "message.updated") {
|
|
89
70
|
const individualMessageQueryKey = getMessageQueryKey({
|
|
@@ -93,20 +74,20 @@ export function useConversationMessagesJoltEvents(t0) {
|
|
|
93
74
|
updateCacheWithIndividualMessage(queryClient, individualMessageQueryKey, message);
|
|
94
75
|
}
|
|
95
76
|
};
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
100
|
-
$[
|
|
101
|
-
$[
|
|
102
|
-
$[
|
|
77
|
+
$[2] = apiClient;
|
|
78
|
+
$[3] = conversationId;
|
|
79
|
+
$[4] = currentPerson.id;
|
|
80
|
+
$[5] = messagesQueryKey;
|
|
81
|
+
$[6] = queryClient;
|
|
82
|
+
$[7] = removeAllTypingEventsByAuthorId;
|
|
83
|
+
$[8] = t2;
|
|
103
84
|
} else {
|
|
104
|
-
|
|
85
|
+
t2 = $[8];
|
|
105
86
|
}
|
|
106
|
-
const handleMessageUpdateOrCreate =
|
|
107
|
-
let
|
|
108
|
-
if ($[
|
|
109
|
-
|
|
87
|
+
const handleMessageUpdateOrCreate = t2;
|
|
88
|
+
let t3;
|
|
89
|
+
if ($[9] !== conversationId || $[10] !== currentPerson.id || $[11] !== messagesQueryKey || $[12] !== queryClient) {
|
|
90
|
+
t3 = async e_0 => {
|
|
110
91
|
const {
|
|
111
92
|
data: data_0
|
|
112
93
|
} = e_0.data;
|
|
@@ -114,52 +95,62 @@ export function useConversationMessagesJoltEvents(t0) {
|
|
|
114
95
|
data: data_0,
|
|
115
96
|
currentPersonId: currentPerson.id
|
|
116
97
|
});
|
|
117
|
-
|
|
98
|
+
queryClient.setQueryData(messagesQueryKey, prev => deleteRecordInPagesData({
|
|
118
99
|
data: prev,
|
|
119
100
|
record: message_0
|
|
120
|
-
}))
|
|
101
|
+
}));
|
|
102
|
+
if (data_0.reply_root_id) {
|
|
103
|
+
const threadedMessagesQueryKey_0 = getThreadedMessagesQueryKey(conversationId, data_0.reply_root_id);
|
|
104
|
+
queryClient.setQueryData(threadedMessagesQueryKey_0, prev_0 => deleteRecordInPagesData({
|
|
105
|
+
data: prev_0,
|
|
106
|
+
record: message_0
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
121
109
|
};
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
110
|
+
$[9] = conversationId;
|
|
111
|
+
$[10] = currentPerson.id;
|
|
112
|
+
$[11] = messagesQueryKey;
|
|
113
|
+
$[12] = queryClient;
|
|
114
|
+
$[13] = t3;
|
|
126
115
|
} else {
|
|
127
|
-
|
|
116
|
+
t3 = $[13];
|
|
128
117
|
}
|
|
129
|
-
const handleMessageDeleted =
|
|
130
|
-
let
|
|
131
|
-
if ($[
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
118
|
+
const handleMessageDeleted = t3;
|
|
119
|
+
let t4;
|
|
120
|
+
if ($[14] !== conversationId || $[15] !== currentPerson.id || $[16] !== messagesQueryKey || $[17] !== queryClient) {
|
|
121
|
+
t4 = async e_1 => {
|
|
122
|
+
updateCacheWithReaction(queryClient, messagesQueryKey, e_1, currentPerson.id);
|
|
123
|
+
const replyRootId = e_1.data.data.reply_root_id;
|
|
124
|
+
if (replyRootId) {
|
|
125
|
+
const threadedMessagesQueryKey_1 = getThreadedMessagesQueryKey(conversationId, replyRootId);
|
|
126
|
+
updateCacheWithReaction(queryClient, threadedMessagesQueryKey_1, e_1, currentPerson.id);
|
|
127
|
+
}
|
|
138
128
|
};
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
129
|
+
$[14] = conversationId;
|
|
130
|
+
$[15] = currentPerson.id;
|
|
131
|
+
$[16] = messagesQueryKey;
|
|
132
|
+
$[17] = queryClient;
|
|
133
|
+
$[18] = t4;
|
|
143
134
|
} else {
|
|
144
|
-
|
|
135
|
+
t4 = $[18];
|
|
145
136
|
}
|
|
146
|
-
const handleReactionJoltEvent =
|
|
147
|
-
let
|
|
148
|
-
if ($[
|
|
149
|
-
|
|
137
|
+
const handleReactionJoltEvent = t4;
|
|
138
|
+
let t5;
|
|
139
|
+
if ($[19] !== addTypingEvent || $[20] !== removeTypingEventById) {
|
|
140
|
+
t5 = async e_2 => {
|
|
150
141
|
const {
|
|
151
|
-
data:
|
|
142
|
+
data: data_1
|
|
152
143
|
} = e_2.data;
|
|
153
|
-
addTypingEvent(
|
|
154
|
-
setTimeout(() => removeTypingEventById(
|
|
144
|
+
addTypingEvent(data_1);
|
|
145
|
+
setTimeout(() => removeTypingEventById(data_1.id), TYPING_TIMEOUT_INTERVAL);
|
|
155
146
|
};
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
147
|
+
$[19] = addTypingEvent;
|
|
148
|
+
$[20] = removeTypingEventById;
|
|
149
|
+
$[21] = t5;
|
|
159
150
|
} else {
|
|
160
|
-
|
|
151
|
+
t5 = $[21];
|
|
161
152
|
}
|
|
162
|
-
const handleTypingEvent =
|
|
153
|
+
const handleTypingEvent = t5;
|
|
163
154
|
useJoltEvent(joltChannel, "message.created", handleMessageUpdateOrCreate);
|
|
164
155
|
useJoltEvent(joltChannel, "message.updated", handleMessageUpdateOrCreate);
|
|
165
156
|
useJoltEvent(joltChannel, "message.destroyed", handleMessageDeleted);
|