mirror of
https://github.com/Jellify-Music/App.git
synced 2026-01-05 18:40:01 -06:00
fix postFullCapabilities issue (#642)
Fixes issue where capabilities weren't posted to the server when the streaming quality changed update post capabilities hook to be cleaner and more self contained
This commit is contained in:
@@ -49,16 +49,16 @@ appId: com.cosmonautical.jellify
|
||||
# Scroll Down to see the queue
|
||||
- scrollUntilVisible:
|
||||
element:
|
||||
id: "queue-item-12"
|
||||
id: "queue-item-8"
|
||||
direction: "DOWN"
|
||||
|
||||
- scrollUntilVisible:
|
||||
element:
|
||||
id: "queue-item-12"
|
||||
id: "queue-item-8"
|
||||
direction: "UP"
|
||||
# Play some other Song
|
||||
- tapOn:
|
||||
id: 'queue-item-12'
|
||||
id: 'queue-item-8'
|
||||
|
||||
- pressKey: BACK
|
||||
|
||||
|
||||
@@ -1,24 +1,33 @@
|
||||
import { useMutation } from '@tanstack/react-query'
|
||||
import useStreamingDeviceProfile from '../../../stores/device-profile'
|
||||
import { Api } from '@jellyfin/sdk'
|
||||
import { getSessionApi } from '@jellyfin/sdk/lib/utils/api'
|
||||
import { MONOCHROME_ICON_URL } from '../../../configs/config'
|
||||
import { useEffect } from 'react'
|
||||
import { useApi } from '../../../stores'
|
||||
|
||||
const usePostFullCapabilities = () => {
|
||||
const api = useApi()
|
||||
const streamingDeviceProfile = useStreamingDeviceProfile()
|
||||
|
||||
return useMutation({
|
||||
mutationFn: async (api: Api | undefined) => {
|
||||
const { mutate } = useMutation({
|
||||
onMutate: () => console.debug('Posting player capabilities'),
|
||||
mutationFn: async () => {
|
||||
if (!api) return
|
||||
|
||||
return getSessionApi(api).postFullCapabilities({
|
||||
return await getSessionApi(api).postFullCapabilities({
|
||||
clientCapabilitiesDto: {
|
||||
IconUrl: MONOCHROME_ICON_URL,
|
||||
DeviceProfile: streamingDeviceProfile,
|
||||
},
|
||||
})
|
||||
},
|
||||
onSuccess: () => console.info('Successfully posted player capabilities'),
|
||||
onError: (error) => console.error('Unable to post player capabilities', error),
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
mutate()
|
||||
}, [streamingDeviceProfile.Id])
|
||||
}
|
||||
|
||||
export default usePostFullCapabilities
|
||||
|
||||
@@ -16,6 +16,7 @@ import Initialize from './functions/initialization'
|
||||
import { useEnableAudioNormalization } from '../../stores/settings/player'
|
||||
import { useApi } from '../../stores'
|
||||
import { usePlayerQueueStore } from '../../stores/player/queue'
|
||||
import usePostFullCapabilities from '../../api/mutations/session'
|
||||
|
||||
const PLAYER_EVENTS: Event[] = [
|
||||
Event.PlaybackActiveTrackChanged,
|
||||
@@ -36,6 +37,8 @@ export const PlayerProvider: () => React.JSX.Element = () => {
|
||||
|
||||
const [enableAudioNormalization] = useEnableAudioNormalization()
|
||||
|
||||
usePostFullCapabilities()
|
||||
|
||||
const downloadingDeviceProfile = useDownloadingDeviceProfile()
|
||||
|
||||
usePerformanceMonitor('PlayerProvider', 3)
|
||||
|
||||
Reference in New Issue
Block a user