Fix: DiscordRPC Toggle (Un-tested)

This commit is contained in:
Youwes09
2026-06-10 13:06:46 -05:00
parent c0a95ff899
commit cb3d8d64fa
2 changed files with 15 additions and 7 deletions
+7 -2
View File
@@ -49,23 +49,27 @@ function buildPresence(manga: Manga, chapter: Chapter, coverUrl: string) {
export async function initRpc(): Promise<void> {
if (!platformService.isSupported('discord-rpc')) return
if (!settingsState.settings.discordRpc) return
sessionStart = Date.now()
}
export async function destroyRpc(): Promise<void> {
if (!platformService.isSupported('discord-rpc')) return
sessionStart = null
sessionStart = null
activeMangaId = null
await platformService.clearDiscordPresence()
}
export async function setReading(manga: Manga, chapter: Chapter): Promise<void> {
if (!platformService.isSupported('discord-rpc')) return
if (!settingsState.settings.discordRpc) return
activeMangaId = manga.id
await platformService.setDiscordPresence(buildPresence(manga, chapter, resolveCoverUrl(manga)))
}
export async function setIdle(): Promise<void> {
if (!platformService.isSupported('discord-rpc')) return
if (!settingsState.settings.discordRpc) return
await platformService.setDiscordPresence({
details: 'Browsing',
timestamps: { start: sessionStart ?? Date.now() },
@@ -76,5 +80,6 @@ export async function setIdle(): Promise<void> {
export async function clearReading(): Promise<void> {
if (!platformService.isSupported('discord-rpc')) return
if (!settingsState.settings.discordRpc) return
await platformService.clearDiscordPresence()
}
+8 -5
View File
@@ -105,11 +105,6 @@
isTauri && settingsState.settings.autoStartServer ? 2000 : 100,
)
if (settingsState.settings.discordRpc) {
await discord.initRpc()
await discord.setIdle()
}
polling = true
pollLoop()
@@ -142,6 +137,14 @@
if (appState.status === 'booting') splashDismissed = false
})
$effect(() => {
if (settingsState.settings.discordRpc) {
discord.initRpc().then(() => discord.setIdle())
} else {
discord.destroyRpc()
}
})
let idleTimer: ReturnType<typeof setTimeout> | null = null
let idleDismissLock = false