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)