Skip to content

Make update notice download-ready (codex) - #2481

Merged
numnx merged 1 commit into
feature/CODUX-156-chat-status-widget-update-downloadlinkfrom
task/feature-codux-156-chat-status-widget-update-down-t02-codex-mra5f6av
Jul 7, 2026
Merged

Make update notice download-ready (codex)#2481
numnx merged 1 commit into
feature/CODUX-156-chat-status-widget-update-downloadlinkfrom
task/feature-codux-156-chat-status-widget-update-down-t02-codex-mra5f6av

Conversation

@numnx

@numnx numnx commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

🧩 Task: Make update notice download-ready

Automated task PR opened by Code UX for T02.

📋 Summary

Sprint: Sprint 156 · Chat Status widget + Update downloadlink · Task: T02

Connect the chat rich status widget to live sprint/task progress and make update notices open the correct official npm or Electron release download in the user’s browser.

📝 Full Task Prompt
## Objective
Update the Electron title-bar notice so clicking `Update available` opens the correct official download target in the user’s default browser, with a clear download icon and accessible labeling.

## Scope
- `dashboard/src/v2/components/TitleBar.tsx`
- `dashboard/src/v2/components/__tests__/TitleBar.test.tsx`
- `src/electron/main.ts`
- `src/electron/dashboard-network-policy.ts`
- `tests/backend/electron/dashboard-network-policy.test.ts`
- `docs/deployment/electron-desktop.md`
- `docs-web/user/installation.md`
- `docs-web/content/docs/user-installation.mdx`
- Consumes the `downloadTargets` contract added by T01.

## Implementation Requirements
1. Replace the title-bar update badge’s external-link icon with the appropriate lucide download icon and update the copy/accessible name so users understand it opens the release download page.
2. Choose the Electron download target when `window.codeUxDesktop` is present and choose the npm target for non-Electron dashboard sessions; fall back to the existing `releaseUrl` only if the new target is absent.
3. Keep the link `target="_blank"`/safe rel behavior so Electron routes it through `setWindowOpenHandler` and `shell.openExternal` instead of navigating inside the app.
4. Add or update tests proving the Electron environment uses the Electron target, browser mode uses the npm target, failed checks render no action, and the rendered control includes the download icon/accessibility label.
5. Add or update Electron navigation-policy coverage if needed to prove official `https` release/npm URLs are classified as external and unsafe schemes remain denied.
6. Update desktop and public installation docs to describe the clickable update notice and its browser-opening behavior.

## Constraints
- Do not make the title bar appear in browser mode if existing behavior hides it outside Electron; only ensure the target selection logic supports browser consumers safely.
- Do not use `window.open` manually in the renderer; rely on the anchor and Electron’s existing external navigation policy.
- Preserve no-drag behavior, compact title-bar height, keyboard focus visibility, and existing update-check polling cadence.
- Do not hardcode a specific current package version in the component.

## Verification
- Run `pnpm run test:dashboard -- dashboard/src/v2/components/__tests__/TitleBar.test.tsx`.
- Run `pnpm run test:backend -- tests/backend/electron/dashboard-network-policy.test.ts` if navigation-policy coverage changes.
- Run `pnpm run lint`.
- Success means the update notice is clickable, uses a download icon, selects the correct target, and Electron opens the URL externally.

✅ QA Review

⏳ QA review runs after this PR is opened. Check the task card in the dashboard for the outcome once it lands.

🤖 Model & Provider

Provider Codex CLI
Model gpt-5.5

⏱️ Timing

Started 2026-07-07 04:28:19 UTC
Finished 2026-07-07 04:34:41 UTC
Duration 6m 22s

📊 Token Usage

Metric Value
Input tokens 168,637
Cached input tokens 1,778,304
Output tokens 11,755
Total tokens 1,958,696
Invocations 1
Tool calls 47
Active time 5m 52s

Included usage estimate (subscription/local login): $2.08

🌿 Branch Info

Base: feature/CODUX-156-chat-status-widget-update-downloadlink
Head: task/feature-codux-156-chat-status-widget-update-down-t02-codex-mra5f6av


🤖 Generated by Code UX

@numnx
numnx merged commit b5a7ab3 into feature/CODUX-156-chat-status-widget-update-downloadlink Jul 7, 2026
6 checks passed
@numnx
numnx deleted the task/feature-codux-156-chat-status-widget-update-down-t02-codex-mra5f6av branch July 7, 2026 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant