Account zone is world-independent: avatar stays in Record world
Creator on the live build: 'why do you make the youtube user icon go away?'
The TASK 42 one-surface bar had scoped the account zone to Stream only
('Record world has no YouTube identity at all'), so arming REC dropped the
avatar and the bar height bounced with it ('really fucking annoying').
Fix: ShowSignInButton / ShowAvatarButton are now plain !IsConnected /
IsConnected — app-level identity, present in both worlds, so the right
column never pops in/out and the bar height stays pinned. Test remains a
child of Stream (still stream-armed AND signed-in).
TopBarModeTests updated to the new contract: signed-out Record world shows
Sign In; flipping back to REC keeps the avatar. PillRadioTests untouched
(it only exercises the ON-AIR face). Docs corrected in-place (ai.md state
model, TASK 42 scope). Gate: clean build 0-warnings, 316/316, scope passed.
This commit is contained in:
+21
-20
@@ -7,19 +7,26 @@
|
||||
Pushed state at `197ee81` (36 commits ahead locally — push only at a sub-milestone / on the
|
||||
user's say-so).
|
||||
|
||||
**Working tree DIRTY — two finished hotfix work units from the live build #77 session:**
|
||||
**Working tree DIRTY — account zone made world-independent (creator 2026-09-23):**
|
||||
|
||||
```
|
||||
M Controls/PreviewPane.xaml (audio-sync status dot removed + YPP standing row)
|
||||
M Themes/Controls.xaml (IntToSyncBrush converter resource removed)
|
||||
D Helpers/IntToSyncBrushConverter.cs (converter dead — deleted)
|
||||
M Services/ChannelStatsService.cs (YPP auditDetails part dropped; 403 body logged)
|
||||
M Services/YppTrackerViewModel.cs (standing flags removed; honest deep-link text)
|
||||
M ytLive.Tests/YppPullOutTests.cs (fixture loses the standing flags)
|
||||
?? ytLive.Tests/ChannelStatsServiceTests.cs (NEW Good Dog: no auditDetails in URL + parses)
|
||||
M ai.md, TASKS/task-22, TASKS/task-39, TASKS.md, MyMistakes.md, HANDOFF.md
|
||||
M ViewModels/MainViewModel.Streaming.cs (ShowSignInButton = !IsConnected, ShowAvatarButton = IsConnected)
|
||||
M ytLive.Tests/TopBarModeTests.cs (REC-world asserts: avatar stays, Sign In visible signed-out)
|
||||
M ai.md, TASKS/task-42, HANDOFF.md
|
||||
```
|
||||
|
||||
Previous two hotfix units (audio-sync dot + YPP 403/statistics-string) are COMMITTED (`cb75066`);
|
||||
top-bar feedback COMMITTED (`d72949e`).
|
||||
|
||||
## ⚠️ The account-zone unit (this turn)
|
||||
|
||||
Creator, clicking RECORD on the live build: "why do you make the youtube user icon go away?" — the
|
||||
TASK 42 one-surface bar had scoped the account zone to the Stream world ("Record world has no YouTube
|
||||
identity at all"), so arming REC dropped the avatar AND the bar height bounced with it ("really fucking
|
||||
annoying"). Fix: `ShowSignInButton`/`ShowAvatarButton` are now world-independent (`!IsConnected` /
|
||||
`IsConnected`) — the right column never pops in/out, bar height pinned. Test stays a child of Stream.
|
||||
`TopBarModeTests` updated: signed-out Record world shows Sign In; flipping back to REC keeps the avatar.
|
||||
|
||||
## ⚠️ The app is RUNNING, and that's the story of this round
|
||||
|
||||
Ac6e67a **could not be verified through the normal gate** because the user was *looking at the
|
||||
@@ -83,17 +90,11 @@ the copy stage with XAML/markup compiling clean (only the 2 copy errors → code
|
||||
|
||||
## Next step
|
||||
|
||||
1. **Close the running app (PID 17752 holds the exe), then run the full gate** —
|
||||
`./scripts/verify.sh` with the full declared scope (audio-dot unit + YPP fix): clean build
|
||||
0-warnings + full suite + scope check. Then commit BOTH units — they share PreviewPane.xaml /
|
||||
ai.md, so a single hotfix commit ("build-77 polish + YPP refresh 403") is the honest shape, or
|
||||
two commits if the user prefers strict splits.
|
||||
|
||||
⚠️ The YPP Good Dog (`ChannelStatsServiceTests`) and the updated `YppPullOutTests` cannot even
|
||||
BUILD until the app closes (the app csproj copy fails on the locked exe) — they were written but
|
||||
not yet executed.
|
||||
|
||||
2. After the gate: push decisions pending (user's call). TASK 40 Unit A next.
|
||||
1. **Run the gate on the account-zone unit** (declared scope: `ViewModels/MainViewModel.Streaming.cs`,
|
||||
`ytLive.Tests/TopBarModeTests.cs`, `ai.md`, `TASKS/task-42-top-bar-redesign.md`, `HANDOFF.md`) —
|
||||
`./scripts/verify.sh`: clean build 0-warnings + full suite + scope check. Then commit it
|
||||
("account zone is world-independent — avatar stays in Record world", code + docs in one).
|
||||
Repo is 36 commits ahead of pushed `197ee81`; push decision is the creator's (sub-milestone).
|
||||
|
||||
## Critical working rules (unchanged, still binding)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user