Releases: recovery image per product - #73
Merged
Merged
Conversation
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 14:59
5403fa3 to
716d54e
Compare
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 14:59
9712ef8 to
071ed90
Compare
Contributor
Author
|
bugbot run |
|
Skipping Bugbot: Bugbot is disabled for this repository. Visit the Bugbot dashboard to update your settings. |
Contributor
Author
|
bugbot run |
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 15:16
716d54e to
e641567
Compare
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 15:16
071ed90 to
396e05a
Compare
Contributor
Author
|
bugbot run |
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 15:25
e641567 to
b852ad8
Compare
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 15:25
396e05a to
6ec149a
Compare
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 15:40
b852ad8 to
2440bff
Compare
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 15:40
6ec149a to
7e59429
Compare
Contributor
Author
|
bugbot run |
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 15:41
7e59429 to
9221287
Compare
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 15:41
2440bff to
7b29c42
Compare
Contributor
Author
|
bugbot run |
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 15:52
9221287 to
e2736a8
Compare
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 15:52
7b29c42 to
4ba1d17
Compare
Contributor
Author
|
bugbot run |
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 16:07
4ba1d17 to
bf58da8
Compare
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 16:07
e2736a8 to
6afa94f
Compare
Contributor
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 6afa94f. Configure here.
adamshiervani
force-pushed
the
feat/mini-product-releases
branch
from
September 18, 2026 16:25
bf58da8 to
b8119e9
Compare
The Mini's recovery image is a merged full-flash binary: bootloader, partition table, the firmware in the first OTA slot and erased OTA selection data, written with esptool or a browser flasher at offset 0. It is built with the firmware and shares its version, so it lives next to it: mini/<version>/skus/<sku>/jetkvm-mini-full.bin. The recovery redirect already reads the prefix and file name from the product table, so registering the artifact is the whole change. JetKVM redirects are unchanged.
adamshiervani
force-pushed
the
feat/recovery-per-product
branch
from
September 18, 2026 16:25
6afa94f to
ff346ce
Compare
adamshiervani
changed the base branch from
feat/mini-product-releases
to
dev
September 18, 2026 16:26
adamshiervani
marked this pull request as ready for review
September 18, 2026 16:26
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
The Mini's recovery image is a merged full-flash binary: bootloader, partition table, the firmware in the first OTA slot, erased OTA selection data. Written with esptool or a browser flasher at offset 0. It is built with the firmware and shares its version, so it lives next to it.
The recovery redirect already reads
prefixandfilefor the requested SKU from the table (#70), so registering the artifact is the whole change:JetKVM redirects are unchanged. The route keeps its historical name.
Not in this PR: the kvm-mini build does not produce
jetkvm-mini-full.binyet. Until it is uploaded, a Mini request 404s from the artifact lookup like any missing version.Stack: 5 of 5. Based on #71. Independent of the devices PR.
Note
Medium Risk
Changes device firmware and recovery download URLs for a new product line; incorrect SKU mapping could serve wrong hardware images, though unknown SKUs remain rejected at the API boundary.
Overview
Registers full-flash recovery (
mini/jetkvm-mini-full.bin) forjetkvm-mini-ethernetandjetkvm-mini-wirelessin the SKU table, alongside their existing system OTA image (mini/jetkvm-mini.bin). Because/releases/system_recovery/latestalready resolves prefix and filename fromartifactFor(sku, "recovery"), Mini recovery requests redirect under themini/R2 prefix instead ofsystem/, while JetKVM behavior stays the same.Also documents
minias a validRelease.type/ R2 prefix in the Prisma schema comment, extends sync-releases and SKU tests for themini/prefix (SKU-only layout, no legacy mini paths), and adds release API tests for Mini-only OTA responses (system fields only, no app), prerelease listing scoped tomini/, recovery redirects, and rejecting app-latest for Mini SKUs.Reviewed by Cursor Bugbot for commit ff346ce. Bugbot is set up for automated code reviews on this repo. Configure here.