Skip to content

Integrate chunk-based OTA updates via desync (OnionUI/Onion#1918) - #193

Merged
Amiga500 merged 2 commits into
OniOpus46from
copilot/integrate-pr-1918
Mar 18, 2026
Merged

Integrate chunk-based OTA updates via desync (OnionUI/Onion#1918)#193
Amiga500 merged 2 commits into
OniOpus46from
copilot/integrate-pr-1918

Conversation

Copilot AI commented Mar 18, 2026

Copy link
Copy Markdown

Ports OnionUI/Onion#1918 into this fork. Adds content-addressable chunking via desync so OTA upgrades only transfer changed chunks between releases instead of full zips.

Build system (Makefile)

  • Added desync-bin (ARM cross-compile), desync-host, and chunk targets
  • 7z archives now use -ms=off (disable solid mode) for chunk-friendly output
  • Release zip timestamps normalized via touch -t 198001010000 for reproducible builds
  • external target copies desync binary into installer if available

OTA update script

  • --chunk flag enables delta download path using desync with fallback to full download
  • do_download() always fetches the .caidx index; uses local seed zip + remote chunk store for delta reconstruction
  • Space check now accounts for seed zip coexisting with new download
  • After successful update, downloaded zip/index promoted to $sysdir/seed/ for next delta

Installer (install.sh)

  • promote_initial_seed() saves the installation zip as seed during first install, generating a .caidx index via desync if one wasn't bundled

CI (.github/workflows/tagged-release.yml)

  • Build step runs make desync-bin release chunk
  • .caidx index included as release artifact

Submodule

  • third-party/desync added at e58d685523

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Add desync submodule for content-addressable chunking.
Update Makefile with desync build targets, 7z deterministic archive flags,
and chunk generation target.
Update OTA update script with delta download support via --chunk flag.
Update install.sh with promote_initial_seed function.
Update tagged-release workflow to build desync and include .caidx artifact.

Co-authored-by: Amiga500 <16525337+Amiga500@users.noreply.github.com>
Copilot AI changed the title [WIP] Integrate pull request #1918 into the codebase Integrate chunk-based OTA updates via desync (OnionUI/Onion#1918) Mar 18, 2026
Copilot AI requested a review from Amiga500 March 18, 2026 14:47
@Amiga500
Amiga500 marked this pull request as ready for review March 18, 2026 15:20
@Amiga500
Amiga500 merged commit e5cdae7 into OniOpus46 Mar 18, 2026
2 checks passed
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.

2 participants