docs(player): attribute the phone seek bar's removal correctly
CI / check (push) Skipped
CI / e2e (push) Skipped
CI / check (pull_request) Successful in 2m26s
CI / e2e (pull_request) Canceled after 0s

The paragraph said #59 took the seek bar off the phone's transport.
It was plan 016 B2 — audio-player.ts says so in the comment above the
rule that does it, and CLAUDE.md's own #59 paragraph says #59 removed
shuffle, repeat and the queue button. Wrong provenance in the file
whose whole value is being right about which change did what.

Also stop tracking .pi/journal.md. It is a scheduled run's scratch log,
and this repo's memory is CLAUDE.md and .planning/ — a session log
arriving inside a feature PR is a new convention landing sideways.
This commit is contained in:
2026-08-21 14:38:12 +00:00
committed by logan
parent f59490b113
commit fba608fdbd
4 changed files with 9 additions and 42 deletions
+5
View File
@@ -88,3 +88,8 @@ build/android/overlay.json
# Written by @semantic-release/changelog purely to carry the release notes # Written by @semantic-release/changelog purely to carry the release notes
# into scripts/gitea-release.sh; the release page is the changelog. # into scripts/gitea-release.sh; the release page is the changelog.
.release-notes.md .release-notes.md
# Agent session log: local scratch, not repo memory (that is CLAUDE.md
# and .planning/). Written by the scheduled backlog runs.
.pi/journal.md
.pi/schedule-prompts.json
-38
View File
@@ -1,38 +0,0 @@
# Journal
Running work log: what was done, what was verified, what was left open.
Newest entry last.
## 2026-08-21 — #58, the phone's progress line
Took #58 (Phase 3, item 4 of the roadmap in #73; #56 and #59 landed
before it and #64 after, so this was the phase's remaining item ahead of
#51's verification pass). Branch `feat/58-mini-player-progress-line`.
**What.** `<player-progress-line>` in the shell, with its own `auto`
grid row between `bottom-bar` and `bottom-nav` below 600px. 2px, the
fill is `scaleX()` off `PlaybackPositionChanged` with the seek bar's
`trackChangeId`/`seq` guards and an interval that only interpolates
between reports. `aria-hidden`, `pointer-events: none`, and it renders
nothing above 600px or with no track.
**Verified.**
- `make ui-test` — 992 passed, including 8 new in
`frontend/test/components/progress-line.test.ts` (the matchMedia
branch, the report/interpolation rules, paused, a stale report, and
that it is neither announced nor touchable).
- `make e2e --project=chromium` — 223 passed, including 3 new in
`e2e/specs/phone-progress-line.spec.ts` (the two adjacencies, that it
takes no taps, that it is absent on a desktop). WebKit is CI's half;
Arch cannot run Playwright's Linux WebKit.
- Read a screenshot at the reference device's 424x439 with a real track
playing, and watched the real transform advance 0.288889 -> 0.377778
over 8 s of a 90 s track. Also checked the line goes with the bar on
`now-playing`.
- No Go changed, so `make lint`/`make test` were not run.
**Left open.** No device tier: this is a browser at 424x439, which
`CLAUDE.md` is explicit is not a phone. The line's *appearance* on
Chrome 113 is unverified; the CSS it uses (a transform and a flat
background) is nowhere near that engine's gaps.
+2 -2
View File
@@ -1910,8 +1910,8 @@ asserted as `'33x21'` rather than as a range, because the regression
was three pixels. was three pixels.
**What that bar lost is how far through the song it is, and **What that bar lost is how far through the song it is, and
`<player-progress-line>` is where it went** (#58). #59 took the seek `<player-progress-line>` is where it went** (#58). Plan 016 B2 took the
bar off the phone's transport, so the one thing a mini player is seek bar off the phone's transport, so the one thing a mini player is
expected to say without being opened had nowhere left to be said. It is expected to say without being opened had nowhere left to be said. It is
a 2px line on the border between the mini player and the tab bar: the a 2px line on the border between the mini player and the tab bar: the
**shell's** element and its own `auto` grid row between `bottom-bar` **shell's** element and its own `auto` grid row between `bottom-bar`
@@ -9,8 +9,8 @@ import { PHONE_QUERY } from '../../../utils/breakpoints';
* How far through the song we are, on the border between the mini * How far through the song we are, on the border between the mini
* player and the tab bar (#58). * player and the tab bar (#58).
* *
* The phone's bottom bar carries three controls and no seek bar — #59 * The phone's bottom bar carries three controls and no seek bar — plan
* took it out, because 4px of height is not a thumb target and the * 016 B2 took it out, because 4px of height is not a thumb target and the
* full-screen `now-playing-view` is where seeking belongs. What went * full-screen `now-playing-view` is where seeking belongs. What went
* with it is the one thing a mini player is expected to say without * with it is the one thing a mini player is expected to say without
* being opened: how far through the song it is. This is that, and * being opened: how far through the song it is. This is that, and