Repository navigation
feat: CANCEL stops a download on the GET MODS screen - #1133
Merged
Merged
Conversation
A download that had started ran to its end: only closing the front end stopped it. While the chosen mod downloads, the INSTALL button now reads CANCEL and stops the download, which deletes its part file. The screen keeps polling the download until its thread has stopped, so that an install of the same mod started right after can't run into the part file being deleted. The panel says CANCELING meanwhile, then shows the mod as before, with no failure message. Closes OpenReliant#1040
zabka14
force-pushed
the
feat/cancel-download
branch
from
October 12, 2026 23:57
bb83351 to
a535f1a
Compare
Collaborator
|
Thanks! |
vdmkenny
pushed a commit
that referenced
this pull request
Oct 13, 2026
The mods screen now says which of its mods the catalogue offers in a newer version: the mod is gold in the list, and its panel says UPDATE AVAILABLE IN GET MODS with the version. The same rule as UPDATE on GET MODS decides it (`offeredFor`, shared by both screens): not for a folder copied in by hand, nor for a mod that needs a newer OpenReliant. GET MODS, opened from the mods screen, chooses the mod the mods screen had chosen, unfolding its group. The mods screen reads nothing itself. It has the GET MODS screen read the repositories in the background as it opens, once per run (`readInBackground`, `continueReading`), so there is one reader and one catalogue, kept until RELOAD. A reading GET MODS leaves behind goes on from the mods screen too. **The switch.** This makes the mods screen connect to the web, which only GET MODS did until now. I put it under the existing CHECK FOR UPDATES setting (`UpdateCheck`, `--no-update-check`), so one switch covers everything OpenReliant checks for on its own: the release check and the mods' updates. Unticked, the mods screen reads nothing, but still shows what GET MODS has read. The docs say that the repository's server sees the player's address then, as GitHub does for the release check. Does sharing the switch suit you? The alternatives are a setting of its own for the mods, or no setting at all, reading whenever the settings file names a repository. I'm happy to change it to either. This branch is from `main` and doesn't include #1133 (CANCEL on GET MODS); both touch `mod_catalogue.zig`, so I'll rebase whichever goes second. Closes #1041
vdmkenny
pushed a commit
that referenced
this pull request
Oct 13, 2026
🤖 I have created a release *beep* *boop* --- ## [0.13.0](v0.12.0...v0.13.0) (2026-10-13) ### Features * CANCEL stops a download on the GET MODS screen ([#1133](#1133)) ([0f7ef45](0f7ef45)), closes [#1040](#1040) * definitions of mission source for luau-lsp ([#1143](#1143)) ([3232a4b](3232a4b)), closes [#1142](#1142) * Luau's own parser reads mission source ([#1134](#1134)) ([466f5cd](466f5cd)), closes [#1132](#1132) * mission scripts read as statements and lower back to the same bytes ([#1128](#1128)) ([3e0b0e8](3e0b0e8)), closes [#1127](#1127) * OpenReliant has an icon ([#1161](#1161)) ([cb84620](cb84620)), closes [#670](#670) * releases list checksums and attest their builds ([#1158](#1158)) ([a861aaa](a861aaa)), closes [#1157](#1157) * scripts can have a missile home, as the AI's Screamers do ([#1154](#1154)) ([f8eec1e](f8eec1e)), closes [#1119](#1119) * sltool dte build compiles mission source into a mission file ([#1137](#1137)) ([6830dd2](6830dd2)), closes [#1136](#1136) * sltool dte decompile writes a mission as Luau source ([#1131](#1131)) ([38e85b5](38e85b5)), closes [#1130](#1130) * the mods screen says which installed mods have an update ([#1135](#1135)) ([a5542d6](a5542d6)), closes [#1041](#1041) * the music example replaces the main menu's piece and keeps its loop point ([#1129](#1129)) ([98a5f9a](98a5f9a)) * the reference of mission source, generated from the game's tables ([#1147](#1147)) ([e061179](e061179)), closes [#1146](#1146) * the Windows executables carry version information and a manifest ([#1156](#1156)) ([022abc2](022abc2)), closes [#1138](#1138) ### Fixes * GET MODS gives up on stalled servers, never holds up quitting, and keeps remote links off the player's machine ([#1124](#1124)) ([0d05d1e](0d05d1e)), closes [#1114](#1114) [#1069](#1069) [#1070](#1070) * the scripting API's definitions load in current luau-lsp ([#1141](#1141)) ([87fa067](87fa067)), closes [#1140](#1140) * the scripting definitions load in luau-lsp's new type solver ([#1152](#1152)) ([b049449](b049449)), closes [#1139](#1139) ### Documentation * a guide to writing missions, for beginners ([#1149](#1149)) ([04289ef](04289ef)), closes [#1148](#1148) * the mission guide shows how to change one of the game's missions ([#1151](#1151)) ([fb7d9e7](fb7d9e7)), closes [#1150](#1150) * why a trigger's code and fields aren't typed by its condition ([#1153](#1153)) ([3a08501](3a08501)), closes [#1144](#1144) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.
While the chosen mod downloads, the INSTALL button reads CANCEL. It stops the download, which deletes its part file, and the panel says CANCELING until the download's thread has stopped. Then the panel shows the mod as it was before, with no failure message, and INSTALL or UPDATE are available again. The button is dimmed while another mod is chosen, and leaving the screen still lets a download go on.
web.Download.cancelasks the thread to stop and keeps the download until it has answerederror.Canceled, unlikeabandon, so the screen knows when the part file is gone and an install of the same mod started right after can't run into its deletion.Install.canceland the statecancelledbuild on it. The test server can hold a transfer after its first byte, which the new tests ofweb.zig,catalogue.zigandmod_catalogue.ziguse.Left: updates shown on the mods screen (#1041).
Closes #1040