From the WS-B1 (#281) review. After the surrogate-id migration, legacy rows keep their old id + remote_id='imap-uid-N' + uid_validity=''; on the next re-sync the same message gets a new identity tuple -> a new surrogate id -> a second row, orphaning the legacy one (never reaped). Not data loss, not a collision (confirmed), acceptable for pre-alpha. Fix options: drop+rebuild the messages table on the identity migration (cleanest, pre-alpha data is disposable), or reap rows whose id still has the imap-uid- shape after a full re-sync, or document it. Low priority. Source: #337 review Minor #1.
From the WS-B1 (#281) review. After the surrogate-id migration, legacy rows keep their old id + remote_id='imap-uid-N' + uid_validity=''; on the next re-sync the same message gets a new identity tuple -> a new surrogate id -> a second row, orphaning the legacy one (never reaped). Not data loss, not a collision (confirmed), acceptable for pre-alpha. Fix options: drop+rebuild the messages table on the identity migration (cleanest, pre-alpha data is disposable), or reap rows whose id still has the imap-uid- shape after a full re-sync, or document it. Low priority. Source: #337 review Minor #1.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
From the WS-B1 (#281) review. After the surrogate-id migration, legacy rows keep their old id + remote_id='imap-uid-N' + uid_validity=''; on the next re-sync the same message gets a new identity tuple -> a new surrogate id -> a second row, orphaning the legacy one (never reaped). Not data loss, not a collision (confirmed), acceptable for pre-alpha. Fix options: drop+rebuild the messages table on the identity migration (cleanest, pre-alpha data is disposable), or reap rows whose id still has the imap-uid- shape after a full re-sync, or document it. Low priority. Source: #337 review Minor #1.