emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/hyperdrive 9f07c4588e 18/42: Change: (he/api) Fill latest


From: ELPA Syncer
Subject: [nongnu] elpa/hyperdrive 9f07c4588e 18/42: Change: (he/api) Fill latest version
Date: Wed, 19 Jun 2024 19:00:00 -0400 (EDT)

branch: elpa/hyperdrive
commit 9f07c4588ee19d3235bbb3bd684480cfb874dfe5
Author: Joseph Turner <joseph@ushin.org>
Commit: Joseph Turner <joseph@ushin.org>

    Change: (he/api) Fill latest version
---
 hyperdrive-lib.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 2e00a91114..a5af890baf 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -229,16 +229,19 @@ REST is passed to `h/api', which see.
 
 (defun he//api-then (entry response)
   "Update ENTRY's metadata according to RESPONSE.
-Updates ENTRY's hyperdrive's disk usage."
-  (pcase-let* (((cl-struct plz-response (headers (map x-drive-size)))
+Updates ENTRY's hyperdrive's disk usage and latest version."
+  (pcase-let* (((cl-struct plz-response (headers (map x-drive-size etag)))
                 response)
                ((cl-struct h/entry hyperdrive) entry)
                ((cl-struct hyperdrive etc) hyperdrive))
     (when x-drive-size
       (setf (map-elt etc 'disk-usage) (cl-parse-integer x-drive-size)
-            (h/etc hyperdrive) etc)
-      ;; TODO: Consider debouncing or something for hyperdrive-persist to 
minimize I/O.
-      (h/persist hyperdrive))))
+            (h/etc hyperdrive) etc))
+    (when (and etag (h//entry-directory-p entry))
+      ;; Directory ETag header is always the latest version of the drive.
+      (setf (h/latest-version hyperdrive) (string-to-number etag)))
+    ;; TODO: Consider debouncing or something for hyperdrive-persist to 
minimize I/O.
+    (h/persist hyperdrive)))
 
 (defun h/gateway-needs-upgrade-p ()
   "Return non-nil if the gateway is responsive and needs upgraded."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]