package updates and self updating #7
Loading…
Reference in a new issue
No description provided.
Delete branch "d/velopack-updates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Updates all packages and wires the new self-update support: the app checks the forge feed on startup and shows a restart chip when a new version is downloaded. bunit stays pinned at 2.7.2 over an upstream hang.
🤖 Claude AI Code Review
Summary
Bumps package versions and wires Velopack self-update, adding a restart chip to the app bar with test coverage. The plaintext HTTP feed is a known/documented risk.
Code Quality ⭐⭐⭐⭐☆
Clean implementation with good handling of the subscribe/first-render race and proper
IDisposablecleanup; well-tested via a fake service.Issues
🟡 Program.cs — the update feed uses plaintext HTTP over the LAN, which allows MITM → arbitrary code execution on update. The PR author already documented this in TODO.md as an accepted risk pending TLS/signing, so it's a conscious tradeoff rather than an oversight, but it remains a real security exposure worth surfacing at merge time.
🟢 MainLayout.razor —
OnAfterRenderAsyncwrapsUpdates.StateChanged += ...in a try/catch, but if subscription throws, the handler is never attached andDisposeunsubscribing a never-subscribed handler is harmless. Minor: the catch only logs toDebug.WriteLine, so failures are silent in release. Not blocking.The code is well-structured and tested. The HTTP feed security risk is real but explicitly acknowledged and tracked as a follow-up infra/upstream item, so it's a deliberate decision rather than a blocker.
📊 Tokens: 6920 input + 484 output | 💰 Cost: ~$0.0467
Generated by Claude Opus 4.8 via Gitea Actions