No description
Find a file
Star cd4ddebf23
feat(RichPresence): Add Navidrome RPC plugin (#1223)
* feat(RichPresence): Add Navidrome RPC integration

* fix: Update Star123451 ID

* Implement Subsonic GetNowPlaying for album art

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix(Navidrome): address PR review comments, remove Uguu.se plugin violation

* fix(Navidrome) Fix clearing activities, add standard music RPC default config

* fix(Navidrome) Patched Credential Leak in cover art fallback code, fix non-selectable settings entries

* fix(Navidrome) fix settings cache bug, implement typescript hygiene suggestion, and make fetching album art a toggle, added note that grabbing album art exposes server URL and Navidrome username to Discord.

* fix(Navidrome): Changed cachedSettingsJSON to only affect Navidrome-specific settings, updated polling interval slider to take affect during runtime, not just start up

* feat(RichPresence): overhaul Navidrome RPC with formatting system and activity types, add fast.fm album art fetching, update settings to instantly update

* fix(RichPresence) Fix last.fm cache leak, add privacy disclosure for last.fm album fetch method, remove dead settings

* fix(RichPresence): remove unused import and fix default activity type inconsistency

* fix(RichPresence): add parseUrl valdiation to serverUrl/publicUrl, fix SwitchSetting regression, strip auth param from getCoverArt, added abort signal to prevent accidental presence revival when disabled, remove "as const" rule violation for settings.use()

* fix(RichPresense): Fix forceUpdate orphan timer leaks, correct MD5 behavior for passwords using accented characters

* fix(RichPresence): remove MD5 auth for simpler hex auth, include optional space to provide a last.fm API key, implement lodash.debounce in place of setTimeout, fixed navidrome intersepting settings from other RPC included in the plugin

* fix(RichPresence): fix hex auth code to support special characters

* fix(RichPresence): fix lastFmCache invalidation code

* fix(RichPresence): remove unused lodash import from SettingsPanel.tsx

* chore(richPresence): remove violating comments in navidrome.ts

* chore(richPresence): update navidrome.ts

* fix(richPresence): change settings to use settings.plain, fix flicker found when changing non-related plugin settings, correct || vs ?? rule violations, fetch large and small image concurrently to speed up presence update

* feat(richPresence): add status display type option for navidrome rich presence

* fix(richPresence): add lastMinutesAgo cache to detect if the same song is on repeat in order to reset song progress bar

* fix(richPresence): Fix to only show music of the username given in navidrome settings

* fix(richPresence): remove stale onServiceChange import

* fix(richPresence): fix stale activity cache when same track is replayed

* fix(richPresence): omit end property when no media duration is known

* chore(richPresence): add instance-based album art fetching disclaimer for local instances

* chore(richPresence): centralize get_activity() and forceUpdate() JSON.stringify usage

* fix(richPresence): removed unused settings migration in migrartion.ts, remove empty lines in SettingsPanel, revert syncServices to use settings.store, remove local ip instances support

* fix(richPresence): revert to md5 implementation in utils.ts for secure auth, fix album fetching from navidrome instances

* chore(richPrecence): switch to ts-md5 source for a robust MD5 implementation

* richPresence(fix): simplify public instance checking

* boom

* richPresence(fix): fix md5 implementation and revert back to getCoverArt for navidrome instance album art fetching

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-07-09 19:08:23 -04:00
.gemini Feature Request: Fix Discord Links 2026-06-27 11:05:54 -04:00
.github BuildBranches: Pass Branch 2026-07-08 18:02:09 -04:00
.vscode Swap DevCompanion Ext 2025-09-17 09:24:24 -04:00
browser Merge remote-tracking branch 'upstream/dev' into dev 2026-05-18 10:12:16 -04:00
misc Update NavIDs 2026-04-07 08:35:44 -04:00
packages FakeProfileThemes: Support New Profile Editor 2026-07-06 21:00:26 -04:00
patches Merge remote-tracking branch 'upstream/dev' into dev 2025-11-18 23:48:00 -05:00
scripts replace manual depCheck script with native pnpm feature (#1186) 2026-06-17 18:00:55 -04:00
src feat(RichPresence): Add Navidrome RPC plugin (#1223) 2026-07-09 19:08:23 -04:00
.editorconfig Add .editorconfig; reformat project 2022-09-16 22:59:34 +02:00
.gitattributes Fix PetPet & CorruptMp4s 2023-01-09 23:19:00 +01:00
.gitignore act 2026-05-07 09:33:54 -04:00
.rules Feature Request: Fix Discord Links 2026-06-27 11:05:54 -04:00
.stylelintrc.json Migrate to eslint flat config; update dependencies (#2627) 2024-08-02 12:12:59 +02:00
AGENTS.md chore: add .rules and symlink agent config files (#820) 2026-02-20 18:21:23 -05:00
CLAUDE.md chore: add .rules and symlink agent config files (#820) 2026-02-20 18:21:23 -05:00
CODE_OF_CONDUCT.md feat(docs): some better wording (#747) 2026-02-08 11:13:39 -05:00
CONTRIBUTING.md Feature Request: Fix Discord Links 2026-06-27 11:05:54 -04:00
eslint.config.mjs Merge remote-tracking branch 'upstream/dev' into dev 2026-05-04 18:20:36 -04:00
GEMINI.md chore: add .rules and symlink agent config files (#820) 2026-02-20 18:21:23 -05:00
LICENSE Update LICENSE 2022-09-16 17:37:28 +02:00
package.json feat(RichPresence): Add Navidrome RPC plugin (#1223) 2026-07-09 19:08:23 -04:00
pnpm-lock.yaml feat(RichPresence): Add Navidrome RPC plugin (#1223) 2026-07-09 19:08:23 -04:00
pnpm-workspace.yaml SongSpotlight: shabloink (#1230) 2026-07-09 16:34:54 -04:00
PRIVACY_POLICY.md Privacy Policy 2024-11-29 18:19:54 -05:00
README.md Readme: Star History Token 2026-07-08 00:17:33 -04:00
tsconfig.json Merge branch 'main' into dev 2026-04-16 13:44:24 -04:00

Equicord Equicord

Equibop Tests Discord

Equicord is a fork of Vencord, with over 300+ plugins.

You can join our Discord server for commits, changes, chatting, or even support.

Included Plugins

Our included plugins can be found here.

Installing / Uninstalling

Windows

MacOS

Linux

bash -c "$(curl -sS https://raw.githubusercontent.com/Equicord/Equicord/refs/heads/main/misc/install.sh)"

Installing Equicord Devbuild

Dependencies

Git and Node.JS LTS are required.

Install pnpm:

❗ This next command may need to be run as admin/root depending on your system, and you may need to close and reopen your terminal for pnpm to be in your PATH.

npm i -g pnpm

❗ IMPORTANT Make sure you aren't using an admin/root terminal from here onwards. It will mess up your Discord/Equicord instance and you will most likely have to reinstall.

Clone Equicord:

git clone https://github.com/Equicord/Equicord
cd Equicord

Install dependencies:

pnpm install --frozen-lockfile

Build Equicord:

pnpm build

Inject Equicord into your desktop client:

pnpm inject

Build Equicord for web:

pnpm buildWeb

After building Equicord's web extension, locate the appropriate ZIP file in the dist directory and follow your browser’s guide for installing custom extensions, if supported.

Note: Firefox extension zip requires Firefox for developers

Credits

Thank you to Vendicated for creating Vencord & Suncord by verticalsync for helping when needed.

Star History

Star History Chart

Disclaimer

Discord is trademark of Discord Inc., and solely mentioned for the sake of descriptivity. Mentioning it does not imply any affiliation with or endorsement by Discord Inc. Vencord is not connected to Equicord and as such, all donation links go to Vendicated's donation link.

Using Equicord violates Discord's terms of service

Client modifications are against Discord’s Terms of Service.

However, Discord is pretty indifferent about them and there are no known cases of users getting banned for using client mods! So you should generally be fine if you don’t use plugins that implement abusive behaviour. But no worries, all inbuilt plugins are safe to use!

Regardless, if your account is essential to you and getting disabled would be a disaster for you, you should probably not use any client mods (not exclusive to Equicord), just to be safe.

Additionally, make sure not to post screenshots with Equicord in a server where you might get banned for it.