Parcourir la source

Add workaround comments

- workaround for lock no etag changes
- fix less than a minute date string

Signed-off-by: Henrik Storch <henrik.storch@nextcloud.com>
Henrik Storch il y a 3 ans
Parent
commit
8b3754c378

+ 3 - 1
iOSClient/Data/NCManageDatabase+Metadata.swift

@@ -326,7 +326,9 @@ extension NCManageDatabase {
 
                     if let result = metadatasResult.first(where: { $0.ocId == metadata.ocId }) {
                         // update
-                        if result.status == NCGlobal.shared.metadataStatusNormal && (result.etag != metadata.etag || result.fileNameView != metadata.fileNameView || result.date != metadata.date || result.permissions != metadata.permissions || result.hasPreview != metadata.hasPreview || result.note != metadata.note) {
+                        // Workaround: check lock bc no etag changes if lock runs out in directory
+                        // https://github.com/nextcloud/server/issues/8477
+                        if result.status == NCGlobal.shared.metadataStatusNormal && (result.etag != metadata.etag || result.fileNameView != metadata.fileNameView || result.date != metadata.date || result.permissions != metadata.permissions || result.hasPreview != metadata.hasPreview || result.note != metadata.note || result.lock != metadata.lock) {
                             ocIdsUdate.append(metadata.ocId)
                             realm.add(tableMetadata.init(value: metadata), update: .all)
                         } else if result.status == NCGlobal.shared.metadataStatusNormal && addCompareLivePhoto && result.livePhoto != metadata.livePhoto {

+ 2 - 0
iOSClient/Main/NCFunctionCenter.swift

@@ -748,6 +748,8 @@ import SVGKit
         var children: [UIMenuElement] = [offline, openIn, moveCopy, copy, copyPath]
         
         if !metadata.lock {
+            // Workaround: PROPPATCH doesn't work (favorite)
+            // https://github.com/nextcloud/files_lock/issues/68
             children.insert(favorite, at: 0)
             children.append(delete)
             children.insert(rename, at: 3)

+ 12 - 6
iOSClient/Menu/NCCollectionViewCommon+Menu.swift

@@ -82,12 +82,17 @@ extension NCCollectionViewCommon {
             }
 
             var lockTimeString: String?
-            if let lockTime = metadata.lockTimeOut, lockTime > Date(),
-               let timeInterval = (lockTime.timeIntervalSince1970 - Date().timeIntervalSince1970).format() {
-                lockTimeString = String(format: NSLocalizedString("_time_remaining_", comment: ""), timeInterval)
-            } else if let lockTime = metadata.lockTime {
+            if let lockTime = metadata.lockTimeOut {
+                if lockTime >= Date().addingTimeInterval(60),
+                   let timeInterval = (lockTime.timeIntervalSince1970 - Date().timeIntervalSince1970).format() {
+                    lockTimeString = String(format: NSLocalizedString("_time_remaining_", comment: ""), timeInterval)
+                } else if lockTime > Date() {
+                    lockTimeString = NSLocalizedString("_less_a_minute_", comment: "")
+                } // else: don't show negative time
+            }
+            if let lockTime = metadata.lockTime, lockTimeString == nil {
                 lockTimeString = DateFormatter.localizedString(from: lockTime, dateStyle: .short, timeStyle: .short)
-            } // else: don't show date detail
+            }
 
             actions.append(
                 NCMenuAction(
@@ -102,7 +107,8 @@ extension NCCollectionViewCommon {
 
         //
         // FAVORITE
-        //
+        // FIXME: PROPPATCH doesn't work
+        // https://github.com/nextcloud/files_lock/issues/68
         if !metadata.lock {
             actions.append(
                 NCMenuAction(

+ 2 - 1
iOSClient/Menu/NCViewer+Menu.swift

@@ -40,7 +40,8 @@ extension NCViewer {
 
         //
         // FAVORITE
-        //
+        // Workaround: PROPPATCH doesn't work
+        // https://github.com/nextcloud/files_lock/issues/68
         if !metadata.lock {
             actions.append(
                 NCMenuAction(