Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Compact the change request target controls

41d1fee900568b1bff5c7cff3b4c52942f47fabd · Keenan Nemetz · 13d ago · parent e050e14a

Compact the change request target controls

Replace the separate base and head forms and the duplicated labels with one
row: base picker, head picker, update. The pickers preselect the current
targets, and a pinned head appears as the current commit. Collapse the help
text to one line.

Post both targets to one /target handler and write them in one metadata
commit. Either change invalidates approvals; keeping the current value is
allowed even if its branch has gone missing so the other side can still be
repaired.

server/web/static/vole.css +33

@@ -1672,6 +1672,39 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1672 1672 }
1673 1673 .meta-list dt { color: var(--fg-faint); }
1674 1674 .meta-list dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
1675
1676 /* The request target is one row: base, head, update. The selects carry the
1677 current values, so the sidebar needs no separate labels above them. */
1678 .request-target { margin: 2px 0 0; }
1679 .request-target .target-row {
1680 display: grid;
1681 grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
1682 align-items: center;
1683 gap: 6px;
1684 }
1685 .request-target select {
1686 min-width: 0;
1687 width: 100%;
1688 min-height: 28px;
1689 padding: 3px 6px;
1690 font-size: 12px;
1691 }
1692 .request-target button {
1693 display: inline-flex;
1694 align-items: center;
1695 justify-content: center;
1696 min-height: 28px;
1697 padding: 3px 7px;
1698 }
1699 .request-target p { margin: 6px 0 0; font-size: 11.5px; }
1700 .target-summary {
1701 display: flex;
1702 flex-wrap: wrap;
1703 align-items: center;
1704 gap: 5px;
1705 margin: 0;
1706 font-size: 12px;
1707 }
1675 1708 .label-row { display: inline-flex; flex-wrap: wrap; gap: 4px; }
1676 1709 .label-row .label { margin-left: 0; }
1677 1710