From f2e54639cc0c2dbb4178a9d661279352d9b8eb38 Mon Sep 17 00:00:00 2001 From: Liz Baldo Date: Fri, 8 May 2026 14:04:05 -0400 Subject: [PATCH] Fix RStudio image detection when JUPYTER_HOME is also present --- .../dsde/workbench/leonardo/dao/HttpDockerDAO.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/http/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/dao/HttpDockerDAO.scala b/http/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/dao/HttpDockerDAO.scala index 0ba9e36c91..f2e181c552 100644 --- a/http/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/dao/HttpDockerDAO.scala +++ b/http/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/dao/HttpDockerDAO.scala @@ -185,7 +185,9 @@ object HttpDockerDAO { val dockerHubAuthUri = Uri.unsafeFromString("https://auth.docker.io") val ghcrAuthUri = Uri.unsafeFromString("https://ghcr.io") val dockerHubRegistryUri = Uri.unsafeFromString("https://registry-1.docker.io") - val clusterToolEnv = Map(Jupyter -> "JUPYTER_HOME", RStudio -> "RSTUDIO_HOME") + // RStudio must be checked before Jupyter: an image may inherit JUPYTER_HOME from a Jupyter + // base image while also defining RSTUDIO_HOME, and the more specific signal should win. + val clusterToolEnv = List(RStudio -> "RSTUDIO_HOME", Jupyter -> "JUPYTER_HOME") def apply[F[_]: Concurrent](httpClient: Client[F])(implicit logger: Logger[F]): HttpDockerDAO[F] = new HttpDockerDAO[F](httpClient)