diff --git a/epg-worker.ts b/epg-worker.ts index 68904dc5c..0295970b7 100644 --- a/epg-worker.ts +++ b/epg-worker.ts @@ -72,11 +72,17 @@ ipcRenderer.on(EPG_FETCH, (event, arg) => { // returns the epg data for the provided channel name and date ipcRenderer.on(EPG_GET_PROGRAM, (event, args) => { + const channelName = args.channel.name; + const tvgId = args.channel.tvg?.id; if (!EPG_DATA || !EPG_DATA.channels) return; const foundChannel = EPG_DATA?.channels?.find((epgChannel) => { - if ( + if (tvgId) { + if (tvgId === epgChannel.id) { + return epgChannel; + } + } else if ( epgChannel.name.find((nameObj) => { - if (nameObj.value.trim() === args.channelName.trim()) + if (nameObj.value && nameObj.value.trim() === channelName.trim()) return nameObj; }) ) { diff --git a/src/app/app.component.ts b/src/app/app.component.ts index dcbc999da..653c1aa38 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -48,9 +48,9 @@ export class AppComponent { commandsList = [ new IpcCommand(VIEW_ADD_PLAYLIST, () => this.navigateToRoute('/')), new IpcCommand(VIEW_SETTINGS, () => this.navigateToRoute('/settings')), - new IpcCommand(EPG_FETCH_DONE, () => this.onEpgFetchDone), - new IpcCommand(EPG_ERROR, () => this.onEpgError), - new IpcCommand(SHOW_WHATS_NEW, () => this.showWhatsNewDialog), + new IpcCommand(EPG_FETCH_DONE, () => this.onEpgFetchDone()), + new IpcCommand(EPG_ERROR, () => this.onEpgError()), + new IpcCommand(SHOW_WHATS_NEW, () => this.showWhatsNewDialog()), ]; /** Default language as fallback */ diff --git a/src/app/state/channel.store.ts b/src/app/state/channel.store.ts index dd5c4ce0e..40909a10b 100644 --- a/src/app/state/channel.store.ts +++ b/src/app/state/channel.store.ts @@ -64,8 +64,8 @@ export class ChannelStore extends EntityStore { setActiveChannel(channel: Channel): void { this.update((store) => { if (store.epgAvailable) { - this.electronService.sendIpcEvent(EPG_GET_PROGRAM, { - channelName: channel.name, + this.electronService.ipcRenderer.send(EPG_GET_PROGRAM, { + channel, }); if (channel.http['user-agent']) { this.electronService.sendIpcEvent(CHANNEL_SET_USER_AGENT, {