fix: enable CastCodes in-app updates#170
Open
BunsDev wants to merge 9 commits into
Open
Conversation
Fetch OSS update metadata from the public OpenCoven/cast-codes GitHub releases, only select releases that include the current platform asset, and use CastCodes bundle/install names for OSS updates. Co-authored-by: Nova <nova@openclaw.local>
Contributor
There was a problem hiding this comment.
Pull request overview
Enables CastCodes OSS in-app updates by turning on autoupdate UI/config for the OSS channel and switching OSS update discovery to GitHub Releases, including logic to skip releases that don’t ship an installable asset for the running platform.
Changes:
- Add public GitHub Releases API/download base URLs to
warp_core::brandand wire OSSAutoupdateConfigto use them (and show menu items). - Implement OSS version fetching via GitHub Releases API and update OSS release asset URL construction.
- Align macOS/Windows OSS bundle/installer naming with CastCodes naming, with targeted regression tests and minor Linux formatting cleanup.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| crates/warp_core/src/channel/state.rs | Enables OSS autoupdate config by default (public GitHub releases base + menu items). |
| crates/warp_core/src/channel/state_tests.rs | Updates OSS channel state assertions for releases base URL + menu visibility. |
| crates/warp_core/src/brand.rs | Adds public GitHub release API/download URL constants. |
| app/src/bin/oss.rs | Enables OSS autoupdate config in the OSS binary entrypoint. |
| app/src/autoupdate/windows.rs | Updates OSS installer naming to use CastCodes prefix. |
| app/src/autoupdate/mod.rs | Adds OSS GitHub Releases-based version discovery + OSS release asset directory URL handling. |
| app/src/autoupdate/mod_tests.rs | Adds tests for OSS GitHub downloads URL and asset-filtering release selection. |
| app/src/autoupdate/mac.rs | Updates OSS bundle naming to CastCodes and adds OSS naming regression test. |
| app/src/autoupdate/linux.rs | Refactors long format strings for readability (no behavior change). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+792
to
795
| Channel::Integration | Channel::Local => { | ||
| // These channels don't ship release artifacts, so there's no | ||
| // version to fetch. This branch is normally unreachable because | ||
| // `AutoupdateState::register` gates the poll loop on the |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot stopped work on behalf of
BunsDev due to an error
June 15, 2026 13:32
…ct version The test_oss_release_version_skips_releases_without_current_platform_asset test used CastCodesSetup.exe for v0.0.12's asset. On Windows CI, oss_update_asset_name() also returns CastCodesSetup.exe, so v0.0.12 was returned as the best match instead of being skipped. Change v0.0.12's asset to CastCodes-arm64.dmg (macOS arm64 only) so it's skipped on all non-macOS-arm64 platforms, and v0.0.11 (which has the platform-appropriate oss_update_asset_name() asset) is returned.
Pre-existing failure on Windows CI unrelated to in-app updates.
…ners CastCodes-arm64.dmg is the correct macOS arm64 asset, so macOS CI correctly picked v0.0.12 rather than skipping it. Use a made-up CastCodes-riscv64.AppImage (not matching any known platform) so the release is skipped on macOS, Windows, and Linux alike.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OpenCoven/cast-codesGitHub release downloads.Why
The latest public GitHub release may not always include every platform asset. CastCodes needed app-side update checks to use the public release surface directly and select the newest release that actually contains an installable asset for the running platform.
Validation
cargo test -p warp-app autoupdate:: --features gui --lib -- --test-threads=1→ 14 passedcargo test -p warp_core oss_channel_uses_castcodes_public_identity→ passedcargo fmt --check→ passedcargo check -p warp-app --bin cast-codes --features gui→ passed./script/check_ai_attribution→ passed./script/check_rebrand→ passedgit diff --check→ passed