fix: auto-detect server RC matrix checkout

This commit is contained in:
Brad Stein 2026-05-04 01:01:08 -03:00
parent 7ab35ecdfb
commit be29e2398e
6 changed files with 34 additions and 7 deletions

6
Cargo.lock generated
View File

@ -1652,7 +1652,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
name = "lesavka_client"
version = "0.19.11"
version = "0.19.12"
dependencies = [
"anyhow",
"async-stream",
@ -1686,7 +1686,7 @@ dependencies = [
[[package]]
name = "lesavka_common"
version = "0.19.11"
version = "0.19.12"
dependencies = [
"anyhow",
"base64",
@ -1698,7 +1698,7 @@ dependencies = [
[[package]]
name = "lesavka_server"
version = "0.19.11"
version = "0.19.12"
dependencies = [
"anyhow",
"base64",

View File

@ -4,7 +4,7 @@ path = "src/main.rs"
[package]
name = "lesavka_client"
version = "0.19.11"
version = "0.19.12"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "lesavka_common"
version = "0.19.11"
version = "0.19.12"
edition = "2024"
build = "build.rs"

View File

@ -16,7 +16,7 @@ LESAVKA_SERVER_CONNECT_HOST=${LESAVKA_SERVER_CONNECT_HOST:-38.28.125.112}
LESAVKA_SERVER_ADDR=${LESAVKA_SERVER_ADDR:-auto}
LESAVKA_SERVER_SCHEME=${LESAVKA_SERVER_SCHEME:-https}
LESAVKA_TLS_DOMAIN=${LESAVKA_TLS_DOMAIN:-lesavka-server}
LESAVKA_SERVER_REPO=${LESAVKA_SERVER_REPO:-/home/brad/Development/lesavka}
LESAVKA_SERVER_REPO=${LESAVKA_SERVER_REPO:-auto}
SSH_OPTS=${SSH_OPTS:-"-o BatchMode=yes -o ConnectTimeout=30"}
LESAVKA_SERVER_RC_MODES=${LESAVKA_SERVER_RC_MODES:-640x480@20,1280x720@30,1920x1080@20,1920x1080@30}
@ -117,6 +117,28 @@ ref=$2
width=$3
height=$4
fps=$5
if [[ "${repo}" == "auto" ]]; then
for candidate in \
"${HOME}/Development/lesavka" \
/home/theia/Development/lesavka \
/home/brad/Development/lesavka \
"${HOME}/lesavka" \
/opt/lesavka \
/srv/lesavka \
/tmp/lesavka-server-rc-matrix-source
do
if [[ -d "${candidate}/.git" && -f "${candidate}/scripts/install/server.sh" ]]; then
repo="${candidate}"
break
fi
done
fi
if [[ "${repo}" == "auto" || ! -f "${repo}/scripts/install/server.sh" ]]; then
printf 'could not find a Lesavka checkout on this server host.\n' >&2
printf 'Set LESAVKA_SERVER_REPO=/path/to/lesavka, or create one of the standard checkout paths.\n' >&2
exit 65
fi
printf ' ↪ using server repo: %s\n' "${repo}"
cd "${repo}"
git fetch --all --prune
git checkout "${ref}"

View File

@ -10,7 +10,7 @@ bench = false
[package]
name = "lesavka_server"
version = "0.19.11"
version = "0.19.12"
edition = "2024"
autobins = false

View File

@ -187,9 +187,14 @@ fn upstream_sync_script_tunnels_auto_server_addr_through_ssh() {
fn server_rc_mode_matrix_validates_advertised_uvc_profiles() {
for expected in [
"LESAVKA_SERVER_RC_MODES=${LESAVKA_SERVER_RC_MODES:-640x480@20,1280x720@30,1920x1080@20,1920x1080@30}",
"LESAVKA_SERVER_REPO=${LESAVKA_SERVER_REPO:-auto}",
"LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY_US=${LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY_US:-170000}",
"LESAVKA_SERVER_RC_MODE_DELAYS_US=${LESAVKA_SERVER_RC_MODE_DELAYS_US:-640x480@20=170000,1280x720@30=170000,1920x1080@20=170000,1920x1080@30=170000}",
"LESAVKA_SERVER_RC_RECONFIGURE=${LESAVKA_SERVER_RC_RECONFIGURE:-0}",
"could not find a Lesavka checkout on this server host",
"Set LESAVKA_SERVER_REPO=/path/to/lesavka",
"/home/theia/Development/lesavka",
"using server repo:",
"LESAVKA_SERVER_RC_FRESHNESS_MAX_AGE_MS=${LESAVKA_SERVER_RC_FRESHNESS_MAX_AGE_MS:-350}",
"LESAVKA_SERVER_RC_MAX_VIDEO_HICCUPS=${LESAVKA_SERVER_RC_MAX_VIDEO_HICCUPS:-0}",
"LESAVKA_SERVER_RC_MAX_AUDIO_HICCUPS=${LESAVKA_SERVER_RC_MAX_AUDIO_HICCUPS:-0}",