Skip to content

Releases: ITHit/UserFileSystemSamples

v7.1.23701.0

04 Sep 15:33
Compare
Choose a tag to compare
  • "Do Not Sync"/"Sync" menu is now available on macOS.
  • WebDAV Drive sample on macOS did not show thumbnails. This bug is now fixed.
  • Unused code deleted in macOS context menu implementation.

v7.1.23463.0-Beta

23 Aug 10:51
Compare
Choose a tag to compare
  • Method added to find items by remote storage ID in Windows version: Placeholders.TryFindByRemoteStorageId().

v7.1.23457.0-Beta

17 Aug 16:55
Compare
Choose a tag to compare
  • ISynchronizationCollection.GetChangesAsync() method implementation refactored in WebDAV Drive sample on Windows. Content and data is is now updated only if eTag is different from the one stored on the client.
  • If file or folder was created under the pinned folder changes were ignored. Now this bug is fixed.
  • IChangedItem interface now provides BeforeAction and AfterAction, called before and after change is applied in user file system on the client machine. This allows adding a custom processing code for each item, such as update of custom properties. savePropertiesAction parameter is removed from ProcessChangesAsync() method.
  • The Engine incorrectly called ISynchronizationCollection.GetChangesAsync() passing false for depth parameter on initial sync-token request on Windows. Now true is passed for the depth parameter.
  • WebDAV Drive sample on Windows may throw "Failed to set remote storage item id" Win32Exception "The operation failed due to a conflicting cloud file property lock.". This bug is now fixed.
  • WebDAV Drive sample on Windows may throw "Fetch data failed" FileLoadException "The process cannot access the file because it is being used by another process. (0x80070020)". This bug is now fixed.
  • WebDAV Drive sample on Windows may throw "Processing folder failed" DirectoryNotFoundException "Could not find a part of the path". This bug is now fixed.

v7.1.23321.0-Beta

28 Jul 20:02
Compare
Choose a tag to compare
  • Remote storage monitor queue processing refactored in WebDAV Drive for Windows and macOS samples. Message queue is now optimized to send only minimum number of changed requests to remote storage. The sample code is unified between Windows and macOS samples.
  • WebDAV Drive sample for macOS now requests changes from remote storage on application start and on web sockets reconnection.

v7.1.23216.0-Beta

24 Jul 20:23
Compare
Choose a tag to compare
  • IEngine.GetFileSystemItemAsync() method signature changed. Path parameter removed (path is not available on iOS & macOS). The context parameter added. On Windows platform the path can now be extracted by casting context to IContextWindows.
  • IFileSystemItem.MoveToCompletionAsync() and IFileSystemItem.DeleteCompletionAsync() methods moved to the a new IfileSystemItemWindows interface. IFileSystemItem.GetMetadataAsync() moved to a new IFileSystemItemMac interface.
  • Drive registration/unregistration code refactored on macOS.
  • appsettings.json is now linked in File Provider extension project from Container application project. AppGroupId removed from AppGroupSettings.
  • In WebDAV Drive sample on macOS file content was buffered in memory during download (hydration) and upload. Progress does not show on macOS during download. Now this bug is fixed.
  • Context menu did not show on macOS. Now this bug is fixed.
  • File provider extension did not sign on macOS. Now the extension is properly signed.
  • ProcessChangesAsync() call optimized in WebDAV Drive sample for Windows. Now only first and last notifications from server are processed, reducing number of requests to the remote storage.

v7.0.22362.0-Beta

08 Jun 22:06
Compare
Choose a tag to compare
  • On Windows platform long file names or long remote storage item ID could cause the ERROR_CLOUD_FILE_METADATA_CORRUPT "The cloud file metadata is corrupt and unreadable." error in some scenarios. This bug is now fixed.
  • On Windows platform the Engine passes null to GetFileSystemItemAsync() for rootRemoteStorageItemId parameter instead of actual remote storage ID. This bug is now fixed.
  • Engine.Path was readonly. Now this property is read-write.

v7.0.22286.0-Beta

05 Jun 15:59
Compare
Choose a tag to compare
  • Long file name name and long remote storage ID combination may cause the ERROR_CLOUD_FILE_METADATA_CORRUPT "The cloud file metadata is corrupt and unreadable." error. This bus is now fixed.
  • Default constructor for EngineWindows class is provided.

v7.0.22272.0-Beta

01 Jun 16:58
Compare
Choose a tag to compare
  • In WebDAV Drive sample on Windows every notification from remote storage generated GetChangesAsync() call. Now the request to the remote storage is sent only if the item exists in the user file system.
  • In WebDAV Drive sample on Windows, if item was deleted when saving properties in ProcessChangesAsync() exception was thrown. Now if item is not found the properties save call is ignored.
  • savePropertiesAction parameter in ProcessChangesAsync() is now optional.
  • Remote storage ID was not passed during initial call to IEngine.GetFileSystemItemAsync(). Virtual File System sample throw ArgumentNullException "Value can not be null". Now Remote storage ID is properly passed to IEngine.GetFileSystemItemAsync().
  • Sync-token initial call was done after connecting transfer callbacks. This could cause listing folder content to be done before initialization of sync-token. Now sync-token is initiated before connecting callbacks.
  • Developer certificate supplied with Windows samples updated .

v7.0.22158.0-Beta

25 May 15:20
Compare
Choose a tag to compare
  • On Windows platform sync-token is now initialized on Engine start if the root folder implements ISynchronizationCollection interface. The Engine calls GetChangesAsync() on first start.
  • On Windows platform items were set into conflict state during initial synchronization on WebDAV Drive sample start. Item creation during incoming sync may interfere with same item creation by other threads, such as folder listing. Now if item already exists, the item is not set into a conflict state. The conflict state is determined using eTag during outgoing synchronization.
  • On Windows platform IServerCollectionNotifications.ProcessChangesAsync() and IServerNotifications.DeleteAsync() methods deleted not in-sync items (new, moved and updated items). Now if such items are set to conflict state in case of the ProcessChangesAsync() call.
  • On Windows platform if item is blocked during deletion by a concurrent thread, the incoming sync did not display conflict icon. Now this bug is fixed.
  • On Windows platform, in case item already exists, the incoming sync did not display conflict icon. Now this bug is fixed.
  • On Windows platform setting conflict state during move may cause exceptions in IServerCollectionNotifications.ProcessChangesAsync() call if source did not exit. Now this bug is fixed.
  • EngineWindows.UninstallCleanupAsync() method is replaced with a path to data storage to be deleted on uninstall, The data storage path is provided in EngineWindows.DataPath property.
  • Remote storage monitor in WebDAV Drive sample on Windows did not dispose WebSockets if server is disconnected. Now WebSockets are properly disposedovided sync toke.
  • CancellationToken parameter now added to IServerCollectionNotifications.ProcessChangesAsync() and ISynchronizationCollection.GetChangesAsync() methods.
  • Logging refactored. IEngine interface does not inherit ILogger any more. ILogger is now available via IEngine.Logger property.

v7.0.22106.0-Beta

18 May 20:41
Compare
Choose a tag to compare
  • High-performance synchronization based on sync-token algorithm is now implemented in WebDAV Drive sample. Full synchronization (IncomngFullSync class) removed removed from WebDAV Drive sample.
  • Class reference provided for ITHit.FileSystem.Mac namespace.