#19

Add support for browser downloads

OpenTheoSlateropened 20d ago

Summary

Add a browser-owned download manager with native destination selection.

Scope

  • Receive download lifecycle events through an explicit Photon Engine API.
  • Show queued, active, completed, failed, and cancelled downloads with progress.
  • Support cancel, retry where safe, reveal/open, and clearing completed entries.
  • Sanitize suggested filenames and resolve collisions without trusting server-provided paths.
  • Keep file writes and cleanup off the UI thread; ask the user before choosing a non-default destination when configured.

Acceptance criteria

  • A download can be tracked from start through completion or failure.
  • Cancellation and shutdown clean up partial files safely.
  • Destination authority comes only from the native picker or an explicit user preference.
  • Progress and failure state remain understandable after the download finishes.

Design reference: Zephium keeps download records and native path authority behind bounded Rust contracts: https://github.com/zephium-browser/Zephium/blob/main/crates/zephium-core/src/downloads.rs

Activity

0

No activity yet.