b0db90c8f3e14751e17423f7e48ce6700468d61a
angie
  Fri Sep 15 08:30:30 2023 -0700
Fix typo in Nextstrain subtree link from result tables. HT @FedeGueli

diff --git src/hg/hgPhyloPlace/phyloPlace.c src/hg/hgPhyloPlace/phyloPlace.c
index 50d20b3..a1ffa17 100644
--- src/hg/hgPhyloPlace/phyloPlace.c
+++ src/hg/hgPhyloPlace/phyloPlace.c
@@ -1312,31 +1312,31 @@
 return dyStringCannibalize(&dy);
 }
 
 static char *skipProtocol(char *url)
 /* Skip the protocol:// part at the beginning of url if found.  Do not free result. */
 {
 char *protocol = strstr(url, "://");
 return protocol ? protocol + strlen("://") : url;
 }
 
 static char *nextstrainUrlFromTn(struct tempName *jsonTn)
 /* Return a link to Nextstrain to view an annotated subtree. */
 {
 char *jsonUrlForNextstrain = urlFromTn(jsonTn);
 char *urlBase = nextstrainUrlBase();
-struct dyString *dy = dyStringCreate("%s/%s?f_userOrOld=uploaded%%20sample",
+struct dyString *dy = dyStringCreate("%s%s?f_userOrOld=uploaded%%20sample",
                                      urlBase, skipProtocol(jsonUrlForNextstrain));
 freeMem(jsonUrlForNextstrain);
 freeMem(urlBase);
 return dyStringCannibalize(&dy);
 }
 
 static void makeNextstrainButton(char *id, struct tempName *tn, char *label, char *mouseover)
 /* Make a button to view an auspice JSON file in Nextstrain. */
 {
 char *nextstrainUrl = nextstrainUrlFromTn(tn);
 struct dyString *js = dyStringCreate("window.open('%s');", nextstrainUrl);
 cgiMakeOnClickButtonWithMsg(id, js->string, label, mouseover);
 dyStringFree(&js);
 freeMem(nextstrainUrl);
 }