From b43fb05ea1beef34b8c86d23fc4483ab08c3799e Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Sat, 5 Sep 2026 21:42:21 +0200 Subject: [PATCH] fix(setup): report why DeviceInfo.xml could not be read The GetExactDeviceInfo error was discarded and every failure reported as "DeviceInfo.xml is not persisted", so a malformed file or an I/O error was diagnosed as a missing sync and the user was told to run Data Sync, which is the wrong remedy for either. Include the cause, as the neighbouring branches already do. Co-Authored-By: Claude Opus 5 (1M context) --- pkg/service/setup/migration_readiness.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/service/setup/migration_readiness.go b/pkg/service/setup/migration_readiness.go index cc7cb405..cebf8e19 100644 --- a/pkg/service/setup/migration_readiness.go +++ b/pkg/service/setup/migration_readiness.go @@ -75,7 +75,9 @@ func (m *Manager) checkMigrationDataReady(deviceIP string) ([]string, error) { persistedInfo, err := m.DataStore.GetExactDeviceInfo(accountID, deviceID) if err != nil { - return nil, migrationDataNotReadyf("DeviceInfo.xml is not persisted under account %q and device %q", accountID, deviceID) + // Report the cause: a malformed file or an I/O error is not a missing + // sync, and Data Sync is then the wrong remedy to suggest. + return nil, migrationDataNotReadyf("cannot read DeviceInfo.xml under account %q and device %q: %v", accountID, deviceID, err) } if persistedInfo.DeviceID != deviceID {