Modified SnapshotDifferencer to detect NoModificationInfo entries.NoModificationInfo entries are replaced by matching entries from the previous snapshot.
Synch seems OK. Identified problem with poll differencer
File and polling filtering work properly
Converted message arrays to Uri arrays
GetFileAgent moved to FileAgent.cs
Renamed PauseEvent to ProceedEvent
Extracted polling functionality to a separate PollAgent.csThe PollAgent pauses polling while network operations are in progressModified deleted file processing to ignore files in the Trash folder.
Modifications to raise move events for moved child objects from the FileAgent
Added header to all files. Closes #2064
Moved the pithos.db location to the same location as the user settings. This will make cleanup of all user settings easier during uninstallation
Changed AsyncManualResetEvent.Set behaviour to occur asynchronously. In the previous version calling Set resulted in the poll method executing in the main thread
Replaced _differencers Dictionary with ConcurrentDictionary
Simplified proxy management code
Extracted cloud delete functionality to a separate DeleteAgent
Added AsyncManualResetEvent to control manual synchronization
Replace manual reset event with asynch reset event for pausing the up/download agent
Simplified SnapshotDifferencer.cs
Added SnapshotDifferencer.cs to calculate the difference between the current and previous listings of the server filesChanged hashing to use an ActionBlock with parallelism options.Added parallelism property in Preferences
Added differencer and tests
Preliminary fix for #1999, incorrect deletionsThe first attempt is to detect deletions AFTER the first poll by comparing a cached listing to the new listing. Missing files are deletes. Can be expanded to simplify the rest of the processing code as it can also yield new files and modified files (same path, higher versions or different lengths or hashes)
Added _lastSeen dictionary to use as log of files, in an attempt to prevent deletion of files that are still being uploaded, or have finished uploading after a poll but before processing of deleted files start
Added check for queued or active objects when checking for files to delete
Merge branch 'master' of \\\pk2010\Pithos\
Conflicts: trunk/Pithos.Client.WPF/Shell/BalloonIconConverter.cs
Changing the delete agent to handle renames as well didn't help. Renames or moves will fail if the file being renamed hasn't been uploaded yet (e.g. the first time a file is created in Windows Explorer).
Added a further delay in deleting missing files instead, in NetworkAgent.cs.
First attempt to allow shared file modifications
Changed notifications according to #1970, #1973Now showing balloon tip only for the first actual change after a pollAll other changes simply update the iconsResolves #1970, #1973
Changed notifications according to #1970, #1973Throw appropriate exception when Pithos.Client.WPF/PithosAccount.cs fails to retrieve credentials (Pointless maybe ?)Returning empty hash for missing files
Dead code cleanups and removal of unwanted dll references
Modifications to allow synchronization of shared files:- Ensure shared files are stored in the proper local directory- Ensure only writable files are uploaded- Filter file events for the shared folder and the accounts and containers in it- Change PutWithHashMap to account for a modified server content (proper json instead of hashes per line)
Reactivated shared object code
Added separate notification classNow raising notifications when polling starts, when conflicts are detected, when changes are detected
Added a DeletedIconOverlay.csAdded synch status in the file propertiesModified the splash screen to use the out-of-the-box splash functionality of WPFIn NetworkAgent.cs, moved the delay call at the end of each poll. Waiting at the start of each poll is inappropriate when the polling frequency is large
Added notification messages for conflicts and multifile operations on Pithos.Core/PithosMonitor.csAdded simple status display for conflict and multifile operations in ShellViewModel.csAdded Conflict file statusModified NetworkAgent.cs to mark local-only files as "in conflict" during the first poll and delete any non-conflict local-only files on subsequent runs. Closes #1466, #1931
"Other" tab in File options was removed. Closes #1930Proxy settings set to UseDefaultProxy. Added Check in App.xaml.cs to reset the proxy to UseDefaultProxy if the ProxyServer setting is empty when ManualProxy is set. Closes #1929
Fix for deleting local objects that don't exist in Pithos
Added code to delete/move child objects
Added check for startup optionAdded Okeanos folder creation
Added Polling interval property and setting
First change attempt for deletion
Added FileSystemWatcherAdapter.cs to raise Moved events from the sequence of Deleted, Created events raised by FileSystemWatcher.Modified PreferencesViewModel.cs to URLEncode the token when opening the Pithos site
Missing change to ManualResetEventSlim
Replaces AutoResetEvent with manual reset event
Added AutoResetEvent to pause processing of network actions while executing deletes
Modifications to delete folder contents
Changes to delete check order
Further changes to reduce locking and switch to WAL journal mode for SQLiteAlso added dictionary with deleted files with dates to filter upload/download of deleted files.Should probably add a deletion check when commiting downloaded files
Minor fixes and preparing to move
Convert ActiveRecord update code to direct ADO calls to reduce locks
Changes for directoriesAdded copyright notices
Added directory object creation whenever a new directory is createdShowing the file property dialog box for directories
Simplified several functions by replacing task continuations with async/await
Replaced object load and update with direct HQL execution to resolve database locks, especially in StatusAgent.cs and FileState.csRemoved dead code in StatusAgent.cs
Removed Dataflow code
Changes to NHibernate/Activerecord storage code
Some warning fixes and change of some agents from a hand-coded Agent to Dataflow blocks
Now closing web request immediatelly after executing a request that has no content.Fixed content logging that improperly disposed the response stream in RestClient.cs
Fixed frequent timeout by always closing WebResponse objects
Fixed settings save that was disabled due to the addition of a Uri propertyRemoved "IsPithos" property from UI and classesUsing default token 0007 for feedback
Added wizard page
Tags, Permissions, Public for Files are working
Added Permissions, TagsChanged all task iterators to Async
Added Async CTP
First version of File Properties window. Works with random file
Changed folder structure
Renamed Others to others-sharedAdded account name to container infoNow creating Pithos and containers folders, except Trash
Merge branch 'master' of https://code.grnet.gr/git/pithos-ms-client
Renamed Fragments to Cache
Fix to current account behavior in Preferences/PreferencesView.xaml
Modified Upload to always use block uploading. Need cleanup of dead code
Fixes to Add/Remove accounts
Added usage and "Go To Site" menus per account
Fixed uploads of shared files. Added check for unauthorized additions to "others" folder
Added UI for SelectiveSynch
Tested multi-user and shared objects.
Added Agent locator to locate file agents for specific folders
Large changes to accomodate multiple users
Logging changes, first changes to multi account support
Added log4net for client profileRefactored to allow retrieval of shared objects
Multiple changes to enable delete detection, safer uploading
Checked to ensure exceptions occuring inside continuations are propagated
Added BlockUpdater.cs to perform block updates in a separate class. Will include TxF in a future versionSimplified agent loop code
Uploading and downloading with hashes
Synch fixes
Fixed ceiling calculation
Added treehash calculation
Refactored to agents