3b525549f303d82e7ed569d733fdd7bc2ab712ee
lrnassar
  Fri Oct 25 13:50:35 2024 -0700
Updating the message for maximum track load time, as well as changing the configure variable name and adding a descriptive mouseover. Refs #34638

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index cdf90c5..c479cc2 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -7986,31 +7986,31 @@
 pthread_mutex_lock( &pfdMutex );
 pfdNeverStarted = pfdList;
 pfdList = NULL;  // stop the workers from starting any more waiting track loads
 for (pfd = pfdNeverStarted; pfd; pfd = pfd->next)
     {
     // track was never even started
     char temp[256];
     safef(temp, sizeof temp, "Ran out of time (%d milliseconds) unable to process  %s", maxTimeInMilliseconds, pfd->track->track);
     pfd->track->networkErrMsg = cloneString(temp);
     ++errCount;
     }
 for (pfd = pfdRunning; pfd; pfd = pfd->next)
     {
     // unfinished track
     char temp[256];
-    safef(temp, sizeof temp, "Timeout %d milliseconds exceeded processing %s", maxTimeInMilliseconds, pfd->track->track);
+    safef(temp, sizeof temp, "Track timed out. Track %s took more than %d milliseconds to load. Zoom in or increase this timeout via menu 'Genome Browser > Configure'", pfd->track->track, maxTimeInMilliseconds);
     pfd->track->networkErrMsg = cloneString(temp);
     ++errCount;
     }
 for (pfd = pfdDone; pfd; pfd = pfd->next)
     {
     // some done tracks may have errors
     if (pfd->track->networkErrMsg)
         ++errCount;
     }
 pthread_mutex_unlock( &pfdMutex );
 return errCount;
 }
 
 static int avgLoadTime(struct track *track)
 /* calculate average loadtime across all windows */