7d56cd6635651dfd4c9926d062d92ad7b65a3e80
chmalee
  Wed Jun 3 14:52:52 2026 -0700
More myVariants changes: make the share to accept a comma-sep list of usernames, allow both the read/edit flag and the usernames setting to be editable after creation. When editing usernames, add a confirmation if the field is left blank that this will make the share viewable/editable by anyone with the link, refs #33808

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 283f09fd806..635aeb1997e 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -3325,31 +3325,32 @@
 printf("<option value=\"*\">All projects</option>\n");
 struct slName *projects = myVariantsGetProjects(userName);
 struct slName *p;
 for (p = projects; p != NULL; p = p->next)
     printf("<option value=\"%s\">%s</option>\n", htmlEncode(p->name), htmlEncode(p->name));
 slFreeList(&projects);
 printf("</select></td></tr>\n");
 
 /* Permission radios */
 printf("<tr><td>Permission:</td><td>"
     "<label><input type=\"radio\" name=\"sharePerm\" value=\"0\" checked> Can view</label> "
     "<label><input type=\"radio\" name=\"sharePerm\" value=\"1\"> Can edit</label>"
     "</td></tr>\n");
 printf("<tr><td>Share with:</td>"
     "<td><input type=\"text\" id=\"shareTargetUser\""
-    " placeholder=\"Username (blank = anyone with link)\" style=\"width:250px\"></td></tr>\n");
+    " placeholder=\"Username(s), comma-separated (blank = anyone with link)\""
+    " style=\"width:250px\"></td></tr>\n");
 printf("<tr><td>Label:</td>"
     "<td><input type=\"text\" id=\"shareLabel\" placeholder=\"Optional label\""
     " style=\"width:250px\"></td></tr>\n");
 printf("</tbody></table>\n");
 printf("<button type=\"button\" id=\"shareCreateBtn\">Create share link</button>\n");
 printf("<div id=\"shareResult\" style=\"display:none; margin-top:8px; padding:8px;"
     " background:#e8f5e9; border-radius:4px\">"
     "<span>Share URL: </span>"
     "<input type=\"text\" id=\"shareUrlField\" readonly style=\"width:350px\">"
     " <button type=\"button\" id=\"shareCopyBtn\">Copy</button></div>\n");
 printf("</div>\n");
 
 printf("<hr>\n");
 printf("<div id=\"shareListSection\">\n");
 printf("<h4>Active shares</h4>\n");