Urgent.News

What's breaking now, across thousands of outlets.

Tech

Offline-First Sync Failures That Flight Mode Won't Show You

* Clock skew, deletes that come back, duplicate entries on a flaky connection, and old databases: the tests I added after auditing my own Flutter app. * Short answer: Testing offline-first sync by switching on flight mode only tests the polite case: the network is either there or it isn't. The bugs that lose people's data come from messier conditions: a device with the wrong clock, a delete on…

The article discusses testing offline-first sync in a Flutter app called Mindleau, which is a local-first brain dump journal and mood tracker. The author discovered several issues that can lead to data loss or duplication under messy conditions, such as clock skew, conflicting edits, and flaky connections.

1. Device with an inaccurate clock: When two devices have different clocks, the last-write-wins (LWW) approach can overwrite edits made on one device with newer edits made on another device, potentially losing data.

2. Delete followed by edit: Deleting an entry on one device and editing the same entry on another device can result in the deleted entry reappearing after syncing, which is problematic for users who intentionally delete entries.

3. Multiple conflict copies: When two devices edit the same entry simultaneously, the app can create duplicate entries before applying the conflict resolution rule, leading to confusion and clutter in the user's history.

4. Flaky connections: Real-world connections can be unreliable, resulting in duplicate entries being created when a connection is briefly reestablished.

To address these issues, the author suggests several fixes, including using server timestamps for ordering remote writes, treating delete-versus-edit as a conflict, keeping both conflicting versions and allowing users to choose, and handling flaky connections by preventing duplicate entries from being created. These solutions help ensure the app's offline-first sync behaves more reliably and preserves user data.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

GraphQL for Beginners: Complete Guide with .NET

Introduction GraphQL is a query language for APIs and a runtime that executes those queries over a typed schema. Instead of always receiving a fixed representation of a resource, the client describes…

Choosing an On-Premises Ticket Management Tool: A Practitioner’s Guide

An on-premises ticket queue can become difficult to operate when requests arrive through different channels, ownership is unclear, or users have to ask for updates.

  • Choose tool based on specific work (ITSM, customer support, software issue tracking)
  • Verify intake, assignment, resolution workflow fits team
  • Evaluate operational ownership of tool (infrastructure, upgrades, support)

CVE-2026-106931 Observability Gaps on the Web Server Itself

CVE-2026-106931 Observability Gaps on the Web Server Itself Most vulnerability response advice points at the product. For CVE-2026-106931 the useful question points at the host, because the flaw…

  • SiteGuard Server Edition contains OS command injection flaw (CVE-2026-106931)
  • Vulnerability allows root or SYSTEM-level execution, CVSS scores 8.5 and 7.8
  • Host-level logging and telemetry needed to detect command execution

More from Monday 26 October →