refactor(dispatch): install only published releases; flatten target setup - #1973
Merged
Merged
Conversation
…etup Compiling BitFun on someone else's machine is not something a dispatch controller should be able to do. It needed a Rust toolchain, a C compiler, git, ~6 GB of scratch space, and tens of minutes on a host the user only meant to run one task on — and it existed solely to paper over targets no published binary fits. Those targets are now reported as unusable instead. The removal is end to end, so the capability cannot come back through an unused door: the `dispatch_install_cli_source_start` command, its Tauri adapter, the Server Host route, the Desktop controller-source archiver, both remote build script generators, `source_build_availability`, and the probe's cargo/git/cc/free-space detection are all gone. The probe now fills `install_error` in the two branches that previously returned nothing and leaned on the source-build card, so a target with no compatible release explains itself rather than failing later at submit. A contract test pins that no routing table or client API mentions the command. The dialog loses the source build and, with it, the install poll/cancel and console machinery — nothing in this dialog starts an install anymore; submit does. What remains is a form that was four box levels deep for one path: a modal, a section card with a filled header bar, an inner card, and a `code` pill. It is now one flat stack separated by hairlines, with a border reserved for the two things that are actually interactive (the revision input and the approval options). The automatic-setup and model-sync panels fold into the target check they belong to, so five sections become three and the whole form fits without scrolling.
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.
Why
Two things, both about the dispatch target setup dialog.
1. Remove the ability to compile BitFun on the target. It required a Rust toolchain, a C compiler, git, ~6 GB of free space, and tens of minutes on a machine the user only meant to run one task on. It existed solely to paper over targets that no published binary fits; those targets are now reported as unusable instead.
2. The form was too deeply nested. Showing one project path meant passing through four levels of boxes: modal → section card with a filled header bar → inner card →
codepill.What changed
Only the published binary install path remains
Removed end to end, so the capability cannot come back through an unused door:
dispatch_install_cli_source_startcommand, its Tauri adapter, the Server Host route, and the CLI/Desktop peer table entriesarchive_controller_source/controller_source_root)install_cli_source_start,install_cli_source_archive_start, both remote build script generators, andsource_build_availabilityDispatchSourceBuildtype, and the strings in all three localesThe probe now fills
install_errorin the two branches that previously returned nothing and leaned on the source-build card, so a target with no compatible release explains itself rather than failing later at submit. The UI gains aninstallUnavailablemessage and keeps "Use this target" disabled. A new contract test pins that no routing table or client API mentionsdispatch_install_cli_source_start.Flatten the setup form
The dialog loses the install poll/cancel and console machinery along with the source build — nothing in this dialog starts an install anymore; submit does.
What remains is one flat stack of sections separated by hairlines, with a border reserved for the two things that are actually interactive (the revision input and the approval options). The automatic-setup and model-sync panels fold into the target check they belong to, so five sections become three and the whole form fits without scrolling.
Verification
cargo check: bitfun-services-integrations / bitfun-core / bitfun-server / bitfun-cli / bitfun-desktop all pass; no new clippy warningsNote
installCliStart/installCliPoll/installCliCancelare kept indispatchApi: their backend commands still exist and belong to the binary install path, they just have no frontend caller right now (installCliStartalready had none before this change).