stop discord from setting activity on no title

This commit is contained in:
Core 2022-09-15 19:50:01 +01:00
parent 664303a180
commit 0aab392541
No known key found for this signature in database
GPG key ID: 2AB8327FBA02D1C0
2 changed files with 22 additions and 16 deletions

View file

@ -198,7 +198,7 @@ export default class DiscordRPC {
* @param attributes Music Attributes
*/
private setActivity(attributes: any) {
if (!this._client) {
if (!this._client || !attributes) {
return;
}
@ -219,6 +219,10 @@ export default class DiscordRPC {
return;
}
if (!activity) {
return;
}
if (!attributes.status && this._utils.getStoreValue("connectivity.discord_rpc.clear_on_pause")) {
this._client.clearActivity();
} else if (activity && this._activityCache !== activity) {
@ -240,25 +244,16 @@ export default class DiscordRPC {
viewOnOtherMusicServices: "songLink",
};
const firstActivity = {
label: this._utils.getLocale(this._utils.getStoreValue("general.language"), `settings.option.connectivity.discordRPC.buttons.${this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.first")}`),
url: activityUrls[this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.first")],
};
const secondActivity = {
label: this._utils.getLocale(this._utils.getStoreValue("general.language"), `settings.option.connectivity.discordRPC.buttons.${this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.second")}`),
url: activityUrls[this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.second")],
};
const firstActivity = this._utils.getLocale(this._utils.getStoreValue("general.language"), `settings.option.connectivity.discordRPC.buttons.${this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.first")}`);
const secondActivity = this._utils.getLocale(this._utils.getStoreValue("general.language"), `settings.option.connectivity.discordRPC.buttons.${this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.second")}`);
if (this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.second") != "disabled") {
activity.buttons = [
{ label: firstActivity.label, url: attributes.url[firstActivity.url] },
{ label: secondActivity.label, url: attributes.url[secondActivity.url] },
{ label: firstActivity, url: attributes.url[activityUrls[this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.first")]] },
{ label: secondActivity, url: attributes.url[activityUrls[this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.second")]] },
];
console.log(secondActivity);
console.log("Its not disabled");
} else {
activity.buttons = [{ label: firstActivity.label, url: attributes.url[firstActivity.url] }];
console.log("Its disabled");
activity.buttons = [{ label: firstActivity, url: attributes.url[activityUrls[this._utils.getStoreValue("connectivity.discord_rpc.activity.buttons.first")]] }];
}
}
@ -328,6 +323,10 @@ export default class DiscordRPC {
if (!activity.largeImageText || activity.largeImageText.length < 2) {
delete activity.largeImageText;
}
if (activity.status === "" || activity.details === "") {
return false;
}
return activity;
}
}

View file

@ -9,6 +9,7 @@ const MusicKitInterop = {
/* MusicKit.Events.playbackStateDidChange */
MusicKit.getInstance().addEventListener(MusicKit.Events.playbackStateDidChange, () => {
const attributes = MusicKitInterop.getAttributes();
if (!attributes) return;
if (MusicKitInterop.filterTrack(attributes, true, false)) {
global.ipcRenderer.send("playbackStateDidChange", attributes);
global.ipcRenderer.send("wsapi-updatePlaybackState", attributes);
@ -18,6 +19,7 @@ const MusicKitInterop = {
/* MusicKit.Events.playbackProgressDidChange */
MusicKit.getInstance().addEventListener(MusicKit.Events.playbackProgressDidChange, async () => {
const attributes = MusicKitInterop.getAttributes();
if (!attributes) return;
// wsapi call
ipcRenderer.send("wsapi-updatePlaybackState", attributes);
// lastfm call
@ -34,8 +36,8 @@ const MusicKitInterop = {
/* MusicKit.Events.nowPlayingItemDidChange */
MusicKit.getInstance().addEventListener(MusicKit.Events.nowPlayingItemDidChange, async () => {
console.debug("[cider:preload] nowPlayingItemDidChange");
const attributes = MusicKitInterop.getAttributes();
if (!attributes) return;
attributes.primaryArtist = app.cfg.connectivity.lastfm.remove_featured ? await this.fetchSongRelationships() : attributes.artistName;
global.ipcRenderer.send("nowPlayingItemDidChange", attributes);
@ -54,6 +56,7 @@ const MusicKitInterop = {
await this.sleep(750);
MusicKit.getInstance().playbackRate = app.cfg.audio.playbackRate;
}
console.debug("[cider:preload] nowPlayingItemDidChange");
});
/* MusicKit.Events.authorizationStatusDidChange */
@ -159,6 +162,10 @@ const MusicKitInterop = {
attributes.currentPlaybackProgress = currentPlaybackProgress ?? 0;
attributes.startTime = Date.now();
attributes.endTime = Math.round(attributes?.playParams?.id === cache.playParams.id ? Date.now() + attributes?.remainingTime : attributes?.startTime + attributes?.durationInMillis);
if (attributes.name === "no-title-found") {
return;
}
return attributes;
},