@@ -1463,9 +1463,9 @@ async function sshRun(
14631463 } ) ;
14641464}
14651465
1466- function renderRemoteSetup ( params : { tdlibSha256 ?: string ; tdlibUrl ?: string } ) {
1467- const tdlibSha256 = JSON . stringify ( params . tdlibSha256 ?? "" ) ;
1468- const tdlibUrl = JSON . stringify ( params . tdlibUrl ?? "" ) ;
1466+ export function renderRemoteSetup ( params : { tdlibSha256 ?: string ; tdlibUrl ?: string } ) {
1467+ const tdlibSha256 = shellQuote ( params . tdlibSha256 ?? "" ) ;
1468+ const tdlibUrl = shellQuote ( params . tdlibUrl ?? "" ) ;
14691469 return `#!/usr/bin/env bash
14701470set -euo pipefail
14711471root=${ REMOTE_ROOT }
@@ -1617,10 +1617,10 @@ sleep 6
16171617` ;
16181618}
16191619
1620- function renderSelectDesktopChat ( params : { chatTitle : string } ) {
1620+ export function renderSelectDesktopChat ( params : { chatTitle : string } ) {
16211621 return `#!/usr/bin/env bash
16221622set -euo pipefail
1623- chat_title=${ JSON . stringify ( params . chatTitle ) }
1623+ chat_title=${ shellQuote ( params . chatTitle ) }
16241624export DISPLAY="\${DISPLAY:-:99}"
16251625win="$(wmctrl -l | awk 'tolower($0) ~ /telegram/ {print $1; exit}')"
16261626test -n "$win"
@@ -1639,7 +1639,7 @@ sleep 1
16391639` ;
16401640}
16411641
1642- function renderRemoteProbe ( params : {
1642+ export function renderRemoteProbe ( params : {
16431643 expect: string [ ] ;
16441644 outputPath ? : string ;
16451645 sutUsername: string ;
@@ -1659,12 +1659,12 @@ function renderRemoteProbe(params: {
16591659 for ( const expected of params . expect ) {
16601660 args . push ( "--expect" , expected ) ;
16611661 }
1662- const escapedArgs = args . map ( ( arg ) => JSON . stringify ( arg ) ) . join ( " " ) ;
1662+ const escapedArgs = args . map ( shellQuote ) . join ( " " ) ;
16631663 return `#!/usr/bin/env bash
16641664set -euo pipefail
16651665root=${ REMOTE_ROOT }
16661666export TELEGRAM_USER_DRIVER_STATE_DIR="$root/user-driver"
1667- export TELEGRAM_USER_DRIVER_SUT_USERNAME=${ JSON . stringify ( params . sutUsername ) }
1667+ export TELEGRAM_USER_DRIVER_SUT_USERNAME=${ shellQuote ( params . sutUsername ) }
16681668python3 "$root/user-driver.py" ${ escapedArgs }
16691669` ;
16701670}
@@ -1926,7 +1926,7 @@ async function writeRemoteSessionScripts(params: {
19261926 params . inspect ,
19271927 `cat >${ REMOTE_ROOT } /env.sh <<'EOF'
19281928export TELEGRAM_USER_DRIVER_STATE_DIR=${ REMOTE_ROOT } /user-driver
1929- export TELEGRAM_USER_DRIVER_SUT_USERNAME=${ params . sutUsername }
1929+ export TELEGRAM_USER_DRIVER_SUT_USERNAME=${ shellQuote ( params . sutUsername ) }
19301930EOF
19311931` ,
19321932 ) ;
@@ -1956,7 +1956,7 @@ async function stopRemoteRecording(root: string, inspect: CrabboxInspect, sessio
19561956 root,
19571957 inspect,
19581958 ` set - euo pipefail
1959- pid_file=${ JSON . stringify ( session . recorder . pidFile ) }
1959+ pid_file = $ { shellQuote ( session . recorder . pidFile ) }
19601960if [ - s "$pid_file" ] ; then
19611961 pid = "$(cat " $pid_file ")"
19621962 kill - INT "$pid" > / d e v / null 2 > & 1 || true
0 commit comments