Drop the browser build; space works the transport; fix bulk track rename

The browser page is gone, with its shim, its shell CSS and its suite. build.py
has no --tauri flag and one output: the app's page. The patch lists lose the
SHARED_ prefix, which only ever meant "shared between the two builds", and
test-pdf.js was quietly loading the browser page — it reads the app's now.

Space plays and pauses, in the main window off the player at the bottom and in
the mixer off the same transport. It is swallowed rather than passed on: that
stops the window scrolling, and stops a focused button taking the same press as
a second activation, which toggles twice and looks like a dead key. Typing, and
any dialog other than the mixer, keep it. Deciding what is in front needs both
markers — closing does not always remove .open, and .modal without it is
display:none regardless of the hidden attribute.

The mixer footer put the next file's name adrift in the middle of the row. The
margin-left: auto meant to park it beside Close could do nothing, because the
framework's flex: 1 1 auto had both nav groups growing to fill the row and left
no free space to absorb. Pinned to flex: 0 0 auto. The file-detail modal shares
the markup and follows.

Bulk track rename wrote nothing, on every file, and had never worked. A rename
is keyed on the name it replaces rather than a path, so the frame-rate pass
threw reading edit.path off it — before any byte was written, so nothing was
corrupted, only untouched. The failure handler discarded the reason and the run
still ended on a tidy Done, which is why 0 saved read as progress; it now names
the file and the cause in the log.

429 checks. The gap that hid the rename bug was end-to-end: the writer was unit
tested and the panel rendered, and nothing drove one into the other.
This commit is contained in:
2026-08-18 00:14:36 +08:00
parent 2d0b7fe8b5
commit 16c3e6e103
13 changed files with 409 additions and 860 deletions
+8
View File
@@ -1321,6 +1321,14 @@ html:has(.bwfa-scope[data-bwfa-theme="dark"]) {
align-items: center;
gap: 8px;
min-width: 0;
/* Each group is only as wide as what it holds. The framework gives
.bwfa-modal-nav flex: 1 1 auto for the header it was written for, and
in the footer that made both groups grow to fill the row: the forward
arrow ended up stranded in the middle of the footer with its name, a
long way from the buttons it belongs beside, and the margin-left: auto
below could do nothing about it because there was no free space left
for it to absorb. */
flex: 0 0 auto;
}
/* Back sits hard left; forward sits against the buttons it precedes, with