DEV: This constructs a `pluginId` for `modifyClass` when dispatching events

DEV: This constructs a pluginId for modifyClass when dispatching events

It also helpfully adds the ignoreMissing option which was causing logging issues on optional modifications before.

diff --git a/app/assets/javascripts/discourse/app/lib/plugin-api.js b/app/assets/javascripts/discourse/app/lib/plugin-api.js
index 35877fa..64299bc 100644
--- a/app/assets/javascripts/discourse/app/lib/plugin-api.js
+++ b/app/assets/javascripts/discourse/app/lib/plugin-api.js
@@ -1387,12 +1387,17 @@ class PluginApi {
    * is converted to camelCase and used as the method name for you.
    */
   dispatchWidgetAppEvent(mountedComponent, widgetKey, appEvent) {
-    this.modifyClass(`component:${mountedComponent}`, {
-      didInsertElement() {
-        this._super();
-        this.dispatch(appEvent, widgetKey);
+    this.modifyClass(
+      `component:${mountedComponent}`,
+      {
+        pluginId: `#{mountedComponent}/#{widgetKey}/#{appEvent}`,
+        didInsertElement() {
+          this._super();
+          this.dispatch(appEvent, widgetKey);
+        },
       },
-    });
+      { ignoreMissing: true }
+    );
   }
 }
 

GitHub sha: ea84c66fe0675976b2005d010c142f6171be3335

This commit appears in #14229 which was approved by danielwaterworth. It was merged by eviltrout.