Skip to content

fix(discord): keep the presence a Watching activity outside playback - #660

Merged
KhooLy merged 1 commit into
NuvioMedia:Devfrom
maximedeprince:pr/discord-watching-everywhere
Sep 11, 2026
Merged

KhooLy merged 1 commit into
NuvioMedia:Devfrom
maximedeprince:pr/discord-watching-everywhere

Conversation

@maximedeprince

Copy link
Copy Markdown

Summary

Send Discord activity type 3 (Watching) for every presence Nuvio publishes, not just the one sent while a video is playing. Browsing a tab, opening a title and the idle state all used the default type 0, which Discord renders as "Playing Nuvio".

PR type

  • Reproducible bug fix
  • UI glitch/bug fix
  • Behavior bug/regression fix
  • Small maintenance only, with no UI or behavior change
  • Docs accuracy fix
  • Translation/localization only
  • Approved larger or directional change

Why

#591 reported that Discord advertises "Playing Nuvio", as if Nuvio were a game, instead of a Watching activity. #628 fixed that for the player, but only the player: toDiscordActivity() sets type = 3 in the Player branch, while the Tab and Details branches and the idle fallback keep the DiscordActivity default of type = 0. So the exact wording the issue reported is still on the profile of every user who has Rich Presence enabled and is not currently playing something, which is most of the time the app is open.

Desktop scope

Desktop only, all three platforms (Windows, macOS, Linux). The change is confined to composeApp/src/desktopMain/.../discordrpc/DiscordPresenceManager.kt; no common code is touched.

Issue or approval

Completes #591, whose reported wording still appears outside playback after #628. Same bug, same file, remaining branches.

UI / behavior impact

  • No UI change
  • No behavior change
  • UI changed only to fix a documented glitch/bug
  • Behavior changed only to fix a documented bug/regression
  • UI change has explicit maintainer approval
  • Behavior change has explicit maintainer approval

Policy check

  • I have read and understood CONTRIBUTING.md.
  • This PR is small, focused, and limited to one problem.
  • This PR is scoped to the desktop app, desktop packaging, desktop documentation, or shared code required for desktop behavior.
  • This PR is not cosmetic-only.
  • Any UI change fixes a linked glitch/bug and includes visual proof, or this PR has no UI change.
  • Any behavior change fixes a linked bug/regression or has explicit approval, or this PR has no behavior change.
  • This PR does not bundle unrelated refactors, cleanups, formatting, or drive-by changes.
  • This PR does not add dependencies, architecture changes, migrations, or product-direction changes without explicit approval.
  • I listed the testing performed below.

Scope boundaries

Deliberately not changed: the detail lines themselves (still the same English text), the player presence fields added in #628 (title, timestamps, poster), the Rich Presence setting and its default, and the IPC client. The magic number 3 is moved into a named constant so the three call sites read the same, and nothing else is refactored.

Testing

Windows 11, MSI built from this branch, Discord desktop client, Rich Presence enabled in Settings > Advanced.

  • App on Home, Search, Library, Settings: profile reads "Watching Nuvio" with the section on the detail line. Before the change it read "Playing Nuvio".
  • Title detail page: "Watching Nuvio" / "Viewing <title>".
  • Playing an episode: unchanged from fix(discord): show 'Watching <title>' instead of 'Playing Nuvio' #628, "Watching <title>" with the progress bar and poster.
  • Pausing, resuming and leaving the player: presence follows, no stale activity.
  • Turning the Rich Presence setting off clears the presence, turning it back on restores it.

Screenshots / Video

Not a desktop UI change; nothing in the Nuvio window changes. The visible difference is on the Discord profile, screenshot attached showing the "Watching Nuvio" line while browsing.

Breaking changes

None.

Linked issues

#591, and #628 which fixed the playback half of it.

Only the player presence sent activity type 3, so browsing a tab or a
title still fell back to type 0 and Discord rendered "Playing Nuvio",
the game wording issue NuvioMedia#591 reported. Send type 3 for every presence
Nuvio publishes, including the idle one, so the profile consistently
reads "Watching Nuvio" with the current screen on the detail line.
@KhooLy
KhooLy merged commit cfd509e into NuvioMedia:Dev Sep 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants