From cccf3b008abbb68abcbbda159f7b111f163788a3 Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Sun, 29 Jul 2018 19:14:56 -0400 Subject: [PATCH 1/2] Fix perf/playback tool Somewhere along the way, the refactors broke playback.js. This fixes the actual functionality, and makes its JS loading match that in vnc.html. --- tests/playback.js | 4 ++-- tests/vnc_playback.html | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/playback.js b/tests/playback.js index c48a2a4e..faa1a3f5 100644 --- a/tests/playback.js +++ b/tests/playback.js @@ -89,18 +89,18 @@ export default class RecordingPlayer { this._trafficManagement = (trafficManagement === undefined) ? !realtime : trafficManagement; this._running = true; - - this._queueNextPacket(); } // _enablePlaybackMode mocks out things not required for running playback _enablePlaybackMode() { + const self = this; this._rfb._sock.send = () => {}; this._rfb._sock.close = () => {}; this._rfb._sock.flush = () => {}; this._rfb._sock.open = function () { this.init(); this._eventHandlers.open(); + self._queueNextPacket(); }; } diff --git a/tests/vnc_playback.html b/tests/vnc_playback.html index d5f94428..b369078a 100644 --- a/tests/vnc_playback.html +++ b/tests/vnc_playback.html @@ -2,8 +2,22 @@ VNC Playback - - + + + + + + + From ee3493c060d64de9e04cf33a71b33c672e6fcd8c Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Sun, 29 Jul 2018 19:16:56 -0400 Subject: [PATCH 2/2] Add a record flag to launch.sh Add the `--record` flag to launch.js, for easy recording when testing. --- tests/vnc_playback.html | 2 +- utils/launch.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/vnc_playback.html b/tests/vnc_playback.html index b369078a..524bb9f2 100644 --- a/tests/vnc_playback.html +++ b/tests/vnc_playback.html @@ -12,7 +12,7 @@ window.addEventListener("load", function() { if (window._noVNC_has_module_support) return; var loader = document.createElement("script"); - loader.src = "vendor/browser-es-module-loader/dist/browser-es-module-loader.js"; + loader.src = "../vendor/browser-es-module-loader/dist/browser-es-module-loader.js"; document.head.appendChild(loader); }); diff --git a/utils/launch.sh b/utils/launch.sh index 2007c858..ee2ca5ea 100755 --- a/utils/launch.sh +++ b/utils/launch.sh @@ -24,6 +24,8 @@ usage() { echo " Default: ./" echo " --ssl-only Disable non-https connections." echo " " + echo " --record FILE Record traffic to FILE.session.js" + echo " " exit 2 } @@ -36,6 +38,7 @@ CERT="" WEB="" proxy_pid="" SSLONLY="" +RECORD_ARG="" die() { echo "$*" @@ -63,6 +66,7 @@ while [ "$*" ]; do --cert) CERT="${OPTARG}"; shift ;; --web) WEB="${OPTARG}"; shift ;; --ssl-only) SSLONLY="--ssl-only" ;; + --record) RECORD_ARG="--record ${OPTARG}"; shift ;; -h|--help) usage ;; -*) usage "Unknown chrooter option: ${param}" ;; *) break ;; @@ -145,7 +149,7 @@ fi echo "Starting webserver and WebSockets proxy on port ${PORT}" #${HERE}/websockify --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} & -${WEBSOCKIFY} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} & +${WEBSOCKIFY} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} ${RECORD_ARG} & proxy_pid="$!" sleep 1 if ! ps -p ${proxy_pid} >/dev/null; then