1934dd31fce8bd9ab10b1517d00f99da636d6fc1 galt Mon Aug 25 12:06:12 2025 -0700 For a more user-friendly error message, tell users what to do and why for GEO download links. Fixes #36074 and #36071. diff --git src/hg/lib/customFactory.c src/hg/lib/customFactory.c index 2acb208f12c..ca3d34d79bb 100644 --- src/hg/lib/customFactory.c +++ src/hg/lib/customFactory.c @@ -4382,30 +4382,34 @@ /* wrap a customPp object around it. */ struct customPp *cpp = customPpNew(lf); lf = NULL; /* Loop through this once for each track. */ while ((line = customPpNextReal(cpp)) != NULL) { /* Parse out track line and save it in track var. * First time through make up track var from thin air * if no track line. Find out explicit type setting if any. * Also make sure settingsHash is set up. */ // NOTE: line is binary data if a file upload lf = cpp->fileStack; char *dataUrl = NULL; + + if (startsWith("https://www.ncbi.nlm.nih.gov/geo/download/", lf->fileName)) + errAbort("You are using the GEO download 'http' link, but it will not work. Please use the GEO link labelled 'ftp' for custom tracks."); + if (lf->fileName && ( startsWith("http://" , lf->fileName) || startsWith("https://", lf->fileName) || startsWith("ftp://" , lf->fileName) || udcIsResolvable(lf->fileName) )) dataUrl = cloneString(lf->fileName); if (startsWithWord("track", line)) { track = trackLineToTrack(genomeDb, line, cpp->fileStack->lineIx); } else if (trackList == NULL) /* In this case we handle simple files with a single track * and no track line. */ {