fix: update subscription
This commit is contained in:
parent
7dd80f0a13
commit
913ea3bc0d
|
|
@ -1,14 +1,11 @@
|
|||
import { Kbd } from "@follow/components/ui/kbd/Kbd.js"
|
||||
import { subscriptionSyncService } from "@follow/store/subscription/store"
|
||||
import type { SubscriptionModel } from "@follow/store/subscription/types"
|
||||
import { unreadActions } from "@follow/store/unread/store"
|
||||
import { useMutation } from "@tanstack/react-query"
|
||||
import { useHotkeys } from "react-hotkeys-hook"
|
||||
import { Trans, useTranslation } from "react-i18next"
|
||||
import { toast } from "sonner"
|
||||
|
||||
import { apiClient } from "~/lib/api-fetch"
|
||||
|
||||
import { navigateEntry } from "./useNavigateEntry"
|
||||
import { getRouteParams } from "./useRouteParams"
|
||||
|
||||
|
|
@ -39,19 +36,16 @@ export const useDeleteSubscription = ({ onSuccess }: { onSuccess?: () => void }
|
|||
if (!subscription) return
|
||||
if (!feed) return
|
||||
const undo = async () => {
|
||||
// TODO store action
|
||||
const { unread } = await apiClient.subscriptions.$post({
|
||||
json: {
|
||||
url: feed.type === "feed" ? feed.url : undefined,
|
||||
listId: feed.type === "list" ? feed.id : undefined,
|
||||
view: subscription.view,
|
||||
category: subscription.category,
|
||||
isPrivate: subscription.isPrivate,
|
||||
},
|
||||
await subscriptionSyncService.subscribe({
|
||||
url: feed.type === "feed" ? feed.url : undefined,
|
||||
listId: feed.type === "list" ? feed.id : undefined,
|
||||
view: subscription.view,
|
||||
category: subscription.category,
|
||||
isPrivate: subscription.isPrivate,
|
||||
feedId: feed.id,
|
||||
title: feed.title,
|
||||
hideFromTimeline: subscription.hideFromTimeline,
|
||||
})
|
||||
unreadActions.upsertMany(unread)
|
||||
|
||||
subscriptionSyncService.fetch()
|
||||
|
||||
toast.dismiss(toastId)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,11 +15,10 @@ import { ScrollArea } from "@follow/components/ui/scroll-area/index.js"
|
|||
import { Switch } from "@follow/components/ui/switch/index.jsx"
|
||||
import { FeedViewType } from "@follow/constants"
|
||||
import type { EntryModelSimple, FeedAnalyticsModel, FeedModel } from "@follow/models/types"
|
||||
import { invalidateEntriesQuery } from "@follow/store/entry/hooks"
|
||||
import { useFeedByIdOrUrl } from "@follow/store/feed/hooks"
|
||||
import { useCategories, useSubscriptionByFeedId } from "@follow/store/subscription/hooks"
|
||||
import { subscriptionSyncService } from "@follow/store/subscription/store"
|
||||
import { unreadActions } from "@follow/store/unread/store"
|
||||
import { whoami } from "@follow/store/user/getters"
|
||||
import { tracker } from "@follow/tracker"
|
||||
import { cn } from "@follow/utils/utils"
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
|
|
@ -30,12 +29,10 @@ import { useTranslation } from "react-i18next"
|
|||
import { toast } from "sonner"
|
||||
import { z } from "zod"
|
||||
|
||||
import { getGeneralSettings } from "~/atoms/settings/general"
|
||||
import { Autocomplete } from "~/components/ui/auto-completion"
|
||||
import { useCurrentModal, useIsInModal } from "~/components/ui/modal/stacked/hooks"
|
||||
import { getRouteParams } from "~/hooks/biz/useRouteParams"
|
||||
import { useI18n } from "~/hooks/common"
|
||||
import { apiClient } from "~/lib/api-fetch"
|
||||
import { toastFetchError } from "~/lib/error-parser"
|
||||
import { feed as feedQuery, useFeedQuery } from "~/queries/feed"
|
||||
|
||||
|
|
@ -239,34 +236,27 @@ const FeedInnerForm = ({
|
|||
|
||||
const followMutation = useMutation({
|
||||
mutationFn: async (values: z.infer<typeof formSchema>) => {
|
||||
const userId = whoami()?.id || ""
|
||||
const body = {
|
||||
url: feed.url,
|
||||
view: Number.parseInt(values.view),
|
||||
category: values.category,
|
||||
isPrivate: values.isPrivate,
|
||||
isPrivate: values.isPrivate || false,
|
||||
hideFromTimeline: values.hideFromTimeline,
|
||||
title: values.title,
|
||||
feedId: feed.id,
|
||||
}
|
||||
const $method = isSubscribed ? apiClient.subscriptions.$patch : apiClient.subscriptions.$post
|
||||
userId,
|
||||
type: "feed",
|
||||
listId: undefined,
|
||||
} as const
|
||||
|
||||
return $method({
|
||||
json: body,
|
||||
}) as unknown as Promise<
|
||||
| ReturnType<typeof apiClient.subscriptions.$post>
|
||||
| ReturnType<typeof apiClient.subscriptions.$patch>
|
||||
>
|
||||
if (isSubscribed) {
|
||||
return subscriptionSyncService.edit(body)
|
||||
} else {
|
||||
return subscriptionSyncService.subscribe(body)
|
||||
}
|
||||
},
|
||||
onSuccess: (data, variables) => {
|
||||
if (getGeneralSettings().hidePrivateSubscriptionsInTimeline) {
|
||||
invalidateEntriesQuery({ views: [Number(variables.view)] })
|
||||
}
|
||||
|
||||
if ("unread" in data) {
|
||||
unreadActions.upsertMany(data.unread)
|
||||
}
|
||||
subscriptionSyncService.fetch()
|
||||
|
||||
onSuccess: () => {
|
||||
const feedId = feed.id
|
||||
if (feedId) {
|
||||
feedQuery.byId({ id: feedId }).invalidate()
|
||||
|
|
@ -275,10 +265,6 @@ const FeedInnerForm = ({
|
|||
duration: 1000,
|
||||
})
|
||||
|
||||
if (!isSubscribed) {
|
||||
tracker.subscribe({ feedId: feed.id, view: Number.parseInt(variables.view) })
|
||||
}
|
||||
|
||||
onSuccess?.()
|
||||
},
|
||||
onError(err) {
|
||||
|
|
|
|||
|
|
@ -13,12 +13,11 @@ import { LoadingCircle } from "@follow/components/ui/loading/index.jsx"
|
|||
import { Switch } from "@follow/components/ui/switch/index.jsx"
|
||||
import { FeedViewType } from "@follow/constants"
|
||||
import type { ListAnalyticsModel } from "@follow/models/types"
|
||||
import { invalidateEntriesQuery } from "@follow/store/entry/hooks"
|
||||
import { useListById, usePrefetchListById } from "@follow/store/list/hooks"
|
||||
import type { ListModel } from "@follow/store/list/types"
|
||||
import { useSubscriptionByFeedId } from "@follow/store/subscription/hooks"
|
||||
import { subscriptionSyncService } from "@follow/store/subscription/store"
|
||||
import { unreadActions } from "@follow/store/unread/store"
|
||||
import { whoami } from "@follow/store/user/getters"
|
||||
import { tracker } from "@follow/tracker"
|
||||
import { cn } from "@follow/utils/utils"
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
|
|
@ -29,10 +28,8 @@ import { useTranslation } from "react-i18next"
|
|||
import { toast } from "sonner"
|
||||
import { z } from "zod"
|
||||
|
||||
import { getGeneralSettings } from "~/atoms/settings/general"
|
||||
import { useCurrentModal } from "~/components/ui/modal/stacked/hooks"
|
||||
import { useI18n } from "~/hooks/common"
|
||||
import { apiClient } from "~/lib/api-fetch"
|
||||
import { getFetchErrorMessage, toastFetchError } from "~/lib/error-parser"
|
||||
import { getNewIssueUrl } from "~/lib/issues"
|
||||
|
||||
|
|
@ -213,47 +210,32 @@ const ListInnerForm = ({
|
|||
|
||||
const followMutation = useMutation({
|
||||
mutationFn: async (values: z.infer<typeof formSchema> & { TOTPCode?: string }) => {
|
||||
const userId = whoami()?.id || ""
|
||||
const body = {
|
||||
listId: list.id,
|
||||
view: Number.parseInt(values.view),
|
||||
category: values.category,
|
||||
isPrivate: values.isPrivate,
|
||||
isPrivate: values.isPrivate || false,
|
||||
hideFromTimeline: values.hideFromTimeline,
|
||||
title: values.title,
|
||||
TOTPCode: values.TOTPCode,
|
||||
}
|
||||
const $method = isSubscribed ? apiClient.subscriptions.$patch : apiClient.subscriptions.$post
|
||||
userId,
|
||||
type: "list",
|
||||
url: undefined,
|
||||
feedId: undefined,
|
||||
} as const
|
||||
|
||||
return $method({
|
||||
json: body,
|
||||
}) as unknown as Promise<
|
||||
| ReturnType<typeof apiClient.subscriptions.$post>
|
||||
| ReturnType<typeof apiClient.subscriptions.$patch>
|
||||
>
|
||||
if (isSubscribed) {
|
||||
return subscriptionSyncService.edit(body)
|
||||
} else {
|
||||
return subscriptionSyncService.subscribe(body)
|
||||
}
|
||||
},
|
||||
onSuccess: (data, variables) => {
|
||||
if (getGeneralSettings().hidePrivateSubscriptionsInTimeline) {
|
||||
invalidateEntriesQuery({ views: [Number(variables.view)] })
|
||||
}
|
||||
|
||||
if ("unread" in data) {
|
||||
const { unread } = data
|
||||
unreadActions.upsertMany(unread)
|
||||
}
|
||||
subscriptionSyncService.fetch()
|
||||
|
||||
const listId = list.id
|
||||
if (listId) {
|
||||
// listsQuery.byId({ id: listId }).invalidate()
|
||||
}
|
||||
onSuccess: () => {
|
||||
toast(isSubscribed ? t("feed_form.updated") : t("feed_form.followed"), {
|
||||
duration: 1000,
|
||||
})
|
||||
|
||||
if (!isSubscribed) {
|
||||
tracker.subscribe({ listId: list.id, view: Number.parseInt(variables.view) })
|
||||
}
|
||||
|
||||
onSuccess?.()
|
||||
},
|
||||
async onError(err) {
|
||||
|
|
|
|||
|
|
@ -182,6 +182,7 @@ const useLocalEntries = (): UseEntriesReturn => {
|
|||
entryIdsByInboxId,
|
||||
entryIdsByListId,
|
||||
entryIdsByView,
|
||||
isCollection,
|
||||
showEntriesByView,
|
||||
unreadOnly,
|
||||
],
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ export const useEntryIdsByView = (view: FeedViewType, excludePrivate: boolean |
|
|||
return Array.from(ids)
|
||||
.filter((id) => {
|
||||
const subscription = getSubscriptionByEntryId(id)
|
||||
if (excludePrivate && subscription?.isPrivate) {
|
||||
if ((excludePrivate && subscription?.isPrivate) || subscription?.hideFromTimeline) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -243,12 +243,9 @@ class SubscriptionSyncService {
|
|||
})
|
||||
tx.request(async () => {
|
||||
await api().subscriptions.update({
|
||||
view: subscription.view,
|
||||
...subscription,
|
||||
feedId: subscription.feedId ?? undefined,
|
||||
isPrivate: subscription.isPrivate ?? undefined,
|
||||
listId: subscription.listId ?? undefined,
|
||||
category: subscription.category ?? undefined,
|
||||
title: subscription.title ?? undefined,
|
||||
})
|
||||
})
|
||||
|
||||
|
|
@ -257,6 +254,8 @@ class SubscriptionSyncService {
|
|||
})
|
||||
|
||||
await tx.run()
|
||||
|
||||
invalidateEntriesQuery({ views: [subscription.view] })
|
||||
}
|
||||
|
||||
async subscribe(subscription: SubscriptionForm) {
|
||||
|
|
@ -283,8 +282,9 @@ class SubscriptionSyncService {
|
|||
if (data.unread) {
|
||||
unreadActions.upsertMany(data.unread)
|
||||
}
|
||||
|
||||
// Insert to subscription
|
||||
subscriptionActions.upsertMany([
|
||||
await subscriptionActions.upsertMany([
|
||||
{
|
||||
...subscription,
|
||||
title: subscription.title ?? null,
|
||||
|
|
@ -298,6 +298,8 @@ class SubscriptionSyncService {
|
|||
userId: whoami()?.id ?? "",
|
||||
},
|
||||
])
|
||||
|
||||
invalidateEntriesQuery({ views: [subscription.view] })
|
||||
}
|
||||
|
||||
async unsubscribe(id: string | undefined | null | (string | undefined | null)[]) {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ settings:
|
|||
catalogs:
|
||||
default:
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 0.3.24
|
||||
version: 0.3.24
|
||||
specifier: 0.3.25
|
||||
version: 0.3.25
|
||||
typescript:
|
||||
specifier: 5.8.3
|
||||
version: 5.8.3
|
||||
|
|
@ -461,7 +461,7 @@ importers:
|
|||
version: 3.0.2(electron@37.2.0)
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
'@follow/database':
|
||||
specifier: workspace:*
|
||||
version: link:../../../../packages/internal/database
|
||||
|
|
@ -1627,7 +1627,7 @@ importers:
|
|||
dependencies:
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
'@follow/configs':
|
||||
specifier: workspace:*
|
||||
version: link:../../configs
|
||||
|
|
@ -1639,7 +1639,7 @@ importers:
|
|||
dependencies:
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
'@follow/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
|
|
@ -1717,7 +1717,7 @@ importers:
|
|||
dependencies:
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
'@follow/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
|
|
@ -1781,7 +1781,7 @@ importers:
|
|||
dependencies:
|
||||
'@follow-app/client-sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)
|
||||
'@follow/configs':
|
||||
specifier: workspace:*
|
||||
version: link:../../configs
|
||||
|
|
@ -4039,8 +4039,8 @@ packages:
|
|||
'@floating-ui/utils@0.2.9':
|
||||
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
|
||||
|
||||
'@follow-app/client-sdk@0.3.24':
|
||||
resolution: {integrity: sha512-lR22RZrhXrHoHRz+C8/9ccU8vl9kaMq83NaeSNQq6TfJU645TiA/GQu2pHE0H8N9KRUPzE/P82bAnye59dyBUA==}
|
||||
'@follow-app/client-sdk@0.3.25':
|
||||
resolution: {integrity: sha512-+x9x3bvcCedkqH2ypw1ae2zYySzT70FniC9LH8/TdqpYKIUzQZaMSZxGNIA9KaAQT1EtvL9e7lO07/zpQiEPSw==}
|
||||
|
||||
'@folo-services/ai-tools@0.2.14':
|
||||
resolution: {integrity: sha512-3DG/FqGqNvpCUtq1WMwzMYW6XuhQQfRfIGyZbokJ+XgbyR4YO3Jtz9T5fluINy+Q9iQSRyZSLyhMxe4Evsj5Hg==}
|
||||
|
|
@ -19175,7 +19175,7 @@ snapshots:
|
|||
|
||||
'@floating-ui/utils@0.2.9': {}
|
||||
|
||||
'@follow-app/client-sdk@0.3.24(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)':
|
||||
'@follow-app/client-sdk@0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)':
|
||||
dependencies:
|
||||
'@folo-services/constants': 0.1.15
|
||||
'@folo-services/drizzle': 0.1.10(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)
|
||||
|
|
|
|||
|
|
@ -53,4 +53,4 @@ overrides:
|
|||
|
||||
catalog:
|
||||
typescript: "5.8.3"
|
||||
"@follow-app/client-sdk": "0.3.24"
|
||||
"@follow-app/client-sdk": "0.3.25"
|
||||
|
|
|
|||
Loading…
Reference in New Issue