WIP: rebase for 2026-05-18 #7
@@ -411,6 +411,7 @@ func (i *jsIPN) run(jsCallbacks js.Value) {
|
||||
Started: f.Started.UnixMilli(),
|
||||
DeclaredSize: f.DeclaredSize,
|
||||
Received: f.Received,
|
||||
Done: f.Done,
|
||||
}
|
||||
}
|
||||
if b, err := json.Marshal(files); err == nil {
|
||||
@@ -973,6 +974,7 @@ type jsIncomingFile struct {
|
||||
Started int64 `json:"started"` // Unix milliseconds; use new Date(started) in JS
|
||||
DeclaredSize int64 `json:"declaredSize"` // -1 if unknown
|
||||
Received int64 `json:"received"` // bytes received so far
|
||||
Done bool `json:"done"` // true once the file has been fully received
|
||||
}
|
||||
|
||||
// jsOutgoingFile is the JSON representation of an outgoing file transfer
|
||||
|
||||
@@ -134,8 +134,9 @@ func (m *manager) PutFile(id clientID, baseName string, r io.Reader, offset, len
|
||||
}
|
||||
}
|
||||
|
||||
// Copy the contents of the file to the writer.
|
||||
copyLength, err := io.Copy(wc, r)
|
||||
// Copy via inFile (which wraps wc) so [incomingFile.Write] can track
|
||||
// progress and fire periodic sendFileNotify callbacks.
|
||||
copyLength, err := io.Copy(inFile, r)
|
||||
if err != nil {
|
||||
return 0, m.redactAndLogError("Copy", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user