From bb55dbda65d0d6163383ace7c1e565cf696f8601 Mon Sep 17 00:00:00 2001 From: Violet Caulfield Date: Tue, 18 Feb 2025 15:03:06 -0600 Subject: [PATCH] what if we do this for the memory leak? --- player/provider.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/player/provider.tsx b/player/provider.tsx index cfb21ffc..8b82a81e 100644 --- a/player/provider.tsx +++ b/player/provider.tsx @@ -9,7 +9,7 @@ import { getPlaystateApi } from "@jellyfin/sdk/lib/utils/api"; import { handlePlaybackProgressUpdated, handlePlaybackState } from "./handlers"; import { useUpdateOptions } from "../player/hooks"; import { UPDATE_INTERVAL } from "./config"; -import { useMutation, UseMutationResult } from "@tanstack/react-query"; +import { useMutation, UseMutationResult, useQuery } from "@tanstack/react-query"; import { mapDtoToTrack } from "../helpers/mappings"; import { QueuingType } from "../enums/queuing-type"; import { trigger } from "react-native-haptic-feedback"; @@ -21,6 +21,9 @@ import { Section } from "../components/Player/types"; import { Queue } from "./types/queue-item"; import * as Burnt from "burnt"; +import { QueryKeys } from "@/enums/query-keys"; +import fetchItemAudio from "@/api/queries/functions/audio"; +import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; interface PlayerContext { initialized: boolean; @@ -85,7 +88,7 @@ const PlayerContextInitializer = () => { const resetQueue = async (hideMiniplayer?: boolean | undefined) => { console.debug("Clearing queue") - await TrackPlayer.reset(); + await TrackPlayer.setQueue([]); setPlayQueue([]); } @@ -170,6 +173,11 @@ const PlayerContextInitializer = () => { } }); + const useFetchAudio = (track: BaseItemDto) => useQuery({ + queryKey: [QueryKeys.Audio, track.Id!], + queryFn: () => fetchItemAudio(track) + }); + const useSeekTo = useMutation({ mutationFn: async (position: number) => { trigger('impactLight');