Local Save First (LSF): Enhancing Operations and Multi-User Reliability

Overview

Local Save First (LSF) is a new save mechanism introduced to resolve issues related to Git push operations, concurrent user activity, data loss, and performance degradation during artifact saves.

Instead of directly performing Git operations during a save action, the system now:

  • Saves the artifact locally first.

  • Pushes the Git operation to a background queue.

  • Processes Git operations sequentially from the queue.

This ensures improved stability, performance, and multi-user reliability.

Key Benefits

  • Eliminates commit gaps

  • Prevents reference mismatches

  • Avoids concurrent Git conflicts

  • Reduces data loss risk

  • Improves save performance

  • Provides clear UI indicators (Lock + Refresh Red Dot)

  • Ensures consistent multi-user experience

  • Protects repository integrity during application close or project switch

Core Mechanisms

LSF is built on two primary mechanisms:

Queue-Based Git Operations

  • All save operations are processed sequentially.

  • Parallel Git operations are not allowed.

  • This prevents overlapping pushes and conflict scenarios.

Version-Based Locking

  • Each artifact is temporarily locked after a save.

  • The lock ensures that concurrent modifications do not occur.

  • Lock is automatically released after successful synchronization.

Save Flow – Step-by-Step

When a user saves an artifact:

  1. The artifact is saved locally on the user’s machine.

  2. The artifact enters a locked state.

  3. The save operation is scheduled for background processing.

  4. The user can continue working without waiting.

  5. Once synchronization completes:

    • The lock is released.

    • Changes become visible to other users.

Locking & UI Indicators

Lock Icon

  • Appears on artifacts that are temporarily locked.

  • Other users can view but cannot edit or delete the artifact.

    image-20260225-075253.png

Refresh Red Dot Indicator

After synchronization:

  • Other users will see a red dot on the Refresh button.

    image-20260225-075049.png
  • This indicates that new changes are available.

  • Upon clicking Refresh:

    • The latest updates are loaded.

    • The artifact becomes editable (if not locked again).

Artifact Coverage

The LSF locking mechanism applies to all major artifacts in Qualitia, including:

  • Scenario

  • Test Case

  • Task

  • Object

  • Custom Action

  • Suite

  • Execution Profile

  • Publish

  • Environment Variable

  • REST Header

  • SFDC Import

  • SFDC Recorder

  • SFDC Task

  • SFDC Change Management

This ensures consistent behavior across the entire platform.

Background Sync & Application Exit

If synchronization is still in progress and the user attempts to:

  • Close Qualitia

  • Switch projects

A popup notification appears.

0daf9d8a-0094-41df-abd5-8ac89da00d22.png

User Options:

Option 1: Continue Working

  • Close the popup.

  • Remain in the current project.

Option 2: Wait for Completion

  • Wait until synchronization finishes.

  • The application closes or switches safely.

This prevents incomplete operations and protects repository integrity.

LSF significantly improves stability, reduces concurrency-related failures, and delivers a seamless user experience across all artifact types in Qualitia.