branch: elpa/hyperdrive
commit b10d5da0e24d61f7730718a4fad23966f0a3f069
Author: Joseph Turner <jos...@ushin.org>
Commit: Joseph Turner <jos...@ushin.org>

    Change: (he//api-then) Invalidate entry after filling metadata
---
 hyperdrive-lib.el | 8 +++++++-
 hyperdrive.el     | 5 ++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 86ea998347..1c3eac480c 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -284,7 +284,13 @@ version.  Finally, persists ENTRY's hyperdrive."
     (when x-file-block-length-downloaded
       (setf (map-elt (he/etc entry) 'block-length-downloaded)
             (ignore-errors
-              (cl-parse-integer x-file-block-length-downloaded))))))
+              (cl-parse-integer x-file-block-length-downloaded))))
+
+    ;; Redisplay entry.
+    (unless (h//entry-directory-p entry)
+      ;; There's currently never a reason to redisplay directory entries since
+      ;; they don't have block-length{,-downloaded} metadata.
+      (he//invalidate entry))))
 
 (defun h/gateway-needs-upgrade-p ()
   "Return non-nil if the gateway is responsive and needs upgraded."
diff --git a/hyperdrive.el b/hyperdrive.el
index 8c28db6e60..4950283034 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -201,9 +201,8 @@ modified; file blobs may be recoverable from other peers."
       :headers '(("Cache-Control" . "no-store"))
       :else (lambda (err)
               (h/error "Unable to clear cache for `%s': %S" (he/url entry) 
err))
-      :then (lambda (response)
-              (he//fill entry (plz-response-headers response))
-              (he//invalidate entry)))))
+      ;; Make async; `he//api-then' will call `he//invalidate'.
+      :then #'ignore)))
 
 ;;;###autoload
 (defun hyperdrive-purge (hyperdrive)

Reply via email to