DecksMD
← All releases

DecksMD 1.11.1

Released 22 May 2026

Changes

Fix: stuck sync between devices when the same tag was mapped to a profile on both

  • If two devices independently applied a profile to the same tag (each generating its own internal mapping id), syncing one device's log into the other would hit a UNIQUE constraint failed: profile_tag_mappings.tag error inside the tag_mapping_upsert handler. The handler threw before the dispatcher could advance journal_state, so the same op was retried on every subsequent sync — permanently blocking the source device. All later session/rate ops behind it were stalled too.
  • The handler now resolves the tag conflict atomically with a newer-wins check: if the incoming mapping is newer than the local one, it replaces it; otherwise the local mapping is kept. Either way the op is consumed and sync moves forward.
  • After updating, your iOS (or other previously-stuck) device will resume syncing on the next pass and drain its backlog of reviews/sessions automatically.

Also on GitHub.