No feature branches pre-1.0: all work on main
This commit is contained in:
+9
-17
@@ -1,21 +1,14 @@
|
||||
# HANDOFF — Session State
|
||||
|
||||
## Branch
|
||||
`task26-webcam-menu-gate` @ `ef710c5` — TASK 26 committed (not pushed). Working tree now carries **TASK 27, NOT yet committed** (commit on your word). Parent chain: `task25-backgrounds` @ `7dd140a` (pushed), still unmerged to main.
|
||||
**`main`** @ `708b336` — committed and pushed, working tree clean. **No feature branches pre-1.0
|
||||
(decided 2026-08-24): all work lands on `main` per work unit; every `taskNN-*` branch deleted**
|
||||
(TASK 24/25/26+27 fast-forwarded into main; stale `social-bar`/`webcam-validation` removed too).
|
||||
|
||||
## Shipped: TASK 27 — YouTube Chat layer gate + legacy label heal
|
||||
|
||||
Creator follow-up to TASK 26: "do the same thing with the YouTube chat layer" + make the Layers-row label match the (+) picklist.
|
||||
|
||||
1. **Gate:** `CanAddYouTubeChat` = `StagedScene != null && !Scenes.Any(s => s.Elements.OfType<Source>().Any(e => e.Type == SourceType.ChatBox))` — one chat layer per layout; the (+) item greys out while any scene carries one. Raised in the StagedScene setter + `OnElementsChanged`; `AddSource` refuses a second as defense in depth. XAML `IsEnabled` + tooltip "One chat layer at a time — it's already in your stream".
|
||||
2. **Label heal:** layers added by commit `65641d8` were named "Chat"; LoadLayout heals exactly that un-renamed default to "YouTube Chat" so the Layers row matches the picklist. Creator renames untouched; idempotent.
|
||||
3. **Test (Good Dog Rule — ONE):** `ChatLayerGateTests.LegacyChatName_Heals_And_CanAddYouTubeChat_Gates_On_The_Existing_Layer` — real window + temp DB with a legacy "Chat" ChatBox row in Starting: healed on load, persisted on save, greyed cross-scene + in-scene, re-enabled after `RemoveSourceCommand`.
|
||||
4. **Suite: 225 total, 224 pass** — only failure is the known pre-existing `AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`. Build 0 warnings.
|
||||
5. **Docs same commit:** ai.md (chat rule + heal next to the webcam gate), TASKS.md TASK 3 row 28, this file.
|
||||
|
||||
## Shipped: TASK 26 — webcam (+) menu gates on the app-wide identity
|
||||
|
||||
`CanAddWebcamToStagedScene` → **`CanAddWebcam`** = `StagedScene != null && _webcam == null` (`MainViewModel.cs:308`), raised at StagedScene setter / `ReacquireWebcam` / `OnElementsChanged` / `_webcam` create / last-config removal; XAML binding renamed, tooltip verbatim. ONE integration test `WebcamMenuGateTests.CanAddWebcam_Gates_On_The_AppWide_Webcam_Identity`. Committed `ef710c5` with ai.md/TASKS row 27/HANDOFF docs.
|
||||
## Shipped (this session, now all on main)
|
||||
- TASK 26 — webcam (+) menu gates on the app-wide identity (`CanAddWebcam` = staged != null && `_webcam == null`; XAML binding + tooltip; test `WebcamMenuGateTests`).
|
||||
- TASK 27 — YouTube Chat layer one-per-layout gate (`CanAddYouTubeChat`, AddSource refuses a second) + legacy label heal ("Chat" → "YouTube Chat" on LoadLayout; creator renames untouched; test `ChatLayerGateTests`). Creator's ask: "do the same thing with the YouTube chat layer" + make the Layers row match the (+) picklist.
|
||||
- Suite: 225 total, 224 pass — only failure is the known pre-existing `AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`. Build 0 warnings. Docs (ai.md/TASKS rows 27-28/HANDOFF) shipped in the same commits.
|
||||
|
||||
## ⚠️ Landmines
|
||||
|
||||
@@ -28,9 +21,8 @@ Creator follow-up to TASK 26: "do the same thing with the YouTube chat layer" +
|
||||
- **Dead code flagged, not touched:** `ShowWebcamCommand` / `CanShowWebcamInStagedScene` are wired in the VM but bound nowhere — audit item, separate branch if wanted.
|
||||
|
||||
## Next steps
|
||||
1. Commit TASK 27 (code + docs, one commit), push both branches.
|
||||
2. Creator visual pass on Windows: add YouTube Chat to any scene → (+) item greys everywhere; legacy "Chat"-named row (if present) shows as "YouTube Chat"; remove → re-enables.
|
||||
3. Merge `task25-backgrounds` + `task26-webcam-menu-gate` + this branch to main per Good Dog Rule (one integration test each ✓); relaunch app once so the real `%APPDATA%` DB self-heals (backgrounds + chat label).
|
||||
1. Creator visual pass on Windows: add YouTube Chat to any scene → (+) item greys everywhere; legacy "Chat"-named row (if present) shows as "YouTube Chat"; remove → re-enables. Same for the webcam row.
|
||||
2. Relaunch app once so the real `%APPDATA%` DB self-heals (backgrounds + chat label).
|
||||
|
||||
## Build
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user