Files
SubMiner/backlog/tasks/task-246 - Migrate-Discord-Rich-Presence-to-maintained-RPC-wrapper.md

2.3 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
id title status assignee created_date updated_date labels dependencies priority
TASK-246 Migrate Discord Rich Presence to maintained RPC wrapper Done
2026-03-29 08:17 2026-03-29 08:22
dependency
discord
presence
medium

Description

Replace the deprecated Discord Rich Presence wrapper with a maintained JavaScript alternative while preserving the current IPC-based presence behavior in the Electron main process.

Acceptance Criteria

  • #1 The app no longer depends on discord-rpc
  • #2 Discord Rich Presence still logs in and publishes activity updates from the main process
  • #3 Existing Discord presence tests continue to pass or are updated to cover the new client API
  • #4 The change is documented in the release notes or changelog fragment

Implementation Notes

Completed:

  • Swapped the app's Discord RPC dependency from discord-rpc to @xhayper/discord-rpc.
  • Extracted the client adapter into src/main/runtime/discord-rpc-client.ts so the main process can keep using a small wrapper around the maintained library.
  • Added src/main/runtime/discord-rpc-client.test.ts to verify the adapter forwards login/activity/clear/destroy calls through client.user.
  • Documented the dependency swap in CHANGELOG.md, release/release-notes.md, and docs-site/changelog.md.

Verification:

  • bunx bun@1.3.5 test src/main/runtime/discord-rpc-client.test.ts src/core/services/discord-presence.test.ts
  • bunx bun@1.3.5 run changelog:lint
  • bunx bun@1.3.5 run changelog:check --version 0.10.0
  • bunx bun@1.3.5 run docs:test
  • bunx bun@1.3.5 run docs:build

Notes:

  • The existing release prep artifacts for v0.10.0 were kept intact and updated in place.
  • No README change was needed for this dependency swap.

Final Summary

Replaced the deprecated discord-rpc dependency with the maintained @xhayper/discord-rpc wrapper while preserving the main-process rich presence flow. Added a focused runtime wrapper test, kept the existing Discord presence service tests green, and documented the dependency swap in the release notes and changelog.