From: Dominik Csapak Date: Mon, 20 Dec 2021 11:33:00 +0000 (+0100) Subject: add patches to workaround fullscreen issue in android app X-Git-Url: https://git.proxmox.com/?p=novnc-pve.git;a=commitdiff_plain;h=237a7ebb4065b3e2350746afd9479b39abe96356 add patches to workaround fullscreen issue in android app - patch 16 allows one to hide the fullscreen button - patch 17 makes the error message dismissable Signed-off-by: Dominik Csapak --- diff --git a/debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch b/debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch new file mode 100644 index 0000000..1cdafd2 --- /dev/null +++ b/debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dominik Csapak +Date: Mon, 20 Dec 2021 09:28:35 +0100 +Subject: [PATCH] hide fullscreen button on 'isFullscreen' get variable + +workaround for android app, since the webview does not allow +'requestFullscreen' apparently, so we make the webview fullscreen and +hide the button here. + +Signed-off-by: Dominik Csapak +--- + app/pve.js | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/app/pve.js b/app/pve.js +index 486bd5c..042eb7c 100644 +--- a/app/pve.js ++++ b/app/pve.js +@@ -12,6 +12,7 @@ export default function PVEUI(UI){ + this.nodename = WebUtil.getQueryVar('node'); + this.resize = WebUtil.getQueryVar('resize'); + this.cmd = WebUtil.getQueryVar('cmd'); ++ this.fullscreen = WebUtil.getQueryVar('isFullscreen'); + this.lastFBWidth = undefined; + this.lastFBHeight = undefined; + this.sizeUpdateTimer = undefined; +@@ -304,6 +305,12 @@ PVEUI.prototype = { + .classList.add('pve_hidden'); + } + ++ // hide fullscren button when it's already fullscreen (e.g. android app) ++ if (me.fullscreen) { ++ document.getElementById('noVNC_fullscreen_button') ++ .classList.add('pve_hidden'); ++ } ++ + // add command logic + var commandArray = [ + { cmd: 'start', kvm: 1, lxc: 1}, diff --git a/debian/patches/0017-make-error-hideable.patch b/debian/patches/0017-make-error-hideable.patch new file mode 100644 index 0000000..9322ade --- /dev/null +++ b/debian/patches/0017-make-error-hideable.patch @@ -0,0 +1,47 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dominik Csapak +Date: Mon, 20 Dec 2021 09:34:36 +0100 +Subject: [PATCH] make error hideable + +by clicking on it + +Signed-off-by: Dominik Csapak +--- + app/error-handler.js | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/app/error-handler.js b/app/error-handler.js +index 81a6cba..6ce8013 100644 +--- a/app/error-handler.js ++++ b/app/error-handler.js +@@ -15,6 +15,18 @@ + + (function _scope() { + "use strict"; ++ function hideError() { ++ const msg = document.getElementById('noVNC_fallback_errormsg'); ++ ++ // close it ++ document.getElementById('noVNC_fallback_error') ++ .classList.remove("noVNC_open"); ++ ++ // remove all children ++ while (msg.firstChild) { ++ msg.removeChild(msg.firstChild); ++ } ++ } + + // Fallback for all uncought errors + function handleError(event, err) { +@@ -52,8 +64,9 @@ + msg.appendChild(div); + } + +- document.getElementById('noVNC_fallback_error') +- .classList.add("noVNC_open"); ++ const node = document.getElementById('noVNC_fallback_error'); ++ node.classList.add("noVNC_open"); ++ node.onclick = hideError; + } catch (exc) { + document.write("noVNC encountered an error."); + } diff --git a/debian/patches/series b/debian/patches/series index 4913924..a520e27 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,3 +13,5 @@ 0013-Revert-Remove-the-default-value-of-wsProtocols.patch 0014-avoid-passing-deprecated-upgrade-parameter.patch 0015-create-own-class-for-hidden-buttons.patch +0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch +0017-make-error-hideable.patch