diff --git a/src/docs/src/UI/showFeedbackDialog.md b/src/docs/src/UI/showFeedbackDialog.md index ea9ca094d..e1bdcc772 100644 --- a/src/docs/src/UI/showFeedbackDialog.md +++ b/src/docs/src/UI/showFeedbackDialog.md @@ -27,6 +27,8 @@ None. ## Return value A `Promise` that resolves to `true` if the user submitted feedback, and `false` if the dialog was dismissed or feedback is unavailable. It never rejects. +On a website that is cross-origin isolated (COOP severs the popup's connection to your page), the promise resolves `false` even though the popup stays open and the user may still submit their feedback there. Treat `false` as "not confirmed", not "not sent". + ## Examples ```html;ui-show-feedback-dialog diff --git a/src/puter-js/src/modules/UI.js b/src/puter-js/src/modules/UI.js index 14b327b78..4deae7995 100644 --- a/src/puter-js/src/modules/UI.js +++ b/src/puter-js/src/modules/UI.js @@ -1684,7 +1684,10 @@ class UI extends EventListener { * * @returns {Promise} `true` when the user submitted feedback, * `false` when the dialog was dismissed or feedback is unavailable. - * Never rejects. + * Never rejects. On a cross-origin-isolated page COOP severs the + * popup's link to the opener, so the promise resolves `false` while + * the popup stays open and the user may still submit — `false` means + * "not confirmed", not "not sent". */ async showFeedbackDialog () { if ( this.env === 'app' ) {