Skip to content

Releases: ITHit/UserFileSystemSamples

v8.1.26901.0

05 Jun 16:45
Compare
Choose a tag to compare
  • Metadata eTag received from remote storage is now set for every file system item in WebDAV Drive sample on Windows platform.
  • IFileMetadata now passed into IFile.ReadAsync() method.
  • On Windows platform if file is dehydrated and file content changes received from remote storage in GetChangesAsync(), ItemsChanged event is not fired and Windows Explorer is not updated. Now the event is fired for dehydrated files and Windows Explorer is updated properly.
  • Development certificate in samples is updated on Windows platform.
  • On Windows platform move after creation may cause two concurrent IFolder.CreateFolderAsync() calls. Now creation blocks any other calls until creation is completed.
  • LocalServer class is replaced with LocalServerIntegarated and LocalServerRpc classes for Windows platform.
  • Custom remote storage ID column is added in WebDAV Drive sample on Windows platform.
  • On Windows platform tray application context menu does not work in samples. Now this bug is fixed.
  • Remote storage monitor in Virtual File System sample and Virtual Drive sample on Windows platform throw exception when folder was deleted when application was not running, on application start. Now this bug is fixed.
  • Exception during incoming synchronization on Windows platform when the folder is deleted on the client when the app is not running, during the app start: FileNotFoundException: The system cannot find the file specified. (0x80070002). This bug is now fixed.

v8.1.26791.0-Beta2

26 Apr 23:05
Compare
Choose a tag to compare
  • Exception WebDAVFileProviderExtension "Microsoft.macOS: Failed to initialize the VM" on macOS 14.4 and later. This bug is now fixed.
  • The Win32LastModifiedTime custom WebDAV property did not serialize correctly on-English macOS. The IT Hit WebDAV Server samples are throwing FormatException "String '' was not recognized as a valid DateTime." This bug is now fixed.
  • Cookies authentication is now supported in WebDAV Drive sample on macOS in host application.
  • Remote storage monitor connected only to the first storage in WebDAV Drive sample for macOS if more than one drive was mounted. This bug is now fixed.

v8.1.26727.0-Beta2

28 Mar 22:23
Compare
Choose a tag to compare
  • WebDAV Drive sample on macOS now supports cookies authentication.
  • WebDAV Drive sample on macOS now provides custom protocol "fuse:" implementation.
  • All Windows platform samples now run on .NET 8.
  • Challenge-response authentication dialog (Basic, Digest, NTLM, Kerberos) is replaced with system authentication dialog in WebDAV Drive sample on Windows platform.
  • On Windows platform the IFileSystemItem.GetPropertiesAsync() and IFileSystemItem.GetThumbnailAsync() were called only if remote storage ID was set for the item. Now these methods are called for any item.
  • On Windows platform if the IFileSystemItem.GetPropertiesAsync() is called before the Engine is has started, the ArgumentNullException is thrown. Now the IFileSystemItem.GetPropertiesAsync() is never called before the Engine start.
  • In WebDAV Drive sample on Windows if web sockets failed to connect, the client was trying to reconnect to server infinitely. Now web sockets try to re-connnect only if first connection was successful. Otherwise RemoteStorageMonitorBase.StartAsync() throws exception. If SyncID or CRUDE web sockets are not supported, the timer pooling is used now in WebDAV Drive sample.
  • If remote storage did not support resource-id property on the root item, the WebDAV Drive sample was throwing WebDavException "resource-id or parent-resource-id is not found. Your WebDAV server does not support collection synchronization. Upgrade your .NET WebDAV server to v13.2 or Java WebDAV server to v6.2 or later version." On sample start. Now if resource-id is not supported on the root item, the sample runs with CRUDE remote storage monitor or timer pooling.
  • In WebDAV Drive sample for Windows, if remote storage did not return resource-id on files and folders creation exception was thrown. Now this bug is fixed.
  • PreferredIncomingSyncMode is added to the WebDAV Drive settings on Windows platform. Allowed values are: SyncId, Disabled, TimerPooling.
  • In Windows platform samples if any file is read-only, unmounting failed. The read-only attribute is now removed during unmounting.

v8.1.26224.0-Beta2

12 Mar 19:54
Compare
Choose a tag to compare
  • Engine on macOS platform now supports setting capabilities for each item. IFileSystemItemMetadataMac.Capabilities property is added. Now the implementer can specify if an item can be moved, renamed, deleted, excluded from synchronization as well as if applications can read and write the item.
  • WebDAV Drive sample on macOS now supports pooling synchronization. If collection synchronization is not supported (Sync ID) by the remote storage, CRUDE web sockets + pooling will be used instead.
  • EngineMac now protects read-only items from writing. If the file is locked by third-party user the item is protected from updates.
  • EngineWindows.ItemsChanged event is provided. The post-event is fired after each item creation, update, delete and move operations. The event provides information about synchronization direction, type of the operation, result of the operation and number of items updated.
  • Microsoft Office merging is now supported on Windows platform. The Utilities.TryNotifyUpdateAvailable() method can be used to merge Microsoft Word and PowerPoint documents.
  • Metadata can now be updated separately from content using IFileSystemItemMetadata.MetadataETag and IFileMetadata.ContentETag properties.
  • On Windows platform custom properties can now be accessed via IOperationContext.Properties of the IOperationContext parameter. All IFile and IFolder methods now provide IOperationContext parameter.
  • Pooling synchronization mode is now provided by the EngineWindows. The EngineWindows.SyncService.IncomingSyncMode can now be used to the sync mode.
  • WebDAV Drive sample on Windows now supports Sync ID synchronization, CRUDE synchronization and pooling synchronization modes.

v8.0.26019.0-Beta

08 Feb 22:43
Compare
Choose a tag to compare
  • Virtual File System sample on macOS can now synch items from remote storage to client using pooling, if Sync ID algorithm is not supported by the server.
  • EngineWindows.ItemsChanged event is provided. Now every incoming and outgoing creation, update, delete, move lock and unlock triggers the ItemsChanged event. IChangedItem.BeforeAction and IChangedItem.AfterAction events removed. Properties can not be updated inside ItemsChanged event.
  • If a Microsoft Word or PowerPoint document is open for editing nad is not locked, it can now merge with incoming updates. AppHelper project edded that helps merging MS Office documents.
  • Virtual File System sample on Windows refactored to reference items by path.
  • All IFile and IFolder methods not provide custom list of properties associated with every file/folder (ICustomData) in IOperationContext.Property parameter of every method.
  • EngineWindows.ServerNotifications() overloaded method added that returns IServerNotifications by remote storage ID on Windows platform.
  • IServerNotifications.MoveTo() overloaded method added on Windows platform that accepts new target remote storage ID and new file name. It creates and deletes items automatically if moved outside of the synchronised folders.
  • Memory violation exception (Win32Exception (998)) during GetUsnByPathAsync() method call on Windows platform. This bug is now fixed.
  • IContext.FileNameHint returns path that starts with "\?\" when GetFileSystemItemAsync() is called from from outgoing sync service on Windows platform. Now IContext.FileNameHint is always returned without "\?\" prefix.
  • ILock.LockAsync()/UnlockAsync() was throwing NotSupportedException if ILock was not implemented on Windows platform. Now NotImplementedException is thrown.
  • ErrorStatusFilter on Windows platform can now ignore in-sync files during incoming sync.
  • Error state that was set during previous updates is now cleared when the item is dehydrated (only if item is in-sync) or on content update.

v7.3.24116.0

14 Dec 11:12
Compare
Choose a tag to compare
  • WebDAV Drive sample for macOS can now show login user interface in macOS Finder. UI Extension provider is implemented.
  • EngineMac.IsAuthenticated() virtual method provided, indicating if user is authenticated.
  • IFile.WriteAsync() IFolder.WriteAsync() first parameter type changed to IFileSystemBasicInfo. All file and folder info can now be nullable.

v7.2.23868.0

16 Oct 21:05
Compare
Choose a tag to compare
  • Locking is now supported on macOS. ILock interface is moved to ILock to ITHit.FileSystem.
  • Automatic locking implemented in WebDAV Drive for macOS. When a document is opened in macOS Finder it is automatically locked. The document is automatically unlocked when closed.
  • Manual locking added to WebDAV Drive for macOS. A document can now be locked and unlocked via macOS Finder context menu.
  • Error message is displayed in Windows samples if UserFileSystemRootPath is not indexed.
  • IFileSystemItemMetadataMac now provides UserInfo property to set context menu and tooltip to the icon.
  • IFileSystemItemMetadataMac now provides Decorations property to set item icon.

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.