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/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

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

Tail run logs in the browser and make steps accordions

34d6fd7a9210fca265ea4aea1d5733b3eeeb2569 · Keenan Nemetz · 10d ago · parent 5ece70a5

Tail run logs in the browser and make steps accordions

The log endpoint now serves from a byte offset and marks an attempt's log final,
so the run page can poll only while the job runs. The job output accordion follows
the stream; each step is its own accordion with its slice or a clear empty state.
The steps table is gone; the logs card is the whole viewer.

server/web/static/vole.css +41−1

@@ -1449,6 +1449,47 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1449 1449 color: var(--fg);
1450 1450 border-bottom: 1px solid var(--border);
1451 1451 }
1452 .run-log-card {
1453 padding: 0;
1454 overflow: hidden;
1455 }
1456 .run-log-card > .run-log {
1457 margin: 0;
1458 border: 0;
1459 border-bottom: 1px solid var(--border);
1460 border-radius: 0;
1461 }
1462 .run-log-card > .run-log:last-child { border-bottom: 0; }
1463 .run-log-title { flex: 1; color: var(--fg); font-weight: 500; }
1464 .run-log-meta {
1465 margin-left: auto;
1466 color: var(--fg-faint);
1467 font-size: calc(12.1px * var(--font-scale));
1468 font-variant-numeric: tabular-nums;
1469 }
1470 .run-step-num {
1471 color: var(--fg-faint);
1472 font-variant-numeric: tabular-nums;
1473 min-width: 2.5ch;
1474 }
1475 .run-step-name {
1476 flex: 1;
1477 color: var(--fg);
1478 overflow-wrap: anywhere;
1479 }
1480 .run-step-meta {
1481 margin-left: 8px;
1482 color: var(--fg-faint);
1483 font-size: calc(12.1px * var(--font-scale));
1484 font-variant-numeric: tabular-nums;
1485 white-space: nowrap;
1486 }
1487 .run-log-empty {
1488 margin: 0;
1489 padding: 10px 12px;
1490 color: var(--fg-muted);
1491 font-size: calc(13.2px * var(--font-scale));
1492 }
1452 1493 .run-log-text {
1453 1494 margin: 0;
1454 1495 padding: 10px 12px;
@@ -1463,7 +1504,6 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1463 1504 overflow: auto;
1464 1505 white-space: pre;
1465 1506 }
1466 .run-step-log td { padding: 0 8px 8px; }
1467 1507 .run-logbar {
1468 1508 display: flex;
1469 1509 flex-wrap: wrap;