App shell: Avalonia project, local-control client, live daemon attach - #446
Conversation
…tiveUI Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e app-shell spec Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…reconnect in the app-shell spec Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eams and status mapping Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eactiveUI.Avalonia 11.4.13) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…scope the Primitives cutoff to 12.1 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…llection race Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Same-line opening braces (K&R), not Allman — consistent with the rest of the codebase. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ight restart Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nt to the UI thread Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 456a4737de
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| _service = service; | ||
| desktop.MainWindow = BuildAndShowMainWindow(service, _shutdown.Token); | ||
| } catch (Exception ex) { | ||
| Console.Error.WriteLine($"kcap app failed to start: {ex}"); |
There was a problem hiding this comment.
Surface startup failures through a visible channel
When profile loading or window construction throws—for example because config.json is unreadable—this is the only diagnostic before the application shuts down. Because the project uses OutputType=WinExe, a normal GUI launch has no visible console (as the preceding comment itself notes), so the user merely sees the app disappear with no actionable error. Show an error dialog/window or write to a durable platform log before shutting down.
Useful? React with 👍 / 👎.
…ately Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
First desktop-app PR (umbrella slice 2): a new
src/Capacitor.AppAvalonia/ReactiveUI app whose bare window attaches to a running daemon over the local control socket and renders live state (daemon identity, server URL, connection health, agent count), a self-healingLocalControlClientin Core (hello gate → StatusSubscribe → validated snapshot stream, reconnect with backoff, pinned state machine), aDaemonClientServiceRx adapter (atomic attach status, DynamicData keyed cache, single-flight restart, start-daemon-via-CLI), and a TUnit + Avalonia.Headless test setup running in CI on both legs. Spec (reviewer-signed, 7 rounds) and plan ride this PR:docs/superpowers/specs/2026-08-04-ai1650-app-shell-design.md,docs/superpowers/plans/2026-08-04-ai1650-app-shell.md, plus the umbrella §6 amendment (CommunityToolkit.Mvvm → ReactiveUI + DynamicData).Stack notes: Avalonia 12.1.1 family +
ReactiveUI.Avalonia12.0.3 — deliberately the System.Reactive-flavored integration (≥ 12.1 switches to ReactiveUI 24's Primitives distribution, incompatible with theIObservable/DynamicData design); DynamicData 9.4.33. Core stays BCL-only (the client adds no packages and no AOT warnings).No README change: nothing is distributed yet (run-from-source only) and no CLI surface moves.
Pre-existing on main, not from this branch: two IL2026/IL3050 warnings at
src/Capacitor.Cli/Commands/McpWorkItemsServer.cs:357(theJsonArray.Add<T>gotcha, from #441).AI-1650
🤖 Generated with Claude Code