Problem
On 2026-10-05, saved app configuration and the connection list reportedly appeared empty on iPad immediately after opening T3 Code, shortly after 15:58 UTC. The exact UTC minute and installed app/update identity were not captured. Not verified on the physical iPad.
What the code shows
In apps/mobile/src/connection/catalog-store.ts, if the primary t3code.connection-catalog.v1 value exists but fails JSON/schema decoding, the loader logs that it is discarding the catalog, deletes the saved value, then tries legacy storage. If legacy storage is absent, it returns an empty catalog. The catalog contains saved connection targets and related local configuration.
Likely trigger
Not yet known. The iOS production OTA published at 2026-10-05 15:58 UTC (update ID 01a10cc9-e74a-702c-a572-813869e0dff5, source commit 68802a48f9a8f7f7db5ca4d605bdc818be62a804) is temporally close. That commit changed the environment routes UI and did not change catalog persistence; timing alone does not establish it as the cause. No physical-device trace confirms the decode failure path ran.
Proposed fixes
- Preserve the primary and legacy catalog values when decoding fails; surface a recoverable error instead of deleting saved configuration.
- Add focused regression coverage proving corrupt or incompatible data remains available for recovery.
- Add sanitized diagnostics for the decode failure and app/update identity without recording catalog contents or credentials.
Diagnostic for next time
Capture the catalog load phase and sanitized decode error, plus app version, runtime version, and update ID. Do not include raw local storage values.
Related
Production mobile workflow · iOS Expo update
Severity: High (potential loss of saved local configuration).
Problem
On 2026-10-05, saved app configuration and the connection list reportedly appeared empty on iPad immediately after opening T3 Code, shortly after 15:58 UTC. The exact UTC minute and installed app/update identity were not captured. Not verified on the physical iPad.
What the code shows
In
apps/mobile/src/connection/catalog-store.ts, if the primaryt3code.connection-catalog.v1value exists but fails JSON/schema decoding, the loader logs that it is discarding the catalog, deletes the saved value, then tries legacy storage. If legacy storage is absent, it returns an empty catalog. The catalog contains saved connection targets and related local configuration.Likely trigger
Not yet known. The iOS production OTA published at 2026-10-05 15:58 UTC (update ID
01a10cc9-e74a-702c-a572-813869e0dff5, source commit68802a48f9a8f7f7db5ca4d605bdc818be62a804) is temporally close. That commit changed the environment routes UI and did not change catalog persistence; timing alone does not establish it as the cause. No physical-device trace confirms the decode failure path ran.Proposed fixes
Diagnostic for next time
Capture the catalog load phase and sanitized decode error, plus app version, runtime version, and update ID. Do not include raw local storage values.
Related
Production mobile workflow · iOS Expo update
Severity: High (potential loss of saved local configuration).