30ea90f3a0e0f816e27053eb60fb401e2d045aec
jcasper
  Wed Jan 29 16:59:58 2020 -0800
Public Sessions now orders most recent first by default.  Ordering is also
more granular (to the second instead of just to the day).  refs #21228

diff --git src/hg/hgPublicSessions/hgPublicSessions.c src/hg/hgPublicSessions/hgPublicSessions.c
index 23affb1..301d292 100644
--- src/hg/hgPublicSessions/hgPublicSessions.c
+++ src/hg/hgPublicSessions/hgPublicSessions.c
@@ -160,32 +160,32 @@
     "    var startOrder = $('#sessionTable').DataTable().order();\n"
     "    if (startOrder[0][0] == 3) {\n"
     "        if (startOrder[0][1] == \"asc\") {\n"
     "            $('#sortMethod').val(\"useAsc\");\n"
     "        } else {\n"
     "            $('#sortMethod').val(\"useDesc\");\n"
     "        }\n"
     "    } else {\n"
     "        if (startOrder[0][0] == 2) {\n"
     "            if (startOrder[0][1] == \"asc\") {\n"
     "                $('#sortMethod').val(\"dateAsc\");\n"
     "            } else {\n"
     "                $('#sortMethod').val(\"dateDesc\");\n"
     "            }\n"
     "        } else {\n"
-    "            $('#sessionTable').DataTable().order([3,'desc']).draw();\n"
-    "            $('#sortMethod').val(\"useDesc\");\n"
+    "            $('#sessionTable').DataTable().order([2,'desc']).draw();\n"
+    "            $('#sortMethod').val(\"dateDesc\");\n"
     "        }\n"
     "    }\n"
     "});\n",
     jsDataTableStateSave(hgPublicSessionsPrefix), jsDataTableStateLoad(hgPublicSessionsPrefix, cart));
 
 jsInline(
    "function changeSort() {\n"
     "    var newSort = document.getElementById('sortMethod').value;\n"
     "    var theTable = $('#sessionTable').DataTable();\n"
     "    if (newSort == \"useDesc\") {theTable.order([3,'desc']).draw(); }\n"
     "    if (newSort == \"useAsc\") {theTable.order([3,'asc']).draw(); }\n"
     "    if (newSort == \"dateDesc\") {theTable.order([2,'desc']).draw(); }\n"
     "    if (newSort == \"dateAsc\") {theTable.order([2,'asc']).draw(); }\n"
     "}\n");
 
@@ -233,31 +233,32 @@
     else
         {
         settingString = replaceChars(settingString, "\\\\", "\\__ESC__");
         settingString = replaceChars(settingString, "\\r", "\r");
         settingString = replaceChars(settingString, "\\n", "\n");
         settingString = replaceChars(settingString, "\\__ESC__", "\\");
         }
     printf ("\t\t<td><b>Description:</b> %s<br>\n", settingString);
     printf ("\t\t<b>Author:</b> %s<br>\n", thisSession->userName);
     printf ("\t\t<b>Session Name:</b> %s<br>\n", thisSession->sessionName);
     printf ("\t\t<b>Genome Assembly:</b> %s<br>\n", thisSession->db);
     printf ("\t\t<b>Creation Date:</b> %s<br>\n", thisSession->firstUse);
     printf ("\t\t<b>Views:</b> %ld\n", thisSession->useCount);
     printf ("\t\t</td>\n");
     struct tm creationDate;
-    strptime(thisSession->firstUse, "%Y-%m-%d", &creationDate);
+    ZeroVar(&creationDate);
+    strptime(thisSession->firstUse, "%Y-%m-%d %T", &creationDate);
     /* Hidden columns */
     printf ("\t\t<td>%ld</td>\n", mktime(&creationDate));
     printf ("\t\t<td>%ld</td>\n", thisSession->useCount);
     printf ("\t</tr>\n");
     thisSession = thisSession->next;
     }
 
 printf ("</tbody>\n");
 printf ("</table>\n");
 }
 
 void showGalleryTab ()
 /* Rather boring now, but a placeholder against the day that there's also a "favorites" tab */
 {
 struct galleryEntry *galList = galleryFetch();