Problems with sync (getting headers)

I’m encountering an issue where sync works fine with empty tables but fails when trying to sync rows containing data. The error message suggests a WiFi/Gateway configuration problem:

SyncProgressTracker: FINAL SYNC Notification -default TEXT:WiFi Gateway or Configuration Error

There’s a specific error indicates a missing header which from the source code seems like it might result in this error message (which is related to the “not open data kit server”):

ProcessRowDataPushLocalChanges: Exception in synchronizeTable - pushing data up to server on table: SCAR 
exception: Response is missing required header: X-OpenDataKit-Version

org.opendatakit.services.sync.service.exceptions.NotOpenDataKitServerException: Response is missing required header: X-OpenDataKit-Version

I’ve done some investigation:

  1. I can verify the headers are present using curl requests (using the full url)
  2. The manifest etags have been verified
  3. Initially suspected a problem with the aggregate URI due to truncated logs, but believe this is just normal log truncation:
HttpRestProtocolWrapper: buildBasicRequest: agg_uri is https://eqm.bandim.sdu.dk/odktables/default/tables/SCAR/ref/uuid:b204a908-7c03-429b-8809-be88f5...

Has anyone encountered similar issues or can suggest what might be causing the missing X-OpenDataKit-Version header specifically when syncing tables containing data?

Any help would be appreciated!


Screenshot of the error (This is from a waydroid emulator, but the same problem with the same logs occur on a physical device)