TNCS-0020 – ChronoSync 4.5.0 Enhancements, Tweaks and Bug Fixes
Created: June 9, 2014
Table of Contents
ToggleINTRODUCTION
ChronoSync 4.5.0 has undergone significant development to bring an entirely new way to manage, save, and interact with your sync documents to your desktop. The “Document Organizer” is the new workspace for interacting with your sync documents. Additional features you will notice include full Notification Center integration and, for those using Retina Displays, full Retina artwork throughout.
While these may be the most visual new features of ChronoSync, other significant changes have been made behind the scenes as well. ChronoSync and the Background Scheduler are now full 64-bit applications built utilizing the latest development tools and frameworks available to Apple Developers. ChronoSync 4.5.0 also brings a new level of performance, noticeable when opening and saving large sync documents as well as when syncing files to and from ChronoAgent connections.
The lists below offer a glimpse into the extensive work done to bring the greatest yet ChronoSync to your Desktop!
ENHANCEMENTS
Overall Enhancements
- 64-Bit Application Architecture.
- Application-wide high resolution (‘Retina’) artwork.
- Significantly faster (2-3x) synchronizer document loads.
- Significantly faster (2-3x) synchronizer document saves.
- More efficient data encoding on ChronoAgent connections, resulting in increased performance.
- Added optional global license key registration so all user accounts can use ChronoSync without registering them separately.
- Added a “What’s New” entry in the “help” menu that links to the “What’s New” page on our website.
- Updated user manual and online help.
Document Organizer Enhancements
- All New Document Organizer.
- Single step document open & synchronize (from Document Organizer).
- Single step document open & trial synchronize (from Document Organizer).
- Synchronizer and Container document renaming (from Document Organizer and “File” menu).
- Synchronizer and Container document duplication (from Document Organizer and “File” menu).
- Synchronizer and Container document deletion (from Document Organizer and “File” menu).
- Creation and maintenance of the “ChronoSync Documents” folder where new synchronizer and container documents are created.
- Automatic archive purging when deleting or duplicating synchronizer documents.
Notification Center Integration
- Option to post synchronizer completion notifications via the system Notification Center.
- Option to post scheduled execution notifications via the system Notification Center.
- Synchronizer and container documents can be opened from the user notification they posted to the system Notification Center.
- Scheduled synchronization items can be selected from the user notification they posted to the system Notification Center.
- User notification settings are now displayed in the summary section of the Analysis Report.
Preferences Enhancements
- New application activation and launch behaviors that include ‘quiet’ launch or Document Organizer forced/auto display. (Found on the General Preference Pane.)
- Added connection timeout values to ChronoAgent and InterConneX connection profiles. (Found on the Connections Preference Pane when editing a Connection Profile.)
- Added command timeout values to ChronoAgent and InterConneX connection profiles. (Found on the Connections Preference Pane when editing a Connection Profile.)
- Added ‘accessed on WAN’ property to ChronoAgent and InterConneX connection profiles. This optimizes connection settings for low-bandwidth or high-latency connections and is best used when connecting to a ChronoAgent across the Internet. (Found on the Connections Preference Pane when editing a Connection Profile.)
- Automatically creates an initial set of file comparison helpers that will use the FileMerge utility to compare common source code document types. (Found on the Helpers Preference Pane and accessed when selecting a file pair on Analyze and choosing Actions->Compare.)
Synchronization and Scheduler Behavior Enhancements
- All new ‘Bootable Mirror’ sync operation. This creates a ‘clone’ of the source volume.
- Implemented automatic exclusion of ‘forbidden’ items at the root level of a volume. These are system files and folders that should not be copied when syncing an entire volume from the root folder.
- Implemented retry intervals for scheduled synchronizations with ‘Retry on Errors’ enabled. (Found on the Schedule Entry/Edit pane.)
- Implemented maximum retry attempts for scheduled synchronizations with ‘Retry on Errors’ enabled. (Found on the Schedule Entry/Edit pane.)
TWEAKS
Error Reporting and Handling Tweaks
- Now designates which target generated an error when reporting the error to the user.
- When errors are posted to the log, the target responsible for generating the error is also posted.
- Now displays the specific path where file system errors occur.
- Now displays more information about errors that occur within package files that are being copied.
- Now posts a log message if a file-pair is excluded during a Trial Sync operation (if verbose logging is enabled).
- Added post-error detection analysis to determine if the error was permission related and, if so, offers a suggestion to solve the problem.
- If synchronizer startup fails due to file manager connection or target verification failure, the error message is now included in the email notification summary string.
- Now posts a “Attribute Sync.:” message to the log when an attribute-only sync occurs.
- Implemented an activity indicator that is displayed when the log window is re-calculating display metrics.
- Improved the performance of the Log window when displaying a large number of entries.
- Improved the handling of program exceptions that may get raised when interacting with the file system (e.g. Analyze Panel) or running synchronizations.
- Improved error handling and recovery logic for numerous file system operations.
- When scanning the file system, ‘directory changed’ errors are no longer considered fatal.
- Improved error handling logic to account for reporting variations from different macOS versions.
User Interface Tweaks
- Reworked the layout of the General preferences pane to appear less congested in non-English languages.
- Minor user interface enhancements for path navigation buttons.
- Better icon display for files with unknown document types.
- Simplified the default toolbar icon set on synchronizer documents.
- Re-arranged the action icons at the upper left of the Scheduled Document manager window.
- Smoother animations of the disclosure triangles that expand/contract the user interface in the “Options” and “Trial Sync” panels.
- Reworked the animated disclosure of file/folder information on the “Analyze” panel to work better on Mavericks.
- Increased column width in the Connections Preference Pane so that more information is displayed.
- Altered the logic that color-codes entries in the user/group mapper. It now only displays entries in red if they are not mapped.
- In the Analyze Panel’s file/folder info area, the icon’s popup menu only enables “Open in Finder”, “Reveal in Finder” and “Get Info in Finder” if the file in question is locally readable.
- The ‘Connect’ function in the ‘Actions’ menu is now performed asynchronously when the selected target is connected via a ChronoAgent or InterConneX.
- Added real checkmarks to column headers rather than use the square-root symbol.
- Changed the terminology in the batch handling checkbox from “Ignore all additional conflicts by” to “Handle all additional conflicts by”.
- Implemented Core Animation-based transitions between panels (available only on macOS 10.9 and later.)
- Improved file icon display on the Analyze Panel.
- Updated registration behavior to remove redundant confirmations.
- Updated the demo mode behaviors to remove clutter and make the experience more intuitive.
Helpers Preference Pane Tweaks
- Reworked how file comparison helpers reference the comparison tool, allowing symbolic links to be specified.
- Multiple file extensions may be specified in file comparison helpers by providing a comma separated list of file extensions.
- All file extension matching logic in file comparison helpers has been modified to accommodate the possibility of multiple file extensions.
- The Helpers Preference Pane user interface was reworked to display more information about defned helpers.
Scheduler Tweaks
- Retries on scheduled item errors now take precedence over the ‘Run no more than …” limit.
- Now posts an entry to the scheduler log when the user manually invokes a scheduled item.
- Changed the scheduler startup & exit messages to indicate when ChronoSync is starting or exiting.
- The application preference for synchronous scheduling has been changed to OFF. This will only affect new installs.
- Changed the logic that adds scheduled items to the pending job queue. It now ALWAYS ignores requests to add a scheduled item to the queue if the scheduled item is already in the queue.
- Explicitly disables AppNap on the ChronoSyncBackgrounder.
- Whenever a scheduled sync completes and the list of recent syncs (found in the menubar icon menu) is updated, it now checks if any of those recent syncs required the flashing menubar icon. If none of the recent syncs required flashing (i.e. no errors), the flashing goes away.
Performance and Logic Tweaks
- Much better handling of lost target connections when the user is interacting with the user interface at the moment the connection is broken.
- Synchronizer documents that target a remote ChronoAgent will always attempt to reconnect to the agent if the document was open when the system awakes from sleep.
- Added a readiness test for remote ChronoAgents that may be running in demo mode.
- Improved security for SSL connections with ChronoAgent and InterConneX.
- Slightly more efficient socket communication with ChronoAgent and InterConneX targets.
- Improved caching of some frequently accessed configuration data on ChronoAgent connections.
- Improved diagnostic auditing when performing in-agent file copies.
- The Trial Sync selector sheet window now displays much faster when working with a large set of files to be displayed.
- The Trial Sync selector will now display an activity indicator if performing an initial calculation on a large set of files takes longer than one second.
- Improved trial sync progress values.
- When scanning the file system, added logic that detects anomalies that could signify file system corruption. When detected, synchronization is halted.
- Improved how case sensitive file systems are detected.
- Case sensitivity tests are now always performed with targets residing on file servers.
- Reduced the CPU overhead of the ChronoSyncBackgrounder when idle.
- Reduced the CPU overhead of file system observers installed by the Analyze Panel.
- Improved sync performance by no longer specifying ‘no-cache’ when writing blocks of data.
- The ChronoSyncBackgrounder now handles system clock and timezone changes better.
- Now keeps the system awake if performing a synchronization during a ‘dark wake’ cycle on 10.9+.
- Volume allocation block size is now only factored when comparing volumes if strict volume identification is ON.
- When moving files, the fall-back-to-copy because source and destination reside on different volumes now has better error checking/handling.
- If a move operation cannot be performed due to file system issues, a fall-back-to-copy occurs.
Increased effciency when applying mass selection changes for inclusion, exclusion, forced-synchronization and reset in the “Analyze” panel. - Optimized performance of compressing files when moving to the Archive.
Improved file copy and move retry logic. - Improved Hard-linked file and folder handling.
Other Notable Tweaks
- Reports a wider variety of file system types when displaying the file system employed on a particular target.
- Expanded the ‘forbidden’ item blacklist.
- Removed the ability to save to pre-4.0 file formats unless the document that was loaded is itself in a pre-4.0 format.
- The file system browser used to select folders on ChronoAgent or InterConneX connected targets now maps ‘:’ characters to ‘/’.
- Better localization in the online help.
- The installer now asserts proper permissions on required folders that may already exist but have had their permissions altered.
- Eliminated all runtime logic that only executes on pre-10.5 systems.
BUG FIXES
- Fixed a bug where Portuguese (Portugal) and Portuguese (Brazil) localizations were not being reliably displayed.
- Fixed a bug in the logic used to determine if a volume supports HFS compression.
- Fixed a bug that could result in Analyze Panel live updates stopping.
- Corrected several instances where invalid thread locks were being used. Could result in random deadlocks or crashes.
- The state of some user interface elements was not being properly encoded in saved synchronizer and container documents.
- Fixed a bug in the logic that determines when an exclusion message should get posted to the synchronizer’s log.
- Fixed a bug in the initial user/group mapping construction (for ChronoAgent connections) whereby the server group ID should have been used when there was no local group ID mapping defined.
- The /dev folder is now marked invisible after a bootable synchronization.
- Fixed a bug in the file system browser used to select folders on ChronoAgent or InterConneX connected targets whereby the establishment of the initial directory based on the target’s path was failing.
- Fixed a bug whereby if TrialSync was invoked on a synchronizer document that was still in the process of connecting to one of it’s targets, it would ultimately perform a standard synchronization once the connection was made.
- If moving a file containing a resource fork to the archive with ZIP compression enabled, the resource fork would not be encoded in the ZIP archive.
- Fixed a bug in when restoring a ZIP compressed file from the archive if the file had restrictive permissions (e.g. read-only) – some of it’s metadata could fail to be applied to the extracted file.
- Fixed a bug that would fail to set metadata if the destination file had either super-user BSD fag (sappend or schange) set.
- Fixed bugs in the row height calculation of several table controls whereby the size of the system font was being assumed.
- Some tooltips in the Scheduler Preference Pane for options that require 10.7 or newer were showing “TOOL_TIP_LION_ONLY” key instead of a localized string.
- In the Helpers Preference Pane, the contents of the “Application:” column was not drawn using the alternate control text color (white) when selected.
- In the Helpers Preference Pane, invoking “Browse” would not default to the folder containing a previously specified helper application.
- Fixed a bug whereby if multiple ChronoSync documents were opened simultaneously, they would appear cascaded and not in their last saved positions.
- In the Connection Profile Editor, fixed a bug on the ‘General’ panel whereby the ‘Test’ button was still enabled during a test if connecting to an ICX sharespace with guest access.
- In the Connection Profile Editor, fixed a bug on the ‘General’ panel whereby changes to credentials or selected agent would not disable the OK button if editing an existing profile that initially passes verification.
- In the Connection Profile Editor, fixed a bug on the ‘Mappings’ panel whereby the left column in each mapping table had entries that were editable.
- In the Connection Profile Editor, fixed a memory leak that occurred every time the user/group mapper editor was invoked.
- Fixed bugs in the logic that calculates the next sync run date. Certain combinations of “Run no more than…” and “Retry on Errors” was causing it to fail.
- Fixed a bug whereby if a hard link creation was used in place of a file copy, the size of the file was still being included in the sync stats.
- Fixed a bug whereby hard links created on a destination to replace existing files would not result in the existing file being moved to the archive (if so configured).
- Numerous grammar & terminology errors in user interface elements.
- Removed several graphics from the application bundle that were no longer being used.
REVISION HISTORY
- June-9-2014 – Created from Internal Support Notes.