* 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> |
||
|---|---|---|
| .gemini | ||
| .github | ||
| .vscode | ||
| browser | ||
| misc | ||
| packages | ||
| patches | ||
| scripts | ||
| src | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .rules | ||
| .stylelintrc.json | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| eslint.config.mjs | ||
| GEMINI.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PRIVACY_POLICY.md | ||
| README.md | ||
| tsconfig.json | ||
Equicord
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
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.