tonhowtf/omniget · warning
[player] failed saving rpc show_cover
Error message
[player] failed saving rpc show_cover
What it means
Non-fatal warning from the RPC show_cover setter: the UI toggle is applied locally (_rpcShowCover) but saving it via pluginInvoke('study','study:music:rpc:music_settings:set') failed, so the preference is lost on restart. rpcOnPlaybackChange() still runs afterwards.
Solutions
- Confirm the study plugin backend is running before toggling RPC settings
- Check the error for file-write/permission problems on the settings store
- Retry the save after the backend becomes available
- Reconcile frontend command names with the installed plugin version
Example fix
// before
await pluginInvoke("study", "study:music:rpc:music_settings:set", { show_cover: value });
// after
try {
await pluginInvoke("study", "study:music:rpc:music_settings:set", { show_cover: value });
} catch (e) {
console.warn("[player] failed saving rpc show_cover", e);
pendingRpcSettings.show_cover = value; // flush later
} Defensive patterns
Strategy: try-catch
Validate before calling
if (typeof value !== "boolean") return;
Type guard
function isBool(v: unknown): v is boolean { return typeof v === "boolean"; } Try / catch
try { await pluginInvoke("study", "study:music:rpc:music_settings:set", { show_cover: value }); } catch (e) { console.warn("[player] failed saving rpc show_cover", e); markSettingsDirty({ show_cover: value }); } Prevention
- Batch RPC settings into one save call to reduce failure windows
- Queue dirty settings and flush on next successful IPC
- Verify plugin version supports music_settings:set
When it happens
Trigger: Toggling 'show cover' in Discord RPC settings while the study:music:rpc:music_settings:set backend command rejects (plugin unavailable, write failure, IPC error).
Common situations: Backend plugin not started yet; settings file unwritable; stale build where the settings command was renamed.
Understand the failure class
Background: "API request failed": what wrapped HTTP errors from external APIs mean and how to find the real cause — this error's family across 29 libraries.
Related errors
- [player] failed saving rpc show_buttons
- [player] failed saving rpc update_interval_ms
- [music] playlists load failed
- [player] failed loading rpc music_settings
- [player] failed saving spotify heartbeat_interval_ms
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/d2abf6bc5c1ac5d6.
Report an issue: GitHub.
Appendix: source
Thrown at src/lib/study-music/player-store.svelte.ts:843
return this._rpcShowCover;
}
getRpcShowButtons(): boolean {
return this._rpcShowButtons;
}
getRpcUpdateIntervalMs(): number {
return this._rpcUpdateIntervalMs;
}
async setRpcShowCover(value: boolean) {
this._rpcShowCover = value;
try {
await pluginInvoke("study", "study:music:rpc:music_settings:set", {
show_cover: value,
});
} catch (e) {
console.warn("[player] failed saving rpc show_cover", e);
}
this.rpcOnPlaybackChange();
}
async setRpcShowButtons(value: boolean) {
this._rpcShowButtons = value;
try {
await pluginInvoke("study", "study:music:rpc:music_settings:set", {
show_buttons: value,
});
} catch (e) {
console.warn("[player] failed saving rpc show_buttons", e);
}
this.rpcOnPlaybackChange();
}
async setRpcUpdateIntervalMs(ms: number) {
const clamped = MusicPlayerStore.clampRpcInterval(ms);View on GitHub (pinned to 8600b91f42)