Skip to content

fix: Windows update checks no longer interrupt routine commands#1434

Merged
hatayama merged 4 commits into
v3-betafrom
feature/fix-windows-update
Jun 29, 2026
Merged

fix: Windows update checks no longer interrupt routine commands#1434
hatayama merged 4 commits into
v3-betafrom
feature/fix-windows-update

Conversation

@hatayama

@hatayama hatayama commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Windows update checks no longer show PowerShell transfer progress during routine CLI commands.
  • Failed optional dispatcher update checks are throttled instead of retrying on every command.

User Impact

  • Before this change, Windows users could see Web request progress UI each time they ran commands such as get-logs when the optional updater failed.
  • After this change, routine commands stay focused on their actual output, and the optional update check waits until the next interval before retrying.

Changes

  • Record failed optional dispatcher update attempts so the daily check interval is respected.
  • Suppress PowerShell progress output when invoking the Windows installer.
  • Bump the dispatcher release version because dispatcher release inputs changed.
  • Document the dispatcher release-input version bump rule in AGENTS.md.
  • Update dispatcher and Windows updater tests for the new behavior.

Verification

  • go test ./internal/cli -run "TestEnforceDispatcherFreshness|TestUpdateCommandForWindows" -count=1
  • go test ./internal/update -count=1
  • go vet ./internal/cli ./internal/update
  • golangci-lint run --config .golangci.yml ./internal/cli ./internal/update
  • go run ./cmd/check-dispatcher-version-bump --base origin/v3-beta --head HEAD
  • go run ./cmd/check-dispatcher-minimum-version
  • scripts/check-go-cli.sh
  • git diff --check

Record failed optional dispatcher update attempts so routine commands do not retry the installer on every invocation. Suppress PowerShell progress output when invoking the Windows installer because redirected streams do not reliably hide host progress UI.
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 227b6f30-f576-49c8-b398-e7dbe8edecd4

📥 Commits

Reviewing files that changed from the base of the PR and between b99fb41 and eacaeed.

📒 Files selected for processing (6)
  • AGENTS.md
  • cli/dispatcher-contract.json
  • cli/internal/cli/dispatcher.go
  • cli/internal/cli/dispatcher_test.go
  • cli/internal/cli/update_test.go
  • cli/internal/update/command.go

📝 Walkthrough

Walkthrough

Fixes a bug where failed optional dispatcher self-updates weren't recorded, causing repeated retry attempts. Adds markDispatcherSelfUpdateChecked() in the failure path, suppresses PowerShell progress output on Windows installs, bumps dispatcherVersion to 3.0.1-beta.7, and adds documentation for dispatcher release inputs.

Changes

Dispatcher self-update fix and Windows installer improvement

Layer / File(s) Summary
Windows PowerShell progress suppression
cli/internal/update/command.go, cli/internal/cli/update_test.go
CommandForOS prepends $ProgressPreference='SilentlyContinue' to the Windows PowerShell install script; tests assert its presence in both default and requested-version install flows.
Mark failed optional self-update as checked
cli/internal/cli/dispatcher.go, cli/internal/cli/dispatcher_test.go
enforceDispatcherFreshness now calls markDispatcherSelfUpdateChecked() when an optional update attempt fails, preventing repeated retriggers. New test TestEnforceDispatcherFreshnessMarksFailedOptionalUpdateChecked verifies the update-state file is created and subsequent calls are throttled.
Dispatcher contract version bump and docs
cli/dispatcher-contract.json, AGENTS.md
dispatcherVersion incremented to 3.0.1-beta.7; AGENTS.md adds a "Dispatcher Release Inputs" section documenting where inputs are maintained and CI enforcement rules.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • hatayama/unity-cli-loop#1418: Also updates dispatcherVersion in cli/dispatcher-contract.json to a 3.0.1-beta prerelease, directly related to this version bump.
  • hatayama/unity-cli-loop#1422: Modifies enforceDispatcherFreshness in cli/internal/cli/dispatcher.go and updates the same dispatcher test file, directly overlapping with the self-update fix.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main change: Windows update checks no longer interrupt routine CLI commands.
Description check ✅ Passed The description accurately summarizes the Windows progress suppression, failed-update throttling, version bump, docs, and tests.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/fix-windows-update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

You’re at about 91% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Re-trigger cubic

hatayama added 2 commits June 30, 2026 00:37
Advance the dispatcher release version because this branch changes dispatcher release inputs. This satisfies the dispatcher version bump guard without changing the minimum dispatcher requirement for existing package installs.
Explain that dispatcher release input changes must advance cli/dispatcher-contract.json dispatcherVersion so future work does not miss the CI guard. Clarify that dispatcherContractVersion and minimumDispatcherVersion should only move when their contracts require it.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file (changes from recent commits).

You’re at about 91% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread AGENTS.md Outdated
Point contributors to the CI guard's authoritative dispatcher release input pattern list so the AGENTS guidance does not imply the example list is complete.
@hatayama hatayama merged commit 02ce6cc into v3-beta Jun 29, 2026
10 checks passed
@hatayama hatayama deleted the feature/fix-windows-update branch June 29, 2026 16:01
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