Currently, QField users can only check synchronization state (all changes pushed/applied, pending local edits, conflicts) through the Synchronization panel.
However, this status is not exposed to QGIS expressions, meaning we cannot use it to conditionally control forms, actions or attributes.
Feature request :
Add a project variable (for example @qfield_sync_status) accessible in QGIS expression engine inside QField.
This variable could return values such as :
"synchronized" → all changes sent and applied,
"pending_local_changes" → local edits not yet pushed,
"sync_error" → failed synchronization,
"offline" → no connection available.
Use case:
  • Printing possible only after synchronization
  • Symbology depending on whether or not entities are synchronized