feat(cli): check for newer GitHub release on every user-facing command#637
Conversation
Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/bfe61ddc-7976-4f32-a4db-25e14d765fb8 Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/bfe61ddc-7976-4f32-a4db-25e14d765fb8 Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
|
/rust-review |
|
/rust-review |
|
✅ Rust PR Reviewer completed successfully! |
🔍 Rust PR ReviewSummary: One latency bug needs fixing before merge; two smaller concerns worth addressing. Findings🐛 Bugs / Logic Issues
🔒 Security Concerns
|
|
@copilot implement feedback and suggestions |
Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/68be7740-0be2-4ed3-9783-33cb9c8a85b5 Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
All three findings addressed in b6cbea1:
|
Summary
Adds a non-blocking update check to
ado-aw. On every user-facing command invocation the CLI spawns a concurrent background check against the GitHub Releases API (https://api.github.com/repos/githubnext/ado-aw/releases/latest) and prints a brief advisory to stderr when a newer version is available:Changes
src/update_check.rs(new file) —check_for_update()async function that:vprefix from the tag name and compares semver triplesmaj.min.patstring (never the raw API response) to guard against terminal injectiondebuglevel) — a network hiccup never interrupts the usersrc/main.rs— registers the new module and spawnscheck_for_update()concurrently viatokio::spawnbefore command dispatch; the handle is awaited just beforemainreturns so the advisory (if any) always prints after the command finishes. The check is skipped for:execute,mcp,mcp-http) — run inside network-isolated sandboxesCIenv var set) — avoids unnecessary outbound calls on every CI runTest plan
v-prefix stripping