rebase patches for 1.4.0 Signed-off-by: Markus Frank <m.fr...@proxmox.com> --- .../0001-add-PVE-specific-JS-code.patch | 39 +++++----- ...002-add-custom-fbresize-event-on-rfb.patch | 15 ++-- ...nge-scaling-when-toggling-fullscreen.patch | 9 ++- debian/patches/0004-add-pve-style.patch | 15 ++-- debian/patches/0005-remove-vnc-logos.patch | 56 +++++++-------- ...rectory-for-fetching-images-js-files.patch | 72 ++++++++++--------- .../patches/0007-add-pve-vnc-commands.patch | 7 +- ...add-replaceable-snippets-in-vnc.html.patch | 9 ++- .../0009-decrease-animation-time.patch | 21 +++--- debian/patches/0010-use-only-app.js.patch | 7 +- .../0011-add-localCursor-setting-to-rfb.patch | 35 ++++----- .../0012-pass-custom-command-to-vnc.patch | 3 + ...ove-the-default-value-of-wsProtocols.patch | 13 ++-- ...passing-deprecated-upgrade-parameter.patch | 3 + ...-create-own-class-for-hidden-buttons.patch | 7 +- ...-button-on-isFullscreen-get-variable.patch | 3 + debian/patches/0017-make-error-hideable.patch | 60 ++++++++-------- ...ow-start-button-on-not-running-vm-ct.patch | 13 ++-- .../0001-Ignore-ResizeObserver-errors.patch | 31 -------- debian/patches/series | 1 - 20 files changed, 218 insertions(+), 201 deletions(-) delete mode 100644 debian/patches/extra/0001-Ignore-ResizeObserver-errors.patch
diff --git a/debian/patches/0001-add-PVE-specific-JS-code.patch b/debian/patches/0001-add-PVE-specific-JS-code.patch index f1cd8da..4e1a5c6 100644 --- a/debian/patches/0001-add-PVE-specific-JS-code.patch +++ b/debian/patches/0001-add-PVE-specific-JS-code.patch @@ -452,10 +452,10 @@ index 0000000..e3c7758 + }, +}; diff --git a/app/ui.js b/app/ui.js -index cb6a9fd..6b4442f 100644 +index c1f6776..5ebb134 100644 --- a/app/ui.js +++ b/app/ui.js -@@ -16,6 +16,7 @@ import keysyms from "../core/input/keysymdef.js"; +@@ -17,6 +17,7 @@ import keysyms from "../core/input/keysymdef.js"; import Keyboard from "../core/input/keyboard.js"; import RFB from "../core/rfb.js"; import * as WebUtil from "./webutil.js"; @@ -463,7 +463,7 @@ index cb6a9fd..6b4442f 100644 const PAGE_TITLE = "noVNC"; -@@ -56,6 +57,8 @@ const UI = { +@@ -57,6 +58,8 @@ const UI = { // Render default UI and initialize settings menu start() { @@ -472,7 +472,7 @@ index cb6a9fd..6b4442f 100644 UI.initSettings(); // Translate the DOM -@@ -100,6 +103,9 @@ const UI = { +@@ -108,6 +111,9 @@ const UI = { UI.addConnectionControlHandlers(); UI.addClipboardHandlers(); UI.addSettingsHandlers(); @@ -482,7 +482,7 @@ index cb6a9fd..6b4442f 100644 document.getElementById("noVNC_status") .addEventListener('click', UI.hideStatus); -@@ -108,19 +114,15 @@ const UI = { +@@ -116,19 +122,15 @@ const UI = { UI.openControlbar(); @@ -506,7 +506,7 @@ index cb6a9fd..6b4442f 100644 return Promise.resolve(UI.rfb); }, -@@ -164,11 +166,12 @@ const UI = { +@@ -172,11 +174,12 @@ const UI = { /* Populate the controls if defaults are provided in the URL */ UI.initSetting('host', window.location.hostname); UI.initSetting('port', port); @@ -520,7 +520,7 @@ index cb6a9fd..6b4442f 100644 UI.initSetting('shared', true); UI.initSetting('view_only', false); UI.initSetting('show_dot', false); -@@ -347,6 +350,7 @@ const UI = { +@@ -357,6 +360,7 @@ const UI = { UI.addSettingChangeHandler('resize'); UI.addSettingChangeHandler('resize', UI.applyResizeMode); UI.addSettingChangeHandler('resize', UI.updateViewClip); @@ -528,7 +528,7 @@ index cb6a9fd..6b4442f 100644 UI.addSettingChangeHandler('quality'); UI.addSettingChangeHandler('quality', UI.updateQuality); UI.addSettingChangeHandler('compression'); -@@ -401,6 +405,9 @@ const UI = { +@@ -411,6 +415,9 @@ const UI = { document.documentElement.classList.add("noVNC_connecting"); break; case 'connected': @@ -538,7 +538,7 @@ index cb6a9fd..6b4442f 100644 document.documentElement.classList.add("noVNC_connected"); break; case 'disconnecting': -@@ -408,6 +415,11 @@ const UI = { +@@ -418,6 +425,11 @@ const UI = { document.documentElement.classList.add("noVNC_disconnecting"); break; case 'disconnected': @@ -550,7 +550,7 @@ index cb6a9fd..6b4442f 100644 break; case 'reconnecting': transitionElem.textContent = _("Reconnecting..."); -@@ -821,6 +833,7 @@ const UI = { +@@ -843,6 +855,7 @@ const UI = { UI.closePowerPanel(); UI.closeClipboardPanel(); UI.closeExtraKeys(); @@ -558,7 +558,7 @@ index cb6a9fd..6b4442f 100644 }, /* ------^------- -@@ -998,6 +1011,12 @@ const UI = { +@@ -1015,6 +1028,12 @@ const UI = { UI.reconnectPassword = password; } @@ -571,7 +571,7 @@ index cb6a9fd..6b4442f 100644 if (password === null) { password = undefined; } -@@ -1622,9 +1641,36 @@ const UI = { +@@ -1689,9 +1708,36 @@ const UI = { /* ------^------- * /EXTRA KEYS * ============== @@ -610,19 +610,19 @@ index cb6a9fd..6b4442f 100644 if (!UI.rfb) return; UI.rfb.viewOnly = UI.getSetting('view_only'); diff --git a/vnc.html b/vnc.html -index 8d4b497..7ce9ba7 100644 +index 24a118d..e8a982f 100644 --- a/vnc.html +++ b/vnc.html -@@ -163,7 +163,7 @@ - <li class="noVNC_heading"> - <img alt="" src="app/images/settings.svg"> Settings - </li> +@@ -154,7 +154,7 @@ + <img alt="" src="app/images/settings.svg"> Settings + </div> + <ul> - <li> + <li style="display:none;"> <label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label> </li> <li> -@@ -173,16 +173,18 @@ +@@ -164,16 +164,18 @@ <li> <label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label> </li> @@ -644,3 +644,6 @@ index 8d4b497..7ce9ba7 100644 <div class="noVNC_expander">Advanced</div> <div><ul> <li> +-- +2.30.2 + diff --git a/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch b/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch index 48de338..b99525f 100644 --- a/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch +++ b/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch @@ -13,10 +13,10 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 2 files changed, 21 insertions(+) diff --git a/app/ui.js b/app/ui.js -index 6b4442f..11fad2d 100644 +index 5ebb134..60f4c00 100644 --- a/app/ui.js +++ b/app/ui.js -@@ -1055,6 +1055,7 @@ const UI = { +@@ -1074,6 +1074,7 @@ const UI = { UI.rfb.addEventListener("clipboard", UI.clipboardReceive); UI.rfb.addEventListener("bell", UI.bell); UI.rfb.addEventListener("desktopname", UI.updateDesktopName); @@ -24,7 +24,7 @@ index 6b4442f..11fad2d 100644 UI.rfb.clipViewport = UI.getSetting('view_clip'); UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; -@@ -1666,6 +1667,16 @@ const UI = { +@@ -1733,6 +1734,16 @@ const UI = { document.getElementById('pve_commands_button').classList.remove("noVNC_selected"); }, @@ -42,10 +42,10 @@ index 6b4442f..11fad2d 100644 * /PVE * ============== diff --git a/core/rfb.js b/core/rfb.js -index ea3bf58..90ca28b 100644 +index 6afd7c6..2f662ce 100644 --- a/core/rfb.js +++ b/core/rfb.js -@@ -2499,6 +2499,16 @@ export default class RFB extends EventTargetMixin { +@@ -2881,6 +2881,16 @@ export default class RFB extends EventTargetMixin { this._updateClip(); this._updateScale(); @@ -60,5 +60,8 @@ index ea3bf58..90ca28b 100644 + this.dispatchEvent(event); + this._updateContinuousUpdates(); - } + // Keep this size until browser client size changes +-- +2.30.2 + diff --git a/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch b/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch index 4b7d4b9..1b5130f 100644 --- a/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch +++ b/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch @@ -12,10 +12,10 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 1 file changed, 11 insertions(+) diff --git a/app/ui.js b/app/ui.js -index 11fad2d..b40d1f8 100644 +index 60f4c00..235b049 100644 --- a/app/ui.js +++ b/app/ui.js -@@ -1240,6 +1240,13 @@ const UI = { +@@ -1292,6 +1292,13 @@ const UI = { } else if (document.msExitFullscreen) { document.msExitFullscreen(); } @@ -29,7 +29,7 @@ index 11fad2d..b40d1f8 100644 } else { if (document.documentElement.requestFullscreen) { document.documentElement.requestFullscreen(); -@@ -1250,7 +1257,11 @@ const UI = { +@@ -1302,7 +1309,11 @@ const UI = { } else if (document.body.msRequestFullscreen) { document.body.msRequestFullscreen(); } @@ -41,3 +41,6 @@ index 11fad2d..b40d1f8 100644 UI.updateFullscreenButton(); }, +-- +2.30.2 + diff --git a/debian/patches/0004-add-pve-style.patch b/debian/patches/0004-add-pve-style.patch index f704814..acafbef 100644 --- a/debian/patches/0004-add-pve-style.patch +++ b/debian/patches/0004-add-pve-style.patch @@ -11,8 +11,8 @@ and fix the z-index of the connect overlay Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- app/styles/pve.css | 42 ++++++++++++++++++++++++++++++++++++++++++ - vnc.html | 3 ++- - 2 files changed, 44 insertions(+), 1 deletion(-) + vnc.html | 5 +++-- + 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 app/styles/pve.css diff --git a/app/styles/pve.css b/app/styles/pve.css @@ -64,16 +64,21 @@ index 0000000..eaeb5cb + background: #5BA8DF; +} diff --git a/vnc.html b/vnc.html -index 7ce9ba7..61d0fdd 100644 +index e8a982f..b54fe41 100644 --- a/vnc.html +++ b/vnc.html -@@ -48,7 +48,8 @@ - <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png"> +@@ -36,8 +36,9 @@ + <link rel="apple-touch-icon" sizes="180x180" type="image/png" href="app/images/icons/novnc-ios-180.png"> <!-- Stylesheets --> - <link rel="stylesheet" href="app/styles/base.css"> +- <link rel="stylesheet" href="app/styles/input.css"> + <link rel="stylesheet" href="app/styles/base.css" /> ++ <link rel="stylesheet" href="app/styles/input.css" /> + <link rel="stylesheet" href="/novnc/app/styles/pve.css" /> <!-- Images that will later appear via CSS --> <link rel="preload" as="image" href="app/images/info.svg"> +-- +2.30.2 + diff --git a/debian/patches/0005-remove-vnc-logos.patch b/debian/patches/0005-remove-vnc-logos.patch index 6464751..1bdd4f8 100644 --- a/debian/patches/0005-remove-vnc-logos.patch +++ b/debian/patches/0005-remove-vnc-logos.patch @@ -7,50 +7,44 @@ to show the pve icon instead Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- - vnc.html | 32 +++----------------------------- - 1 file changed, 3 insertions(+), 29 deletions(-) + vnc.html | 22 ++++------------------ + 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/vnc.html b/vnc.html -index 61d0fdd..216b33f 100644 +index b54fe41..5c5549d 100644 --- a/vnc.html +++ b/vnc.html -@@ -17,36 +17,10 @@ +@@ -15,26 +15,12 @@ + --> + <title>noVNC</title> - <meta charset="utf-8"> +- <link rel="icon" type="image/x-icon" href="app/images/icons/novnc.ico"> ++ <meta charset="utf-8"> -- <!-- Icons (see app/images/icons/Makefile for what the sizes are for) --> -- <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png"> -- <link rel="icon" sizes="24x24" type="image/png" href="app/images/icons/novnc-24x24.png"> -- <link rel="icon" sizes="32x32" type="image/png" href="app/images/icons/novnc-32x32.png"> -- <link rel="icon" sizes="48x48" type="image/png" href="app/images/icons/novnc-48x48.png"> -- <link rel="icon" sizes="60x60" type="image/png" href="app/images/icons/novnc-60x60.png"> -- <link rel="icon" sizes="64x64" type="image/png" href="app/images/icons/novnc-64x64.png"> -- <link rel="icon" sizes="72x72" type="image/png" href="app/images/icons/novnc-72x72.png"> -- <link rel="icon" sizes="76x76" type="image/png" href="app/images/icons/novnc-76x76.png"> -- <link rel="icon" sizes="96x96" type="image/png" href="app/images/icons/novnc-96x96.png"> -- <link rel="icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-120x120.png"> -- <link rel="icon" sizes="144x144" type="image/png" href="app/images/icons/novnc-144x144.png"> -- <link rel="icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png"> -- <link rel="icon" sizes="192x192" type="image/png" href="app/images/icons/novnc-192x192.png"> -- <!-- Firefox currently mishandles SVG, see #1419039 -- <link rel="icon" sizes="any" type="image/svg+xml" href="app/images/icons/novnc-icon.svg"> -- --> -- <!-- Repeated last so that legacy handling will pick this --> -- <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png"> -- <!-- Apple iOS Safari settings --> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <meta name="apple-mobile-web-app-capable" content="yes"> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> -- <!-- Home Screen Icons (favourites and bookmarks use the normal icons) --> -- <link rel="apple-touch-icon" sizes="60x60" type="image/png" href="app/images/icons/novnc-60x60.png"> -- <link rel="apple-touch-icon" sizes="76x76" type="image/png" href="app/images/icons/novnc-76x76.png"> -- <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-120x120.png"> -- <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png"> +- +- <!-- @2x --> +- <link rel="apple-touch-icon" sizes="40x40" type="image/png" href="app/images/icons/novnc-ios-40.png"> +- <link rel="apple-touch-icon" sizes="58x58" type="image/png" href="app/images/icons/novnc-ios-58.png"> +- <link rel="apple-touch-icon" sizes="80x80" type="image/png" href="app/images/icons/novnc-ios-80.png"> +- <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-ios-120.png"> +- <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-ios-152.png"> +- <link rel="apple-touch-icon" sizes="167x167" type="image/png" href="app/images/icons/novnc-ios-167.png"> +- <!-- @3x --> +- <link rel="apple-touch-icon" sizes="60x60" type="image/png" href="app/images/icons/novnc-ios-60.png"> +- <link rel="apple-touch-icon" sizes="87x87" type="image/png" href="app/images/icons/novnc-ios-87.png"> +- <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-ios-120.png"> +- <link rel="apple-touch-icon" sizes="180x180" type="image/png" href="app/images/icons/novnc-ios-180.png"> - + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> + <meta name="apple-mobile-web-app-capable" content="yes" /> + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <!-- Stylesheets --> <link rel="stylesheet" href="app/styles/base.css" /> - <link rel="stylesheet" href="/novnc/app/styles/pve.css" /> + <link rel="stylesheet" href="app/styles/input.css" /> +-- +2.30.2 + diff --git a/debian/patches/0006-change-source-directory-for-fetching-images-js-files.patch b/debian/patches/0006-change-source-directory-for-fetching-images-js-files.patch index 88e1514..ebff5c4 100644 --- a/debian/patches/0006-change-source-directory-for-fetching-images-js-files.patch +++ b/debian/patches/0006-change-source-directory-for-fetching-images-js-files.patch @@ -9,23 +9,23 @@ also change the directory in the build script Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- app/ui.js | 4 ++-- - vnc.html | 52 ++++++++++++++++++++++++++-------------------------- - 2 files changed, 28 insertions(+), 28 deletions(-) + vnc.html | 54 +++++++++++++++++++++++++++--------------------------- + 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/app/ui.js b/app/ui.js -index b40d1f8..f7b7dc4 100644 +index 235b049..1d52a5a 100644 --- a/app/ui.js +++ b/app/ui.js -@@ -64,7 +64,7 @@ const UI = { - // Translate the DOM - l10n.translateDOM(); +@@ -73,7 +73,7 @@ const UI = { + } + // Try to fetch version number - fetch('./package.json') + fetch('/novnc/package.json') .then((response) => { if (!response.ok) { throw Error("" + response.status + " " + response.statusText); -@@ -1768,7 +1768,7 @@ l10n.setup(LINGUAS); +@@ -1835,7 +1835,7 @@ l10n.setup(LINGUAS); if (l10n.language === "en" || l10n.dictionary !== undefined) { UI.prime(); } else { @@ -35,15 +35,17 @@ index b40d1f8..f7b7dc4 100644 if (!response.ok) { throw Error("" + response.status + " " + response.statusText); diff --git a/vnc.html b/vnc.html -index 216b33f..8ca4ea4 100644 +index 5c5549d..f081aee 100644 --- a/vnc.html +++ b/vnc.html -@@ -22,16 +22,16 @@ +@@ -22,17 +22,17 @@ <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <!-- Stylesheets --> - <link rel="stylesheet" href="app/styles/base.css" /> +- <link rel="stylesheet" href="app/styles/input.css" /> + <link rel="stylesheet" href="/novnc/app/styles/base.css" /> ++ <link rel="stylesheet" href="/novnc/app/styles/input.css" /> <link rel="stylesheet" href="/novnc/app/styles/pve.css" /> <!-- Images that will later appear via CSS --> @@ -54,15 +56,15 @@ index 216b33f..8ca4ea4 100644 + <link rel="preload" as="image" href="/novnc/app/images/error.svg"> + <link rel="preload" as="image" href="/novnc/app/images/warning.svg"> -- <script src="app/error-handler.js"></script> +- <script type="module" crossorigin="anonymous" src="app/error-handler.js"></script> - <script type="module" crossorigin="anonymous" src="app/ui.js"></script> -+ <script src="/novnc/app/error-handler.js"></script> ++ <script type="module" crossorigin="anonymous" src="/novnc/app/error-handler.js"></script> + <script type="module" crossorigin="anonymous" src="/novnc/app/ui.js"></script> </head> <body> -@@ -55,51 +55,51 @@ - <h1 class="noVNC_logo" translate="no"><span>no</span><br>VNC</h1> +@@ -58,51 +58,51 @@ + <hr> <!-- Drag/Pan the viewport --> - <input type="image" alt="Drag" src="app/images/drag.svg" @@ -124,7 +126,7 @@ index 216b33f..8ca4ea4 100644 </div> <input type="button" id="noVNC_shutdown_button" value="Shutdown"> <input type="button" id="noVNC_reboot_button" value="Reboot"> -@@ -108,13 +108,13 @@ +@@ -111,13 +111,13 @@ </div> <!-- Clipboard --> @@ -138,16 +140,16 @@ index 216b33f..8ca4ea4 100644 - <img alt="" src="app/images/clipboard.svg"> Clipboard + <img alt="" src="/novnc/app/images/clipboard.svg"> Clipboard </div> - <textarea id="noVNC_clipboard_text" rows=5></textarea> - <br> -@@ -124,19 +124,19 @@ + <p class="noVNC_subheading"> + Edit clipboard content in the textarea below. +@@ -127,18 +127,18 @@ </div> <!-- Toggle fullscreen --> -- <input type="image" alt="Fullscreen" src="app/images/fullscreen.svg" +- <input type="image" alt="Full Screen" src="app/images/fullscreen.svg" + <input type="image" alt="Fullscreen" src="/novnc/app/images/fullscreen.svg" id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden" - title="Fullscreen"> + title="Full Screen"> <!-- Settings --> - <input type="image" alt="Settings" src="app/images/settings.svg" @@ -156,14 +158,13 @@ index 216b33f..8ca4ea4 100644 title="Settings"> <div class="noVNC_vcenter"> <div id="noVNC_settings" class="noVNC_panel"> + <div class="noVNC_heading"> +- <img alt="" src="app/images/settings.svg"> Settings ++ <img alt="" src="/novnc/app/images/settings.svg"> Settings + </div> <ul> - <li class="noVNC_heading"> -- <img alt="" src="app/images/settings.svg"> Settings -+ <img alt="" src="/novnc/app/images/settings.svg"> Settings - </li> <li style="display:none;"> - <label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label> -@@ -227,7 +227,7 @@ +@@ -230,7 +230,7 @@ </div> <!-- Connection Controls --> @@ -172,16 +173,16 @@ index 216b33f..8ca4ea4 100644 id="noVNC_disconnect_button" class="noVNC_button" title="Disconnect"> -@@ -246,7 +246,7 @@ - <div id="noVNC_connect_dlg"> - <div class="noVNC_logo" translate="no"><span>no</span>VNC</div> - <div id="noVNC_connect_button"><div> -- <img alt="" src="app/images/connect.svg"> Connect -+ <img alt="" src="/novnc/app/images/connect.svg"> Connect - </div></div> +@@ -253,7 +253,7 @@ + <p class="noVNC_logo" translate="no"><span>no</span>VNC</p> + <div> + <button id="noVNC_connect_button"> +- <img alt="" src="app/images/connect.svg"> Connect ++ <img alt="" src="/novnc/app/images/connect.svg"> Connect + </button> + </div> </div> - </div> -@@ -290,8 +290,8 @@ +@@ -323,8 +323,8 @@ </div> <audio id="noVNC_bell"> @@ -192,3 +193,6 @@ index 216b33f..8ca4ea4 100644 </audio> </body> </html> +-- +2.30.2 + diff --git a/debian/patches/0007-add-pve-vnc-commands.patch b/debian/patches/0007-add-pve-vnc-commands.patch index 151aaa1..e397302 100644 --- a/debian/patches/0007-add-pve-vnc-commands.patch +++ b/debian/patches/0007-add-pve-vnc-commands.patch @@ -9,10 +9,10 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 1 file changed, 21 insertions(+) diff --git a/vnc.html b/vnc.html -index 8ca4ea4..01f71e1 100644 +index f081aee..9281009 100644 --- a/vnc.html +++ b/vnc.html -@@ -226,6 +226,27 @@ +@@ -229,6 +229,27 @@ </div> </div> @@ -40,3 +40,6 @@ index 8ca4ea4..01f71e1 100644 <!-- Connection Controls --> <input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg" id="noVNC_disconnect_button" class="noVNC_button" +-- +2.30.2 + diff --git a/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch b/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch index a556f6b..80cdd2c 100644 --- a/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch +++ b/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch @@ -11,7 +11,7 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vnc.html b/vnc.html -index 01f71e1..dc4cc23 100644 +index 9281009..4ce107a 100644 --- a/vnc.html +++ b/vnc.html @@ -13,7 +13,7 @@ @@ -23,10 +23,10 @@ index 01f71e1..dc4cc23 100644 <meta charset="utf-8"> -@@ -31,6 +31,12 @@ +@@ -32,6 +32,12 @@ <link rel="preload" as="image" href="/novnc/app/images/warning.svg"> - <script src="/novnc/app/error-handler.js"></script> + <script type="module" crossorigin="anonymous" src="/novnc/app/error-handler.js"></script> + <script type="text/javascript"> + if (typeof(PVE) === 'undefined') PVE = {}; + PVE.UserName = '[% username %]'; @@ -36,3 +36,6 @@ index 01f71e1..dc4cc23 100644 <script type="module" crossorigin="anonymous" src="/novnc/app/ui.js"></script> </head> +-- +2.30.2 + diff --git a/debian/patches/0009-decrease-animation-time.patch b/debian/patches/0009-decrease-animation-time.patch index 1e26af9..0d8664b 100644 --- a/debian/patches/0009-decrease-animation-time.patch +++ b/debian/patches/0009-decrease-animation-time.patch @@ -11,10 +11,10 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/styles/base.css b/app/styles/base.css -index fd78b79..db52eaa 100644 +index 06e736a..a3eb872 100644 --- a/app/styles/base.css +++ b/app/styles/base.css -@@ -339,7 +339,7 @@ select:active { +@@ -222,7 +222,7 @@ html { position: fixed; z-index: 10; @@ -23,7 +23,7 @@ index fd78b79..db52eaa 100644 /* Edge misrenders animations wihthout this */ transform: translateX(0); -@@ -356,7 +356,7 @@ select:active { +@@ -239,7 +239,7 @@ html { position: relative; left: -100%; @@ -32,7 +32,7 @@ index fd78b79..db52eaa 100644 background-color: rgb(110, 132, 163); border-radius: 0 10px 10px 0; -@@ -374,7 +374,7 @@ select:active { +@@ -260,7 +260,7 @@ html { height: 100%; width: 30px; left: -30px; @@ -41,7 +41,7 @@ index fd78b79..db52eaa 100644 } #noVNC_control_bar.noVNC_open::before { box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); -@@ -408,7 +408,7 @@ select:active { +@@ -294,7 +294,7 @@ html { } #noVNC_control_bar_handle:after { content: ""; @@ -50,16 +50,16 @@ index fd78b79..db52eaa 100644 background: url("../images/handle.svg"); position: absolute; top: 22px; /* (50px-6px)/2 */ -@@ -530,7 +530,7 @@ select:active { +@@ -430,7 +430,7 @@ html { .noVNC_panel { transform: translateX(25px); - transition: 0.5s ease-in-out; + transition: 0.25s ease-in-out; - max-height: 100vh; /* Chrome is buggy with 100% */ - overflow-x: hidden; -@@ -717,7 +717,7 @@ select:active { + box-sizing: border-box; /* so max-width don't have to care about padding */ + max-width: calc(100vw - 75px - 25px); /* minus left and right margins */ +@@ -649,7 +649,7 @@ html { cursor: pointer; @@ -68,3 +68,6 @@ index fd78b79..db52eaa 100644 visibility: hidden; opacity: 0; +-- +2.30.2 + diff --git a/debian/patches/0010-use-only-app.js.patch b/debian/patches/0010-use-only-app.js.patch index 7355b7c..8dfbcf0 100644 --- a/debian/patches/0010-use-only-app.js.patch +++ b/debian/patches/0010-use-only-app.js.patch @@ -12,10 +12,10 @@ Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnc.html b/vnc.html -index dc4cc23..21b3844 100644 +index 4ce107a..eed474f 100644 --- a/vnc.html +++ b/vnc.html -@@ -37,7 +37,7 @@ +@@ -38,7 +38,7 @@ PVE.CSRFPreventionToken = '[% token %]'; INCLUDE_URI='/novnc/include'; </script> @@ -24,3 +24,6 @@ index dc4cc23..21b3844 100644 </head> <body> +-- +2.30.2 + diff --git a/debian/patches/0011-add-localCursor-setting-to-rfb.patch b/debian/patches/0011-add-localCursor-setting-to-rfb.patch index 2789889..77fc11e 100644 --- a/debian/patches/0011-add-localCursor-setting-to-rfb.patch +++ b/debian/patches/0011-add-localCursor-setting-to-rfb.patch @@ -15,10 +15,10 @@ Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com> 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/ui.js b/app/ui.js -index f7b7dc4..37a0279 100644 +index 1d52a5a..02004c3 100644 --- a/app/ui.js +++ b/app/ui.js -@@ -172,6 +172,7 @@ const UI = { +@@ -180,6 +180,7 @@ const UI = { UI.initSetting('quality', 6); UI.initSetting('compression', 2); UI.initSetting('autoresize', true); @@ -26,7 +26,7 @@ index f7b7dc4..37a0279 100644 UI.initSetting('shared', true); UI.initSetting('view_only', false); UI.initSetting('show_dot', false); -@@ -362,6 +363,8 @@ const UI = { +@@ -372,6 +373,8 @@ const UI = { UI.addSettingChangeHandler('view_only', UI.updateViewOnly); UI.addSettingChangeHandler('show_dot'); UI.addSettingChangeHandler('show_dot', UI.updateShowDotCursor); @@ -35,7 +35,7 @@ index f7b7dc4..37a0279 100644 UI.addSettingChangeHandler('host'); UI.addSettingChangeHandler('port'); UI.addSettingChangeHandler('path'); -@@ -1057,6 +1060,7 @@ const UI = { +@@ -1076,6 +1079,7 @@ const UI = { UI.rfb.addEventListener("desktopname", UI.updateDesktopName); UI.rfb.addEventListener("fbresize", UI.updateSessionSize); UI.rfb.clipViewport = UI.getSetting('view_clip'); @@ -43,7 +43,7 @@ index f7b7dc4..37a0279 100644 UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; UI.rfb.qualityLevel = parseInt(UI.getSetting('quality')); -@@ -1693,6 +1697,12 @@ const UI = { +@@ -1760,6 +1764,12 @@ const UI = { * ============== * MISC * ------v------*/ @@ -57,18 +57,18 @@ index f7b7dc4..37a0279 100644 if (!UI.rfb) return; UI.rfb.viewOnly = UI.getSetting('view_only'); diff --git a/core/rfb.js b/core/rfb.js -index 90ca28b..ec75610 100644 +index 2f662ce..2dc0638 100644 --- a/core/rfb.js +++ b/core/rfb.js -@@ -256,6 +256,7 @@ export default class RFB extends EventTargetMixin { - this._clipViewport = false; +@@ -290,6 +290,7 @@ export default class RFB extends EventTargetMixin { + this._clippingViewport = false; this._scaleViewport = false; this._resizeSession = false; + this._localCursor = false; this._showDotCursor = false; if (options.showDotCursor !== undefined) { -@@ -316,6 +317,15 @@ export default class RFB extends EventTargetMixin { +@@ -360,6 +361,15 @@ export default class RFB extends EventTargetMixin { } } @@ -85,7 +85,7 @@ index 90ca28b..ec75610 100644 set showDotCursor(show) { this._showDotCursor = show; diff --git a/core/util/cursor.js b/core/util/cursor.js -index 12bcced..ce7340e 100644 +index 3000cf0..0d9651f 100644 --- a/core/util/cursor.js +++ b/core/util/cursor.js @@ -12,6 +12,8 @@ export default class Cursor { @@ -97,7 +97,7 @@ index 12bcced..ce7340e 100644 this._canvas = document.createElement('canvas'); if (useFallback) { -@@ -100,7 +102,7 @@ export default class Cursor { +@@ -104,7 +106,7 @@ export default class Cursor { } clear() { @@ -106,7 +106,7 @@ index 12bcced..ce7340e 100644 this._canvas.width = 0; this._canvas.height = 0; this._position.x = this._position.x + this._hotSpot.x; -@@ -130,6 +132,11 @@ export default class Cursor { +@@ -134,6 +136,11 @@ export default class Cursor { this._updateVisibility(target); } @@ -118,7 +118,7 @@ index 12bcced..ce7340e 100644 _handleMouseOver(event) { // This event could be because we're entering the target, or // moving around amongst its sub elements. Let the move handler -@@ -182,6 +189,11 @@ export default class Cursor { +@@ -186,6 +193,11 @@ export default class Cursor { } } @@ -130,17 +130,17 @@ index 12bcced..ce7340e 100644 _showCursor() { if (this._canvas.style.visibility === 'hidden') { this._canvas.style.visibility = ''; -@@ -240,4 +252,5 @@ export default class Cursor { +@@ -244,4 +256,5 @@ export default class Cursor { return document.captureElement && document.documentElement.contains(document.captureElement); } + } diff --git a/vnc.html b/vnc.html -index 21b3844..3e63087 100644 +index eed474f..b80f3c5 100644 --- a/vnc.html +++ b/vnc.html -@@ -154,6 +154,9 @@ +@@ -157,6 +157,9 @@ <li> <label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label> </li> @@ -150,3 +150,6 @@ index 21b3844..3e63087 100644 <li> <label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label> </li> +-- +2.30.2 + diff --git a/debian/patches/0012-pass-custom-command-to-vnc.patch b/debian/patches/0012-pass-custom-command-to-vnc.patch index 7c993e9..b92d1db 100644 --- a/debian/patches/0012-pass-custom-command-to-vnc.patch +++ b/debian/patches/0012-pass-custom-command-to-vnc.patch @@ -34,3 +34,6 @@ index e3c7758..446b85d 100644 break; default: throw 'implement me'; +-- +2.30.2 + diff --git a/debian/patches/0013-Revert-Remove-the-default-value-of-wsProtocols.patch b/debian/patches/0013-Revert-Remove-the-default-value-of-wsProtocols.patch index d96976b..1ec3405 100644 --- a/debian/patches/0013-Revert-Remove-the-default-value-of-wsProtocols.patch +++ b/debian/patches/0013-Revert-Remove-the-default-value-of-wsProtocols.patch @@ -15,10 +15,10 @@ Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com> 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/rfb.js b/core/rfb.js -index ec75610..96617b9 100644 +index 2dc0638..39fd869 100644 --- a/core/rfb.js +++ b/core/rfb.js -@@ -91,7 +91,8 @@ export default class RFB extends EventTargetMixin { +@@ -117,7 +117,8 @@ export default class RFB extends EventTargetMixin { this._rfbCredentials = options.credentials || {}; this._shared = 'shared' in options ? !!options.shared : true; this._repeaterID = options.repeaterID || ''; @@ -29,10 +29,10 @@ index ec75610..96617b9 100644 // Internal state this._rfbConnectionState = ''; diff --git a/docs/API.md b/docs/API.md -index aa5aea7..623d685 100644 +index eb3ec33..6616048 100644 --- a/docs/API.md +++ b/docs/API.md -@@ -195,8 +195,7 @@ connection to a specified VNC server. +@@ -229,8 +229,7 @@ new RFB(target, urlOrChannel, options); encountered. `wsProtocols` @@ -40,5 +40,8 @@ index aa5aea7..623d685 100644 - in the WebSocket connection. Empty by default. + - Protocols to use in the WebSocket connection, the default is: ['binary'] - #### connect + #### bell +-- +2.30.2 + diff --git a/debian/patches/0014-avoid-passing-deprecated-upgrade-parameter.patch b/debian/patches/0014-avoid-passing-deprecated-upgrade-parameter.patch index 7758e4a..5d6ffe7 100644 --- a/debian/patches/0014-avoid-passing-deprecated-upgrade-parameter.patch +++ b/debian/patches/0014-avoid-passing-deprecated-upgrade-parameter.patch @@ -21,3 +21,6 @@ index 446b85d..dfff1b0 100644 title = 'System upgrade on node ' + this.nodename; break; case 'cmd': +-- +2.30.2 + diff --git a/debian/patches/0015-create-own-class-for-hidden-buttons.patch b/debian/patches/0015-create-own-class-for-hidden-buttons.patch index ebfbb26..bbed504 100644 --- a/debian/patches/0015-create-own-class-for-hidden-buttons.patch +++ b/debian/patches/0015-create-own-class-for-hidden-buttons.patch @@ -45,7 +45,7 @@ index dfff1b0..4774e3a 100644 }); }, diff --git a/app/styles/pve.css b/app/styles/pve.css -index eaeb5cb..18126b0 100644 +index eaeb5cb..6376593 100644 --- a/app/styles/pve.css +++ b/app/styles/pve.css @@ -40,3 +40,7 @@ @@ -54,5 +54,8 @@ index eaeb5cb..18126b0 100644 } + +.noVNC_button.pve_hidden { -+ display: none; ++ display: none !important; +} +-- +2.30.2 + 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 index bb4dc78..fc84e15 100644 --- a/debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch +++ b/debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch @@ -37,3 +37,6 @@ index 4774e3a..583a406 100644 // add command logic var commandArray = [ { cmd: 'start', kvm: 1, lxc: 1}, +-- +2.30.2 + diff --git a/debian/patches/0017-make-error-hideable.patch b/debian/patches/0017-make-error-hideable.patch index df0c484..764d8c7 100644 --- a/debian/patches/0017-make-error-hideable.patch +++ b/debian/patches/0017-make-error-hideable.patch @@ -7,41 +7,45 @@ by clicking on it Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- - app/error-handler.js | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) + app/error-handler.js | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/error-handler.js b/app/error-handler.js -index f956c22..20233b2 100644 +index 67b6372..b842909 100644 --- a/app/error-handler.js +++ b/app/error-handler.js -@@ -15,6 +15,18 @@ +@@ -6,6 +6,19 @@ + * See README.md for usage and integration instructions. + */ - (function _scope() { - "use strict"; -+ function hideError() { -+ const msg = document.getElementById('noVNC_fallback_errormsg'); ++function hideError() { ++ const msg = document.getElementById('noVNC_fallback_errormsg'); + -+ // close it -+ document.getElementById('noVNC_fallback_error') -+ .classList.remove("noVNC_open"); ++ // close it ++ document.getElementById('noVNC_fallback_error') ++ .classList.remove("noVNC_open"); + -+ // remove all children -+ while (msg.firstChild) { -+ msg.removeChild(msg.firstChild); -+ } ++ // remove all children ++ while (msg.firstChild) { ++ msg.removeChild(msg.firstChild); + } ++} ++ + // Fallback for all uncought errors + function handleError(event, err) { + try { +@@ -48,8 +61,9 @@ function handleError(event, err) { + msg.appendChild(div); + } - // Fallback for all uncought errors - function handleError(event, err) { -@@ -58,8 +70,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; -- 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."); - } + } catch (exc) { + document.write("noVNC encountered an error."); +-- +2.30.2 + diff --git a/debian/patches/0018-show-start-button-on-not-running-vm-ct.patch b/debian/patches/0018-show-start-button-on-not-running-vm-ct.patch index 4e1b99d..862a8cc 100644 --- a/debian/patches/0018-show-start-button-on-not-running-vm-ct.patch +++ b/debian/patches/0018-show-start-button-on-not-running-vm-ct.patch @@ -110,12 +110,12 @@ index 583a406..287615f 100644 var me = this; try { diff --git a/app/styles/pve.css b/app/styles/pve.css -index 18126b0..e0ca61f 100644 +index 6376593..1a0caad 100644 --- a/app/styles/pve.css +++ b/app/styles/pve.css @@ -44,3 +44,61 @@ .noVNC_button.pve_hidden { - display: none; + display: none !important; } + +/* start button */ @@ -176,11 +176,11 @@ index 18126b0..e0ca61f 100644 + padding: 0 5px 2px 0; +} diff --git a/vnc.html b/vnc.html -index 3e63087..f0488b1 100644 +index b80f3c5..ca69f03 100644 --- a/vnc.html +++ b/vnc.html -@@ -281,6 +281,15 @@ - </div> +@@ -313,6 +313,15 @@ + </form></div> </div> + <div class="noVNC_center"> @@ -195,3 +195,6 @@ index 3e63087..f0488b1 100644 <!-- Password Dialog --> <div class="noVNC_center noVNC_connect_layer"> <div id="noVNC_credentials_dlg" class="noVNC_panel"><form> +-- +2.30.2 + diff --git a/debian/patches/extra/0001-Ignore-ResizeObserver-errors.patch b/debian/patches/extra/0001-Ignore-ResizeObserver-errors.patch deleted file mode 100644 index af33fc6..0000000 --- a/debian/patches/extra/0001-Ignore-ResizeObserver-errors.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Pierre Ossman <oss...@cendio.se> -Date: Mon, 22 Nov 2021 13:53:05 +0100 -Subject: [PATCH] Ignore ResizeObserver errors - -It seems that Firefox has a bug where these are fired incorrectly when -we are in an <iframe>. The events also contain no useful details, so we -can't really do anything useful with them anyway. - -Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> ---- - app/error-handler.js | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/app/error-handler.js b/app/error-handler.js -index 81a6cba..f956c22 100644 ---- a/app/error-handler.js -+++ b/app/error-handler.js -@@ -21,6 +21,12 @@ - try { - const msg = document.getElementById('noVNC_fallback_errormsg'); - -+ // Work around Firefox bug: -+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1685038 -+ if (event.message === "ResizeObserver loop completed with undelivered notifications.") { -+ return false; -+ } -+ - // Only show the initial error - if (msg.hasChildNodes()) { - return false; diff --git a/debian/patches/series b/debian/patches/series index ef9e9df..085e2b4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,3 @@ -extra/0001-Ignore-ResizeObserver-errors.patch 0001-add-PVE-specific-JS-code.patch 0002-add-custom-fbresize-event-on-rfb.patch 0003-change-scaling-when-toggling-fullscreen.patch -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel