Releases: ITHit/UserFileSystemSamples
Releases · ITHit/UserFileSystemSamples
v5.6.16427.0
- If a IFolderMetadata item does not contain FileAttribute.Directory attribute when passed to IFolderListingResultContext.ReturnChildrenAsync(), the item did not delete. The item type is detected incorrectly. Now the item type is detected properly regardless of the FileAttribute.Directory attribute set on creation.
- In WebDAV Drive sample, it the item is not found in the remote storage (already deleted) the sample code always sets the resultContext.SetInSync = false causing the Engine to repeat the detele operation. Now this bug is fixed.
- Tray app in WebDAV Drive sample now properly reflects synchronizing and paused state. Tray application fixed and refactored.
v5.6.16415.0
- Upload created folders with offline attribute (with cloud icon). Now the folders are created without offline attribute (with green checkbox on white background).
- Sync status did not refresh after folders upload. Now the folder status is refreshed after the upload.
- If IFileSystemItem.GetPropertiesAsync() returns FileSystemItemPropertyData with empty value, Windows Explorer crushes. Now the empty or null vaues are replaced with "n/a".
- Lock state icon does not refresh in Windows Explorer in WebDAV Drive sample after the item is locked or unlocked. Now the icon is properly refreshed.
- If thumbnail IFileSystemItem.GetThumbnailAsync() throw NotImplementedException the error "Thumbnail for is not implemnted" was logged. Now the debug message is logged.
v5.6.16382.0
- IFolder.GetChildrenAsync() is called on every app start, including if the sample app was exited with Spacebar ("Reboot" scenario). Registrar.IsRegisteredAsync() method always returned false, causing every sample app start registering file system. Now this bug is fixed.
- If exception parameter was not specified in ILogger.LogError() method call, the sample code did not log the error. This bug is now fixed.
- If EngineWindows is disposed without stopping the engine, the synchronization service did not stop, causing exceptions. This bug is now fixed.
- IOException The file already exists may be thrown by Virtual File System Sample and Virtual Drive sample in IFolder.CreateFileAsync() and IFolder.CreateFolderAsync() methods when deleting items if parent is moved to the recycle bin while Engine was still processing the item. Now such items are ignored.
- "The engine must be running" exception may be thrown by the Engine when stopping. This bug is now fixed.
- IOException "Can not create because the file or directory with the same name already exsts." can be thrown when calling IFolderListingResultContext.ReturnChildrenAsync() in Virtual File System and Virtual Drive samples if the directory is deleted in the remote storage while the listing is performed. This bug is now fixed.
- "Missing item failed to save" FileNotFoundException: The system cannot find the file specified. (0x80070002) error may be thrown when deleting items. This bug is now fixed.
- UnautorizedAccessException: "Access is denied" may be thrown when deleting an item and the parent folder is deleted before the child item. This bug is now fixed.
- "Getting deleted folder failed" DirectoryNotFoludException may be thrown during delete. Now this bug is fixed.
- Outgoing Sync service did not stop on Engine.StopAsync() call. This bug is now fixed.
- Attributes parameter is removed from IEngine.FilterAsync() method.
- TimeSpan formatting unified in logging.
- LocalServer class is moved to ITHit.FileSystem.Windows.ShellExtension namespace.
v5.6.16274.0-Beta2
- Folders with 8 characters may fail to delete if MsOfficeFilter is applied. The IFileSystemItem.DeleteCompletionAsync() is not called. This bug is now fixed.
- IEngine.FilterAsync() now provides FileSystemItemType parameter.
- FileNotFoundException may be thrown in IFileSystemItem.GetLockModeAsync() method implementation during deletion in Virtual Drive and WebDAV Drive samples. This bug is now fixed.
- AutoCAD filter did not filter .dwl and .dwl2 files. This bug is now fixed.
v5.6.16262.0-Beta2
- Context menu performance improved.
- PlaceholderItem.UpdateUI() method provided to refresh Windows Explorer user interface.
- Sparse package startup sequence refactored. Developer certificate installation and uninstall sequence refactored.
v5.6.15918.0-Beta2
- Context menu on MacOS is now supported.
- New shell extension handler classes provided to run handlers in one process with the Engine: ThumbnailProviderHandlerIntegratedBase, CloudFilesContextMenuVerbIntegratedBase and CustomStateHandlerIntegratedBase classes provided. Virtual Drive and WebDAV Drive Samples updated to run shell extension handlers in one process with the main application.
- ZipFilter is provided. Now zip archiver is supported.
- Microsoft Excel and PowerPoint filters improved.
- Filtering refactored. Now both client to server sync and server to client operations are anow filtered in IEngine.FilterAsync() method.
- Microsoft Office / AutoCAD documents editing is now supported in Virtual File System sample and is supported both in remote storage and in user file system in all samples.
- Lock and Unlock commands in Virtual Drive and WebDAV Drive samples did not refresh status icons in the Windows Explorer. This bug is now fixed.
- ProcessAsync() erronously called IFileSystemItem.DeleteAsync()/MoveToAsync() methods before DeleteCompletionAsync()/MoveToCompletionAsync(). As soon as the delete/move operation can be canceled only if the Engine is running, now the DeleteCompletionAsync()/MoveToCompletionAsync() methods are only called from ProcessAsync().
- Incorrect operation type of OperationType.Delete was passed to FilterAsync() on DeleteCompletionsAsync() call. Now the correct OperationType.DeleteCompletion type is passed.
- The Win32Exception 0x80004005 "The cloud file metadata is corrupt and unreadable" may be thrown if the placeholder did not complete saving. This bug is now fixed.
- Create or update failed. DirectoryNotFoundException "The system can not find the path specified." error may be thrown on delete. This bug is now fixed.
- "Get moved item failed" Win32Exception "The cloud operation is invalid" can be thrown during synchronization. This bug is now fixed.
- Dehydration may throw exceptions if called for new files. This bug is now fixed.
v5.5.15752.0-Beta2
- Thumbnails on MacOS are now supported.
- Replacing GetPathByItemId() with TryGetPathByItemId() in Virtual File System and Virtual Drive sample.
v5.0.15216.0-Beta
- UnauthorizedAccessException 'Access to the path..' is denied exception during delete. This bug is now fixed.
- If 0-lenght file failed to set in-sync on creation, the file did not se in-sync at any later time in ProcessAsync() method. This bug is now fixed.
- EngineWindows.ProcessAsync() moved to EngineWindows.SyncService.Outgoing.ProcessAsync().
- IServerNotifications methods now do not update items if create/update/delate/move operation is in progress.
- PlaceholderItem.SetMetadataAsync() and IServerNotifications.UpdateAsync() methods now provide autoHydration parameter.
v5.0.14943.0-Beta
- User file system to remote storage synchronization service is now integrated with the EngineWindows. Periodical synchronization now starts by default every 10 sec.
- Folder Copy->Paste to virtual drive caused Win32Exception 'The file is not a cloud file', cased by child items being created before parent items. This bug is now fixed.
- If the Engine crushed or the drive deleted without cleanup and than recreated in the same location, the Engine may delete items in the remote storage on the next IEngine.StartAsync(true) call or during EngineWindows.ProcessAsync() call. This bug is now fixed.
- Context menu may throw exception on root folder in WebDAV Drive sample. Item identity may non be saved on the root item if the remote storage ID was never set. This bug is now fixed.
v5.0.14726.0-Beta
- All modules are now .NET Standard 2.0 compliant. All Windows samples can now run both .NET Framework 4.8 and .NET Core.
- Custom state provider C++ projects are replaced with C#/.NET projects.
- Thumbnails support is now built into Engine. Thumbnails handler shell extension base class is provided. Thumbnails are now generated in IFileSystemItem.GetThumbnailAsync() method implementation.
- Properties support is now built into Engine. Properties handler shell extensions base class is provided. Properties are now provided in IFileSystemItem.GetPropertiesAsync() method implementation.
- Context menu support is now built into Engine. Context menu handler shell extensions base class is provided. Context menu is now provided in IEngine.GetMenuCommandAsync() method implementation.
- WebDAV Drive and Virtual Drive projects now build a sparse package. Context menu is now supported when you run the WebDAV Drive and Virtual Drive projects directly from Visual Studio.
- Debug logging is provided. Debug logging can now be enabled in samples using the 'd' console key.