Skip to content

Hiverra Portal v0.14.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Aug 13:38

Hiverra Portal 0.14.0

Staged receives & post-transfer conflict resolution

This release changes how the receiver handles filename collisions and interrupted transfers. Instead of pausing mid-stream to ask you about conflicts, Portal now:

  • Stages incoming files into a per-transfer staging directory (<dest>/.portal/stage/<timestamp>) as items land, then presents conflicts after the transfer finishes.
  • Resolves conflicts one decision at a time — overwrite, rename, or skip — applied per top-level item (a whole folder is one unit), with memoized "apply to all" answers so you don't answer the same question repeatedly.
  • Recovers from cut connections: if a transfer drops mid-way, every fully-received item is reconciled into the destination automatically (Transfer interrupted; recovered N item(s)), and only the in-flight file is lost.
  • Self-cleans staging: stale staging directories older than 24h are swept on the next receive, and empty .portal parents are pruned without ever touching a concurrent transfer's files.

Other changes

  • PXP library bumped to 0.2.0 (receive_stream now returns a StagedTransfer + reconcile() helper; conflict resolution moved out of the stream).
  • Docs: new CLI page for staging & conflicts, new protocol draft draft-pxp-streaming-01 (conflict deferral + partial-salvage), updated pxp library guides.

What's Changed

  • feat(cli): stage received files and resolve conflicts after transfer (#161) [7bfa787]
  • docs: document staged receive, post-transfer conflicts, and draft streaming-01 (#161) [7a17927]

Full Changelog: v0.13.0...v0.14.0