diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json
index 9163dd1b..d17e39db 100644
--- a/src/i18n/en_US.json
+++ b/src/i18n/en_US.json
@@ -229,6 +229,7 @@
"home.followedArtists": "Followed Artists",
"error.appleMusicSubRequired": "Apple Music requires a subscription.",
"error.connectionError": "There was a problem connecting to Apple Music.",
+ "error.musickitError": "MusicKit Encountered an Error: ",
"error.noResults": "No Results.",
"error.noResults.description": "Try a new search.",
"podcast.followOnCider": "Follow On Cider",
diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js
index 49b3606c..f11d4470 100644
--- a/src/renderer/main/vueapp.js
+++ b/src/renderer/main/vueapp.js
@@ -305,6 +305,20 @@ const app = new Vue({
app.cfg.musickit["stored-attributes"][attr] = val;
});
}
+ const ERROR_CODES = ["drmUnsupported", "mediaPlaybackError"];
+ /* MusicKit.Events */
+ ERROR_CODES.forEach((code) => {
+ MusicKit.getInstance().addEventListener(MusicKit.Events[code], (e) => {
+ console.error(`[MusicKit] MusicKit Error ${code}`);
+ console.error({ e: e });
+ app.notyf.open({
+ duration: 20000,
+ type: "error",
+ className: "notyf-info",
+ message: `${app.getLz("error.musickitError")} \n${code.toUpperCase()}
`,
+ });
+ });
+ });
},
async oobeInit() {
this.appMode = "oobe";