Skip to content

Sync gets permanently blocked when mobile edits a feature deleted+synced by QGIS plugin (GEODIFF CONFLICT delete_nothing) #4363

@RastoHu

Description

@RastoHu

Description
When QGIS plugin client and mobile client start from the same project version, then the plugin deletes a feature and syncs, and afterwards the mobile client edits that same (already deleted) feature and tries to sync, the sync becomes permanently blocked (project can’t be synced on mobile anymore).

This reproduces on PROD server.

Environment
PROD

Application (+ app version, build, operating system)

  • QGIS version: 3.44.7-Solothurn
  • Plugin version: 2026.2.1
  • iOS app version/build: 26.3.870211
  • iOS version: iOS 26.3

Steps to reproduce

  1. Ensure QGIS plugin client and mobile client are on the same initial project version (no pending changes).
  2. In QGIS (plugin), delete a feature in a layer (example from error: polygon_layer) and sync to server.
  3. On mobile, open/edit the same feature that has already been deleted by the plugin.
  4. Save the edit on mobile.
  5. Tap Sync in mobile.

Actual results

  • Mobile app shows “Failed to synchronise your changes”.
  • Sync fails with a GEODIFF conflict and never recovers; further sync attempts keep failing and the project remains stuck on the device.

Error details (from iOS dialog):

  • Failed to create new version: polygon_layer.gpkg error=sync error: project test onboarding/test_v2_pull
  • GEODIFF WARNING: CONFLICT: delete_nothing
  • GEODIFF ERROR: Conflicts encountered while applying changes! Total 1
  • Conflict snippet includes: table: "polygon_layer", type: "delete"

Expected results

  • Mobile should prevent editing a feature that was deleted on the server (or warn “feature no longer exists” and discard/rollback the local edit).
  • Even if such an edit happens, sync must recover (e.g., drop invalid change / present resolution) and must not permanently block syncing.

Screenshots or logs

  • iOS sync error dialog showing GEODIFF WARNING: CONFLICT: delete_nothing and GEODIFF ERROR: Conflicts encountered while applying changes! Total 1.

Conclusion
Created by GitHub Copilot and supervised by a human test analyst.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions