mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-11 18:47:51 +08:00
c6f371aa0f
Summary: syncState on folders may contain arbitrarily long arrays of UIDs (particularly, failedUIDs). If we serialize this JSON column to edgehill.db, we can end up serializing very large objects when persisting the local task queue. When the queue contains many tasks, this can balloon the JSON blob to megabytes, causing the main window and the worker window to become unresponsive. The UI doesn't need to know about IMAP bookkeeping internals, so serialize the sync progress instead of the sync state. This has the advantages that (1) we don't need to worry about future keys added to the syncState being large and (2) when we add Exchange support we already have an abstraction for sync progress. Test Plan: manual Reviewers: juan, mark, halla Reviewed By: halla Differential Revision: https://phab.nylas.com/D3817 |
||
---|---|---|
.. | ||
isomorphic-core | ||
local-private | ||
local-sync |