Version 38.0 - Release Notes

Moovila Version 38.0 was released on February 28, 2025, at 9pm EST.



The following updates are available in this release: 

  • ConnectWise Sync Refactor: This release contains several key updates that enable Moovila to more reliably sync with ConnectWise PSA. The highlights are:
    • A refactoring of the sync architecture such that it aligns with the updated requirements of the ConnectWise API. The architecture of the sync has shifted from being an asynchronous process to be a synchronous process. This refactor sets the foundation for allowing us to:
      • Move phases in a specific, synchronous order utilizing the CW WBS Code as now required by their API to prevent the “dictionary” error. This allows the CW API to avoid misprocessing requests sent potentially out-of-order and for us to manage the order of calls that are dependent upon one another.
      • Reduce the number of race condition-based exceptions and duplicates because of asynchronous processing. Race conditions lead to issues like duplicate records or multiple requests being sent to CW API when only one was intended.
        • Project Sync Process – Race Condition Example:
          • Two tasks are sent to Moovila from CW API, both assigned to the same user, but the user doesn’t yet exist in Moovila.

            • Before This Release: A race condition could occur where both tasks processing requests attempt to create the user at the same time because both checked the Moovila Users data collection to see if it already existed and neither saw the record. 

              This was possible because we were splitting the project's sync work across multiple containers/workers to process elements in parallel.

            • After the Refactor: A project's full sync process is managed within a single container/worker, the first task’s processing, including its user creation, would all occur before the second task started.

              This won’t remove all race conditions, but it should drastically reduce the possibility of them occurring.

      • Allow the syncing of the order of tasks and phases within a phase. (Coming soon!)
    • Enhanced management of users on tasks in Moovila when the users are not intended to be synced to ConnectWise.
    • Option to prevent CW auto-created schedule records from being synced to Moovila when they are without dates or hours.

  • An Enhanced Project Sync Process – Sync Modes (Learn more about Sync Modes in the Sync Process Details article):
    • A “project sync” bi-directionally syncs the project across CW and Moovila
    • Each project sync process will be governed by when it is “eligible” to sync.
    • There are two “modes” of syncing:
      Mode Description Eligibility Frequency Notes
      Delta Based on what has changed since the last sync, only sync those project elements Most frequent is 10 minutes apart If a task, note, or schedule entry is deleted in CW, that deletion will not be synced to Moovila during a Delta sync.
      Comprehensive  Pull a full listing of all project elements from both sides and reconcile Every 4 hours This allows for us to catch up on deleted tasks, notes, schedule and schedule entries. Also, any changes in CW which didn’t fire webhooks will be reconciled during this time.
    • A trigger for a sync could be:
      • User manually requesting a sync from Moovila’s ConnectWise Integration configuration dialogue.
      • Change in a synced project within Moovila.
      • Change in synced project within ConnectWise that causes a webhook to be sent.
      • A Comprehensive sync becoming eligible for its 4-hour cycle.
  • Project Sync Statuses (Learn more about Project Sync Statuses in the Sync Process Details article) : To give more insight into the state of a project syncing, information about the sync status and the last sync's timing has been added into the Project Sync dialogue information. This additional detail includes:
      • Sync Statuses: 
        • Idle: The sync is not processing and no trigger is outstanding waiting to be processed. This is the only time when the manual sync button is enabled.
        • Requested: A trigger has occurred, but we are waiting on the next eligible sync time
        • In Queue: A sync request is eligible and in line to be processed
        • Syncing: The sync is actively occurring
      • Last Delta Sync
      • Last Comprehensive Sync
      • Last Sync Completed (the later of the two above dates)

Learn more about Monitoring and Managing Project Sync here
Learn more about Project Sync Modes and Statuses here

 

Minor Releases and Hotfixes:

  • 3/3/2025 (Hotfix): ConnectWise sync logic updates.
  • 3/4/2025: This resolves a sync issue with Actions when a time log is entered through the timesheet in Halo.
  • 3/4/2025 (Hotfix): This hotfix addressed a kafka issue with user syncs. 
  • 3/5/2025 (Hotfix): This hotfix updates the link to the Zendesk help article for the ConnectWise project sync dialogue and improves ConnectWise sync error handling. 
  • 3/6/2025 (Hotfix): This hotfix resolved the following: sync issues with Autotask, an issue wherein tasks were being deleted in the second sync after a ConnectWise project had been imported, and added total billable hours to task search results.
  • 3/12/2025 (Hotfix): This hotfix addressed an issue within the ConnectWise integration that resulted in the recreation of deleted phases if a new task was added to a deleted phase in ConnectWise. Additionally, it resolves a unit conversion issue with work estimates on tasks when they were updated in Moovila, where an incorrect unit was sending to ConnectWise. It also resolves an issue that was causing the reprocessing of deleted tasks, resulting in a slow-down of the sync. 
  • 3/13/2025 (Hotfix): Phases will no longer be recreated if they are deleted in Moovila and a task was added in ConnectWise. This situation will instead cause an error, alerting users of the issue. 
  • 3/14/2025 (Back-end Release): This back-end release includes the following:
    • Performances update to user and deal calls.
    • Resolution of an issue in which projects were not being marked as "is complete" on projects saved from outside systems.
    • Internal updates to task history audit logs.
    • Removal of unrequired logic in budget code.
  • 3/17/2025 (Hotfix): This hotfix adds infrastructure instrumentation to help with further troubleshooting. It also implements a "deletes win" metaphor. This works slightly differently if the phase was deleted in Moovila vs. ConnectWise (CW) and works as follows:
    • If a phase is deleted in Moovila and the same phase has a task added in CW, after the next sync the phase will stay deleted in Moovila, but CW will keep the phase and the newly added task.
    • If a phase is deleted in CW and the same phase has a task added in Moovila, after the next sync the phase will stay deleted in CW and Moovila. The task that was added in Moovila will also be deleted. This will write a new user-facing log: “There was a conflict between the deletion of a phase in ConnectWise and the addition of tasks to that phase in Moovila. The phase and its tasks were removed from Moovila.”
  • 3/18/2025 (Hotfix): This hotfix provides additional instrumentation changes to evaluate ConnectWise performance issues.
  • 3/21/25: The following updates were made in this minor release:
  • ConnectWise Auto-Disable Lag Day Configuration
  • ConnectWise- Additional User Facing Log messages
  • Internal logging enhancements
  • 3/25/25: This release includes performance enhancements to the ConnectWise integration.
  • 3/26/25 (Hotfix): This hotfix runs a sync on any project before it is auto-disabled so that the most current information is captured before the project stops syncing. 
  • 3/28/25: This release adds the ability for ConnectWise integration users to run an immediate sync via the "Sync Now" button. For AutoTask integration users, an update was made so that time entries are no longer split across UTC midnight. This requires the AT system setting"Allow users to create time entries that cross midnight to be enabled. Without this setting enabled, time entries that span UTC midnight will be rejected by AT.
  • 4/3/25 (Hotfix): This release resolved an issue wherein ConnectWise syncs were getting stuck in an "In Queue" status.
  • 4/4/25: This minor release contained bug fixes and a performance enhancement.

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.