2c2afac192
## Related issue
N/A
## Summary
- Show the installed and available Omnigent Desktop versions in the shell-owned update prompt, with session-safety copy on its own line and unclipped card chrome.
- Carry the effective desktop version through updater status events and keep the native up-to-date dialog consistent.
- Add a development-only semantic-version override that checks the production update feed, making the real update flow reproducible without changing packaged behavior.
ELI5: development can pretend the installed desktop app is older, compare it with the production feed, and pass that same version into the update card.
```text
OMNIGENT_DESKTOP_VERSION_OVERRIDE
|
v
electron-updater baseline ---> production update feed
|
v
update status + current version ---> shell overlay
```
## Test Plan
- `node --test web/electron/test/desktop_updater.test.js`
- `node --test web/electron/test/update-main.test.js`
- `pnpm --filter web exec vitest run src/components/UpdateBanner.test.tsx`
- `pnpm --filter web type-check`
- Targeted `oxlint` over the changed Electron and web sources/tests.
- `pnpm --filter web build:overlay`
- Development flow: `OMNIGENT_DESKTOP_VERSION_OVERRIDE=0.9.0 pnpm start`, then **Server → Check for Updates…** against the production feed.
## Demo
N/A — the UI is rendered in an Electron-owned transparent child window; the focused component assertions and overlay production build cover the final copy and layout contract.
## Type of change
- [ ] Bug fix
- [x] Feature
- [x] UI / frontend change
- [ ] Refactor / chore
- [ ] Docs
- [ ] Test / CI
- [ ] Breaking change
## Test coverage
- [x] Unit tests added / updated
- [ ] Integration tests added / updated
- [ ] E2E tests added / updated
- [ ] Manual verification completed
- [x] Existing tests cover this change
- [ ] Not applicable
## Coverage notes
The updater unit harness covers version propagation, development override isolation, and production-feed configuration. The UpdateBanner test covers available, downloading, and downloaded copy.
## Changelog
Desktop update prompts now show the installed and available versions with clearer copy and polished overlay spacing.
Signed-off-by: Zeyi (Rice) Fan <zeyi.f@databricks.com>
30 lines
906 B
HTML
30 lines
906 B
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Omnigent Update</title>
|
|
<style>
|
|
/* The overlay lives in a transparent, frameless shell window sized to the
|
|
card, so the page itself paints nothing — only the UpdateBanner card
|
|
(its own bg/border/shadow) is visible. */
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
background: transparent;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Keep the card and its shadow off the transparent window boundary.
|
|
Empty overlays stay at zero height so the shell remains click-through. */
|
|
#update-overlay-root:not(:empty) {
|
|
padding: 12px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="update-overlay-root"></div>
|
|
<script type="module" src="/src/update-overlay.tsx"></script>
|
|
</body>
|
|
</html>
|