mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 02:29:55 +02:00
fix(transfer): finalize delivery completion
This commit is contained in:
@@ -197,7 +197,7 @@ final class CoreRepository: ObservableObject, CoreGateway {
|
||||
|
||||
guard let transferId = model.transferId else { return }
|
||||
switch model.phase {
|
||||
case "approval": signalsSubject.send(.approvalChanged(transferId: transferId))
|
||||
case "approval", "access": signalsSubject.send(.approvalChanged(transferId: transferId))
|
||||
case "delivery": signalsSubject.send(.receiverHistoryChanged(transferId: transferId))
|
||||
default: break
|
||||
}
|
||||
|
||||
@@ -96,14 +96,14 @@ func progressForReceiver(
|
||||
labelKey: "progress_interrupted", progress: nil, detail: nil
|
||||
)
|
||||
}
|
||||
if latest.kind == "completed" && !transferEvents.contains(where: { $0.kind == "progress" || $0.kind == "started" }) {
|
||||
let progress = aggregateReceiverProgress(events: transferEvents, totalSizeHint: totalSizeHint)
|
||||
if latest.kind == "completed" && (progress.map { $0 >= 0.999 } ?? true) {
|
||||
return TransferProgress(
|
||||
transferId: transferId, phase: "transfer", kind: "completed",
|
||||
labelKey: "progress_completed", progress: 1, detail: nil
|
||||
)
|
||||
}
|
||||
|
||||
let progress = aggregateReceiverProgress(events: transferEvents, totalSizeHint: totalSizeHint)
|
||||
return TransferProgress(
|
||||
transferId: transferId, phase: "transfer", kind: latest.kind,
|
||||
labelKey: "progress_sending", progress: progress, detail: progressDetail(latest)
|
||||
|
||||
Reference in New Issue
Block a user