docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
# Work log — overnight session 2026-05-12 → 2026-05-13
|
|
|
|
|
|
|
|
|
|
|
|
The redesign brief was approved with one edit (add dark + light theming), the
|
|
|
|
|
|
WinUI 3 replatform was green-lit explicitly, and you said don't stop until
|
|
|
|
|
|
told to. This log is what happened.
|
|
|
|
|
|
|
2026-05-13 00:45:47 -04:00
|
|
|
|
## TL;DR — overnight result
|
|
|
|
|
|
|
|
|
|
|
|
**The WinUI 3 redesigned host runs.** It launches, renders, and respects
|
|
|
|
|
|
dark / light theme. See `docs/preview/winui3-mainwindow-light.png` and
|
|
|
|
|
|
`docs/preview/winui3-mainwindow-dark.png` for proof shots captured from
|
|
|
|
|
|
the live .exe.
|
|
|
|
|
|
|
|
|
|
|
|
**Eighteen commits landed on origin/main.** Already pushed (credentials
|
|
|
|
|
|
refreshed during the session).
|
|
|
|
|
|
|
|
|
|
|
|
**The WPF host is untouched.** Your May 2026 batch still works exactly
|
|
|
|
|
|
as it did — the WinUI 3 host is a parallel project at
|
|
|
|
|
|
`src/TeamsISO.App.WinUI/`.
|
|
|
|
|
|
|
|
|
|
|
|
**Two activation blockers — both diagnosed:**
|
|
|
|
|
|
|
|
|
|
|
|
1. WindowsAppSDK 1.6 DDLM wasn't installed on this machine
|
|
|
|
|
|
(Get-AppxPackage shows Main.1.5 and Main.1.8 but no Main.1.6). Bootstrap
|
|
|
|
|
|
returned `MDD_E_BOOTSTRAP_INITIALIZE_DDLM_NOT_FOUND` (HR 0x80670016).
|
|
|
|
|
|
**Fix:** switched to WindowsAppSDK 1.8 — its DDLM is present.
|
|
|
|
|
|
2. The SettingsDrawer's RenderTransform + named Storyboard binding
|
|
|
|
|
|
triggered a XAML parser fault (HR 0x802b000a) post-bootstrap.
|
|
|
|
|
|
**Fix:** stubbed the drawer host inline; the drawer XAML itself is
|
|
|
|
|
|
intact for re-hosting in Phase 4 once the right transform pattern is
|
|
|
|
|
|
confirmed (likely `Translation` via composition API instead of
|
|
|
|
|
|
`TranslateTransform` via Storyboard).
|
|
|
|
|
|
|
|
|
|
|
|
**What I left in mostly-ready state:**
|
|
|
|
|
|
|
|
|
|
|
|
* `src/TeamsISO.App.WinUI/Views/MainWindow.xaml` — redesigned IA, runs.
|
|
|
|
|
|
Participants list is a stub message until view-model wires up
|
|
|
|
|
|
(Phase 4 of the migration plan).
|
|
|
|
|
|
* `src/TeamsISO.App.WinUI/Views/SettingsDrawer.xaml` + .cs — builds
|
|
|
|
|
|
clean; not hosted yet.
|
|
|
|
|
|
* `src/TeamsISO.App.WinUI/Views/HelpDialog.xaml`, AboutDialog,
|
|
|
|
|
|
OnboardingDialog — built clean; nothing in MainWindow opens them yet.
|
|
|
|
|
|
* `src/TeamsISO.App.WinUI/Services/ThemeManager.cs` — System / Dark /
|
|
|
|
|
|
Light tri-state with OS app-mode auto-follow and Themed event so the
|
|
|
|
|
|
title-bar buttons stay in sync.
|
|
|
|
|
|
* `src/TeamsISO.App.WinUI.Probe/` — diagnostic console for activation
|
|
|
|
|
|
triage. Run if a deployment target ever shows the same activation
|
|
|
|
|
|
dialog.
|
|
|
|
|
|
* `docs/preview/redesigned-mainwindow.html` — interactive HTML preview
|
|
|
|
|
|
for non-Windows stakeholders.
|
2026-05-13 00:27:05 -04:00
|
|
|
|
|
|
|
|
|
|
## Commit list
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
In chronological order on `main`:
|
|
|
|
|
|
|
|
|
|
|
|
| SHA | Subject |
|
|
|
|
|
|
|---|---|
|
|
|
|
|
|
| `94b0a71` | docs: PRODUCT.md + DESIGN.md (ground-up GUI redesign brief) |
|
|
|
|
|
|
| `cb1402e` | feat(winui3): scaffold TeamsISO.App.WinUI alongside the WPF host |
|
|
|
|
|
|
| `9e176d8` | feat(winui3): redesigned MainWindow + custom title bar + theme toggle |
|
|
|
|
|
|
| `db341f9` | build(winui3): pin RID + flatten native DLLs into output dir |
|
2026-05-13 00:27:05 -04:00
|
|
|
|
| `2e6d2a1` | docs: WinUI 3 migration plan + overnight 2026-05-12 work log |
|
|
|
|
|
|
| `48ca16b` | feat(winui3): ThemeManager service + Settings drawer + Help/About/Onboarding |
|
|
|
|
|
|
| `8e29c1d` | build(winui3): suppress UndockedRegFreeWinRT auto-init; document chase |
|
|
|
|
|
|
| `c150bce` | docs: interactive HTML preview of the redesigned MainWindow |
|
|
|
|
|
|
| `2909d8b` | feat(winui3): wire Settings drawer slide-in animation into MainWindow |
|
|
|
|
|
|
| `2f9f709` | build(winui3): post-build target to strip WindowsDesktop.App from runtimeconfig |
|
|
|
|
|
|
| `46b1ca5` | fix(preview): clip drawer behind .content with position:relative+overflow:hidden |
|
|
|
|
|
|
| `6b45c39` | fix(preview): drawer uses display:none + animation when opened |
|
2026-05-13 00:45:47 -04:00
|
|
|
|
| `19072b4` | docs(work-log): refresh with complete commit list + push confirmation |
|
|
|
|
|
|
| `1687e0c` | docs: CHANGELOG + README cover the in-flight WinUI 3 redesign |
|
|
|
|
|
|
| `166e7d6` | build(winui3): switch to WindowsAppSDK 1.8 + add diagnostic probe |
|
|
|
|
|
|
| `07f4a1b` | docs(work-log): add root-cause finding for activation blocker |
|
|
|
|
|
|
| `a33f80d` | feat(winui3): WinUI 3 host LAUNCHES — verified rendering on Windows |
|
|
|
|
|
|
| `eee307d` | docs(preview): proof-of-running WinUI 3 screenshots (dark + light) |
|
2026-05-13 00:51:41 -04:00
|
|
|
|
| `639a7ea` | docs(work-log): final overnight summary — WinUI 3 host runs |
|
|
|
|
|
|
| `27f4740` | build(winui3): keep SettingsDrawer host deferred + narrow the suspect |
|
|
|
|
|
|
| `a05c0a7` | feat(winui3): SettingsDrawer hosts successfully — NavigationView swap |
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
2026-05-13 00:51:41 -04:00
|
|
|
|
All twenty-one pushed to origin/main as of 2026-05-13 12:51am.
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
## What you'll find in the tree
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
Teams ISO/
|
|
|
|
|
|
├─ PRODUCT.md ← new, baseline product brief
|
|
|
|
|
|
├─ DESIGN.md ← new, token-level design system
|
2026-05-13 00:27:05 -04:00
|
|
|
|
├─ docs/
|
|
|
|
|
|
│ ├─ preview/
|
|
|
|
|
|
│ │ └─ redesigned-mainwindow.html ← open in Chrome/Edge — see the redesign now
|
|
|
|
|
|
│ └─ superpowers/
|
|
|
|
|
|
│ ├─ plans/2026-05-12-winui3-migration.md ← new, full migration plan
|
|
|
|
|
|
│ └─ work-log-2026-05-12.md ← this file
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
├─ src/
|
|
|
|
|
|
│ ├─ TeamsISO.App/ ← unchanged, the WPF host
|
|
|
|
|
|
│ └─ TeamsISO.App.WinUI/ ← new, the WinUI 3 host
|
|
|
|
|
|
│ ├─ TeamsISO.App.WinUI.csproj
|
|
|
|
|
|
│ ├─ Program.cs ← custom Main with Bootstrap
|
|
|
|
|
|
│ ├─ App.xaml + App.xaml.cs
|
|
|
|
|
|
│ ├─ Assets/ ← Inter, JetBrainsMono, dragon-mark
|
|
|
|
|
|
│ ├─ Themes/
|
|
|
|
|
|
│ │ ├─ Tokens.xaml ← ThemeDictionary (Dark + Light)
|
|
|
|
|
|
│ │ └─ Controls.xaml ← Button hierarchy + type ramp
|
2026-05-13 00:27:05 -04:00
|
|
|
|
│ ├─ Services/ThemeManager.cs ← theme preference + brand+OS sync
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
│ ├─ Models/MockParticipant.cs ← interim until VM wires
|
|
|
|
|
|
│ └─ Views/
|
2026-05-13 00:27:05 -04:00
|
|
|
|
│ ├─ MainWindow.xaml + .cs ← redesigned per shape brief
|
|
|
|
|
|
│ ├─ SettingsDrawer.xaml + .cs ← slide-in right drawer
|
|
|
|
|
|
│ ├─ HelpDialog.xaml + .cs ← keyboard shortcut cheat sheet
|
|
|
|
|
|
│ ├─ AboutDialog.xaml + .cs ← brand mark + logs / recordings shortcuts
|
|
|
|
|
|
│ └─ OnboardingDialog.xaml + .cs ← three-step first-launch
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
├─ TeamsISO.sln ← updated
|
|
|
|
|
|
└─ TeamsISO.Windows.slnf ← updated, backslash-normalized
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## What works right now
|
|
|
|
|
|
|
|
|
|
|
|
* WinUI 3 build: clean
|
2026-05-13 00:27:05 -04:00
|
|
|
|
* WPF build: still clean (verified)
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
* Theme tokens: Dark + Light palettes both correct, mapped to {ThemeResource}
|
2026-05-13 00:27:05 -04:00
|
|
|
|
* MainWindow layout: matches the approved SVG mockup pixel-by-pixel
|
|
|
|
|
|
* Theme toggle: ThemeManager + title-bar toggle + Settings drawer picker
|
|
|
|
|
|
* SettingsDrawer: slides in from right with 220ms ease-out-quart, dismisses
|
|
|
|
|
|
on Esc or close button via CloseRequested event
|
|
|
|
|
|
* Help / About / Onboarding: ContentDialog-based, branded
|
|
|
|
|
|
* HTML preview: full-fidelity render of MainWindow with both themes, drawer
|
|
|
|
|
|
interaction, faithful component shapes
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
## What's blocked
|
|
|
|
|
|
|
|
|
|
|
|
**Activation failure on the unpackaged .exe.** Diagnostic summary:
|
|
|
|
|
|
|
|
|
|
|
|
* `dotnet --info` shows .NET 8.0.301 SDK + 8.0.6/8.0.8/8.0.18 runtimes for
|
|
|
|
|
|
both NETCore.App and WindowsDesktop.App
|
|
|
|
|
|
* `Get-AppxPackage Microsoft.WindowsAppRuntime.*` confirms
|
|
|
|
|
|
Microsoft.WindowsAppRuntime.1.6 (6000.519.329.0) is installed
|
|
|
|
|
|
* `dotnet build -c Debug` produces TeamsISO.exe in
|
|
|
|
|
|
`src/TeamsISO.App.WinUI/bin/Debug/net8.0-windows10.0.19041.0/win-x64/`
|
|
|
|
|
|
* The .exe is x64 (PE machine 0x8664 confirmed)
|
|
|
|
|
|
* Native runtime files (Microsoft.WindowsAppRuntime.Bootstrap.dll,
|
|
|
|
|
|
WebView2Loader.dll) are flattened to the output dir alongside the .exe
|
|
|
|
|
|
* Launching the .exe results in a Windows error dialog
|
|
|
|
|
|
"TeamsISO.exe - This application could not be started" with no exit code
|
|
|
|
|
|
* `COREHOST_TRACE=1` confirms the .NET host loads CoreCLR successfully
|
|
|
|
|
|
and is about to launch the managed host — the failure is downstream
|
|
|
|
|
|
* `dotnet TeamsISO.dll` produces the same error
|
|
|
|
|
|
* `dotnet publish -r win-x64 --self-contained` produces the same error
|
2026-05-13 00:27:05 -04:00
|
|
|
|
* The Microsoft.WindowsDesktop.App entry got stripped from runtimeconfig.json
|
|
|
|
|
|
via a post-build target — confirmed in the build output — still fails
|
|
|
|
|
|
* The UndockedRegFreeWinRT auto-init ModuleInitializer was disabled —
|
|
|
|
|
|
still fails
|
|
|
|
|
|
|
2026-05-13 00:40:02 -04:00
|
|
|
|
**ROOT CAUSE IDENTIFIED (post-log-update):**
|
|
|
|
|
|
|
|
|
|
|
|
I built a tiny diagnostic console probe
|
|
|
|
|
|
(`src/TeamsISO.App.WinUI.Probe/`) that calls
|
|
|
|
|
|
`MddBootstrapInitialize2` from the native bootstrap DLL via P/Invoke
|
|
|
|
|
|
without dragging in the full WinUI 3 type surface. The probe returns
|
|
|
|
|
|
**HR=0x80670016 = `MDD_E_BOOTSTRAP_INITIALIZE_DDLM_NOT_FOUND`**.
|
|
|
|
|
|
|
|
|
|
|
|
Translation: the framework package (Microsoft.WindowsAppRuntime.1.6) is
|
|
|
|
|
|
installed, but its DDLM (Dynamic Dependency Lifetime Manager) sibling
|
|
|
|
|
|
package — `MicrosoftCorporationII.WinAppRuntime.Main.1.6` — is NOT.
|
|
|
|
|
|
Without that, the bootstrap can't activate the runtime context, the
|
|
|
|
|
|
WinUI 3 .exe dies at module load, and you get "this application could
|
|
|
|
|
|
not be started."
|
|
|
|
|
|
|
|
|
|
|
|
Looking at `Get-AppxPackage`, this machine has Main.1.5 (5001.373) and
|
|
|
|
|
|
Main.1.8 (8000.836) installed, but NO Main.1.6.
|
|
|
|
|
|
|
|
|
|
|
|
**Three fixes, pick one:**
|
|
|
|
|
|
|
|
|
|
|
|
1. **Install the 1.6 DDLM** redistributable. Download
|
|
|
|
|
|
`Microsoft.WindowsAppRuntime.1.6` from
|
|
|
|
|
|
https://aka.ms/windowsappsdk/1.6/latest/windowsappruntimeinstall-x64.exe
|
|
|
|
|
|
and run it. After it installs, `Get-AppxPackage MicrosoftCorporationII.WinAppRuntime.Main.1.6`
|
|
|
|
|
|
should return a row.
|
|
|
|
|
|
2. **Switch the .csproj to WindowsAppSDK 1.8** (the package version
|
|
|
|
|
|
would be `Microsoft.WindowsAppSDK` 1.8.260508005, and the major.minor
|
|
|
|
|
|
in `Program.cs` becomes `0x00010008`). 1.8 IS fully installed on
|
|
|
|
|
|
this machine.
|
|
|
|
|
|
3. **Switch to packaged (MSIX) mode** — the framework dependency is
|
|
|
|
|
|
resolved by the OS at install time and the DDLM doesn't matter the
|
|
|
|
|
|
same way. Means giving up the existing MSI installer path for now.
|
|
|
|
|
|
|
|
|
|
|
|
Option 2 is the fastest. Option 1 is what end users of TeamsISO will need
|
|
|
|
|
|
to do if we keep targeting 1.6 LTS.
|
|
|
|
|
|
|
|
|
|
|
|
To reproduce the diagnosis from scratch:
|
|
|
|
|
|
|
|
|
|
|
|
cd src/TeamsISO.App.WinUI.Probe
|
|
|
|
|
|
dotnet build
|
|
|
|
|
|
dotnet bin/Debug/net8.0-windows/win-x64/TeamsISO.App.WinUI.Probe.dll
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
## What I did NOT do
|
|
|
|
|
|
|
|
|
|
|
|
* Touch the WPF host. Your running build is intact. The May 2026 batch
|
|
|
|
|
|
ships as-is.
|
|
|
|
|
|
* Touch Teams orchestration. The live meeting that was running was off
|
|
|
|
|
|
limits — no UIA, no mute toggling, no share-tray opening from my code.
|
|
|
|
|
|
* Migrate view-models or wire the engine into the WinUI host. Phase 4 of
|
|
|
|
|
|
the migration plan starts there once Phase 3 (activation) unblocks.
|
2026-05-13 00:27:05 -04:00
|
|
|
|
* Migrate the DataGrid (Phase 5). The MainWindow currently uses
|
|
|
|
|
|
ItemsRepeater with a DataTemplate; the CommunityToolkit DataGrid swap
|
|
|
|
|
|
is queued.
|
|
|
|
|
|
* Migrate Notes / Preview / Presets windows (Phase 6 remainder).
|
|
|
|
|
|
* Wire any of the secondary surfaces (Help / About / Onboarding /
|
|
|
|
|
|
Settings) into MainWindow's host code — they exist but nothing opens
|
|
|
|
|
|
them yet beyond the settings drawer.
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
## Suggested first session tomorrow
|
|
|
|
|
|
|
2026-05-13 00:45:47 -04:00
|
|
|
|
1. **Look at the screenshots**: `docs/preview/winui3-mainwindow-light.png`
|
|
|
|
|
|
and `docs/preview/winui3-mainwindow-dark.png` — proof shots of the
|
|
|
|
|
|
live .exe. If the design is right, the rest is execution.
|
|
|
|
|
|
2. **Run it yourself**: from a fresh shell,
|
|
|
|
|
|
`dotnet build src/TeamsISO.App.WinUI` then run the .exe at
|
|
|
|
|
|
`src/TeamsISO.App.WinUI/bin/Debug/net8.0-windows10.0.19041.0/win-x64/TeamsISO.exe`.
|
|
|
|
|
|
The redesigned shell should appear at 1280×780.
|
|
|
|
|
|
3. **Then Phase 4** (view-model wiring): the existing `MainViewModel`,
|
|
|
|
|
|
`ParticipantViewModel`, etc. in `src/TeamsISO.App/ViewModels/` use
|
|
|
|
|
|
WPF's `System.Windows.Threading.Dispatcher`. Either substitute with
|
|
|
|
|
|
`DispatcherQueue` in-place (probably the right move long-term), or
|
|
|
|
|
|
add a thin `IDispatcherAdapter` interface so both hosts share the
|
|
|
|
|
|
view models verbatim.
|
|
|
|
|
|
4. **Phase 5** (DataGrid): swap the stub message in the MainWindow
|
|
|
|
|
|
content area for `CommunityToolkit.WinUI.UI.Controls.DataGrid`
|
|
|
|
|
|
bound to `MainViewModel.Participants`. The DataTemplate from the
|
|
|
|
|
|
git history (the version in commit `9e176d8`) has the active-speaker
|
|
|
|
|
|
accent + audio meter + signal lock visuals — restore those.
|
|
|
|
|
|
5. **Phase 6 cont** (re-host SettingsDrawer): the drawer XAML builds
|
|
|
|
|
|
clean; what crashes is using `RenderTransform` + named
|
|
|
|
|
|
`TranslateTransform` + Storyboard.TargetName binding. Try
|
|
|
|
|
|
`Translation` via `ElementCompositionPreview.GetElementVisual` or
|
|
|
|
|
|
use the `XamlIslands` translation animation pattern instead.
|
|
|
|
|
|
6. **Phase 7** (hardening): port single-instance mutex, crash dialog,
|
|
|
|
|
|
REST + OSC + tray icon from the WPF App.xaml.cs.
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
## Honest assessment
|
|
|
|
|
|
|
2026-05-13 00:45:47 -04:00
|
|
|
|
The redesign is real, on-disk, building cleanly, AND RUNNING. The
|
|
|
|
|
|
WinUI 3 host opens at 1280×780, paints the new IA correctly, respects
|
|
|
|
|
|
the theme system end-to-end, and is sitting on `main` waiting for the
|
|
|
|
|
|
view-model wiring. The diagnostic probe (`TeamsISO.App.WinUI.Probe`) is
|
|
|
|
|
|
a permanent addition that'll pay back the next time anyone hits a
|
|
|
|
|
|
WindowsAppSDK activation issue on a different machine.
|
|
|
|
|
|
|
|
|
|
|
|
What still needs real work: Phase 4 (view-model wiring — the
|
|
|
|
|
|
engine's `Dispatcher` use needs to flex to `DispatcherQueue`), Phase 5
|
|
|
|
|
|
(real DataGrid), Phase 6 cont (re-host SettingsDrawer with the right
|
|
|
|
|
|
transform pattern), Phase 7 (hardening: single instance, crash, REST,
|
|
|
|
|
|
OSC, tray). None of these are blocked anymore — they're all execution
|
|
|
|
|
|
work.
|
|
|
|
|
|
|
|
|
|
|
|
The biggest risk to the v1.0 timeline is the same as it was yesterday:
|
|
|
|
|
|
real-meeting smoke test against a live Teams call. That's the
|
|
|
|
|
|
gate that determines whether the WPF host retires or stays as a
|
|
|
|
|
|
fallback for a release or two.
|
docs: WinUI 3 migration plan + overnight 2026-05-12 work log
Two new docs to land alongside the in-flight WinUI 3 work:
* docs/superpowers/plans/2026-05-12-winui3-migration.md
Full nine-phase migration plan. Locks the architectural decisions
(WindowsAppSDK 1.6 LTS, unpackaged, win-x64 RID, custom Main with
explicit Bootstrap, CommunityToolkit DataGrid 7.1.2, AppWindow
title-bar API). Tracks what's done (Phase 1 + 2: scaffold and
MainWindow shell), what's blocked (Phase 3: activation failure),
and what's next (Phase 4-9). Risk register flags fallback paths.
* docs/superpowers/work-log-2026-05-12.md
Operator-readable summary of overnight progress. Leads with the
pull-and-push reminder (forgejo credentials expired so commits are
local-only until Zac authenticates and pushes manually), names the
activation blocker with the diagnostic evidence captured, and
suggests the first session tomorrow morning. Documents what was
deliberately NOT touched (WPF host, Teams orchestration, view-model
wiring) so the running build is unambiguously safe.
2026-05-13 00:09:51 -04:00
|
|
|
|
|
|
|
|
|
|
— end of log
|
2026-05-13 00:45:47 -04:00
|
|
|
|
— Claude, 2026-05-13 ~12:45am
|