diff --git a/src/gui/src/IPC.js b/src/gui/src/IPC.js index 1c338d47f..8f9a32300 100644 --- a/src/gui/src/IPC.js +++ b/src/gui/src/IPC.js @@ -141,6 +141,11 @@ const ipc_listener = async (event, handled) => { return; } + // -------------------------------------------------------- + // Dispatch custom event so that extensions can listen to it + // -------------------------------------------------------- + window.dispatchEvent(new CustomEvent('ipc:message', { detail: event.data })); + // todo validate all event.data stuff coming from the client (e.g. event.data.message, .msg, ...) //------------------------------------------------- // READY diff --git a/src/puter-js/src/modules/UI.js b/src/puter-js/src/modules/UI.js index f585fa4f7..6e40148d5 100644 --- a/src/puter-js/src/modules/UI.js +++ b/src/puter-js/src/modules/UI.js @@ -765,6 +765,12 @@ class UI extends EventListener { }) } + requestUpgrade = function() { + return new Promise((resolve) => { + this.#postMessageWithCallback('requestUpgrade', resolve, { }); + }) + } + showSaveFilePicker = function(content, suggestedName, type){ const undefinedOnCancel = new putility.libs.promise.TeePromise(); const resolveOnlyPromise = new Promise((resolve, reject) => {