diff --git a/DeskThingServer/src/main/handlers/musicHandler.ts b/DeskThingServer/src/main/handlers/musicHandler.ts index dfcdc25d..907b4a31 100644 --- a/DeskThingServer/src/main/handlers/musicHandler.ts +++ b/DeskThingServer/src/main/handlers/musicHandler.ts @@ -24,6 +24,10 @@ export class MusicHandler { const settings = await settingsStore.getSettings() // Get from your settings store this.updateRefreshInterval(settings.refreshInterval) dataListener.on(MESSAGE_TYPES.SETTINGS, this.handleSettingsUpdate) + + setTimeout(() => { + this.refreshMusicData() + }, 5000) // Delay to ensure settings are loaded } private handleSettingsUpdate = (settings: Settings): void => { @@ -51,7 +55,10 @@ export class MusicHandler { private async refreshMusicData(): Promise { if (!this.currentApp || this.currentApp.length == 0) { - dataListener.asyncEmit(MESSAGE_TYPES.ERROR, `[MusicHandler]: No current app set!`) + dataListener.asyncEmit( + MESSAGE_TYPES.ERROR, + `[MusicHandler]: No playback location set! Go to settings -> Music to the playback location!` + ) return } diff --git a/DeskThingServer/src/main/index.ts b/DeskThingServer/src/main/index.ts index 6812a801..d5c65046 100644 --- a/DeskThingServer/src/main/index.ts +++ b/DeskThingServer/src/main/index.ts @@ -387,6 +387,8 @@ async function loadModules(): Promise { const { loadAndRunEnabledApps } = await import('./services/apps') loadAndRunEnabledApps() + + import('./handlers/musicHandler') } catch (error) { console.error('Error loading modules:', error) } diff --git a/DeskThingServer/src/main/services/client/websocket.ts b/DeskThingServer/src/main/services/client/websocket.ts index dbe2281c..d5b1cca6 100644 --- a/DeskThingServer/src/main/services/client/websocket.ts +++ b/DeskThingServer/src/main/services/client/websocket.ts @@ -22,7 +22,6 @@ import { sendSettingsData } from './clientCom' import { sendIpcData } from '../..' -import MusicHandler from '../../handlers/musicHandler' export let server: WebSocketServer | null = null export let httpServer: HttpServer @@ -194,6 +193,7 @@ export const setupServer = async (): Promise => { handleServerMessage(socket, client, messageData) } else if (messageData.app === 'utility' || messageData.app === 'music') { // Handle music requests + const MusicHandler = (await import('../../handlers/musicHandler')).default MusicHandler.handleClientRequest(messageData) } diff --git a/DeskThingServer/src/renderer/src/overlays/apps/AppSettings.tsx b/DeskThingServer/src/renderer/src/overlays/apps/AppSettings.tsx index dd636452..672a9867 100644 --- a/DeskThingServer/src/renderer/src/overlays/apps/AppSettings.tsx +++ b/DeskThingServer/src/renderer/src/overlays/apps/AppSettings.tsx @@ -28,7 +28,12 @@ const AppSettings: React.FC = ({ app }) => { ...prev, settings: { ...prev.settings, - [key]: { ...prev.settings[key], value: value as any } + [key]: { + ...prev.settings[key], + // It had to be this way... The way that the type expects a specific value for each type of object means that this can only be every type of value but only one at a time. We have no way of knowing which type of setting it is. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + value: value as any + } } } : prev diff --git a/DeskThingServer/src/renderer/src/overlays/notifications/EventsPage.tsx b/DeskThingServer/src/renderer/src/overlays/notifications/EventsPage.tsx index 55189d04..93756901 100644 --- a/DeskThingServer/src/renderer/src/overlays/notifications/EventsPage.tsx +++ b/DeskThingServer/src/renderer/src/overlays/notifications/EventsPage.tsx @@ -1,6 +1,6 @@ import React from 'react' import { useNotificationStore } from '@renderer/stores' -import { IconTrash, IconX } from '@renderer/assets/icons' +import { IconTrash } from '@renderer/assets/icons' import Button from '@renderer/components/Button' const EvensPage: React.FC = () => { diff --git a/DeskThingServer/src/renderer/src/overlays/notifications/RequestsPage.tsx b/DeskThingServer/src/renderer/src/overlays/notifications/RequestsPage.tsx index 70af001c..1fa94c6e 100644 --- a/DeskThingServer/src/renderer/src/overlays/notifications/RequestsPage.tsx +++ b/DeskThingServer/src/renderer/src/overlays/notifications/RequestsPage.tsx @@ -15,7 +15,9 @@ const RequestsPage: React.FC = () => {

App Requests

-

Requests will be depreciated in a future release

+

+ Requests will be depreciated in a future release +

{requests.length > 0 ? ( diff --git a/DeskThingServer/src/renderer/src/pages/Apps/AppsList.tsx b/DeskThingServer/src/renderer/src/pages/Apps/AppsList.tsx index e6178c72..d35e1ed3 100644 --- a/DeskThingServer/src/renderer/src/pages/Apps/AppsList.tsx +++ b/DeskThingServer/src/renderer/src/pages/Apps/AppsList.tsx @@ -45,16 +45,16 @@ const AppsList: React.FC = () => { }) } - const handleDragOver = (e: React.DragEvent, index: number) => { + const handleDragOver = (e: React.DragEvent, index: number): void => { e.preventDefault() setDragOverIndex(index) } - const handleDragLeave = () => { + const handleDragLeave = (): void => { setDragOverIndex(null) } - const handleDrop = (targetAppName: string) => { + const handleDrop = (targetAppName: string): void => { if (draggedApp && draggedApp !== targetAppName) { const newOrder = [...order] const draggedIndex = newOrder.indexOf(draggedApp)