feat: add split torrent workspace and native update checks

Merged
TE
7d ago
+732-502

Summary

  • Replace the torrent table with a compact list beside a persistent details pane, with transfer metrics, file and peer views, pause/resume controls, and destination-aware search.
  • Check desktop updates directly through Electrobun's public manifest. An exhausted GitHub REST API quota no longer blocks native updates; notifications, downloads, and explicit restart/install actions keep their existing behavior.
  • Extend the update integration scenario to verify successful native checks with a GitHub API returning HTTP 403, zero REST requests, and recovery from native check errors.

Validation

  • bun run tscheck
  • bun run fix
  • bun run test — 233 tests pass
  • bun run build
  • Targeted bunx --bun ultracite check for the update service and tests
  • Update and native update-host integration tests — 15 scenarios pass
  • bun run build:desktop
  • bun run test:native and bun run test:background for UI/native changes
  • Engine/lifecycle changes tested through public APIs with real peers in temporary directories
  • Downloaded files preserved unless the user explicitly requests deletion
  • CHANGELOG.md updated under Unreleased
  • No credentials or personal data included
  • AI-assisted code reviewed by a human

Summary by cubic

Splits the torrent library into a compact list beside a persistent details pane, and routes desktop update checks through Electrobun's public manifest so GitHub API quota exhaustion no longer blocks updates.

  • The list shows transfer metrics, destination-aware search results, and pause/resume controls; the details pane keeps files, peers, and trackers with independent scrolling.
  • Native update checks no longer consume GitHub REST quota; existing notification, download, and restart/install flows are unchanged.
  • Extended update integration tests to cover HTTP 403 responses, zero REST calls, and recovery from native check errors.