a240c4531a
Other: Bump max update and batch size to 256 MiB / 256 respectively
2022-11-19 16:06:25 +01:00
1e48ab4b9c
GODT-2047: Clear last event ID when clearing sync status
2022-11-17 13:18:47 +00:00
48cf89b1a6
Other: Use cached labels for label sync rather than refetch
2022-11-16 13:48:31 +01:00
739fe826b3
GODT-2048: Add missing special use attributes
2022-11-16 13:48:30 +01:00
c548ba85fe
Other: Add more extensive logging
2022-11-16 13:48:30 +01:00
bc7912e8fb
GODT-2022: Fix change between address modes
2022-11-16 13:48:30 +01:00
99745ac067
Other: Switch to faster message IDs route
...
The new API route lets us query exactly which message IDs a user has,
allowing us to begin syncing much faster than before.
2022-11-16 13:48:30 +01:00
3c4e8730ac
Other: Read sync workers setting from vault
2022-11-16 13:48:30 +01:00
d4da325e57
Other(refactor): Sort safe.Mutex types before locking to prevent deadlocks
...
This change implements safe.Mutex and safe.RWMutex, which wrap the
sync.Mutex and sync.RWMutex types and are assigned a globally unique
integer ID. The safe.Lock and safe.RLock methods sort the mutexes
by this integer ID before locking to ensure that locks for a given
set of mutexes are always performed in the same order, avoiding
deadlocks.
2022-11-16 13:48:30 +01:00
fd80848fcd
Other(refactor): Use normal value + mutex for user.updateCh
2022-11-16 13:48:30 +01:00
0bc99dbd4f
Other(refactor): Use normal value + mutex for user.apiAddrs
2022-11-16 13:48:30 +01:00
828385b049
Other: Fix user sync leaks/race conditions
...
This fixes various race conditions and leaks related to the user's sync
and API event stream. It was possible for a sync/stream to begin after a
user was already closed; this change prevents that by managing the
goroutines related to sync/stream within cancellable groups.
2022-11-16 13:48:30 +01:00
81f4ef609b
Other: Mitigate double-unlock of user keyring
...
We need to unlock the user keyring anyway to unlock the address keyring,
so we should just return it instead of re-unlocking the user keyring
when sending a message.
2022-11-16 13:48:30 +01:00
1729c085c7
Other: Fix user logout hangs due to sync
2022-11-16 12:26:09 +01:00
bf29090ffa
Other: Fix log message, rename test fixture
2022-11-16 12:26:09 +01:00
ca132881f9
Other: Update Gluon to v0.13.0
2022-11-16 12:26:09 +01:00
7c62312220
Other: Fix all linter errors
2022-11-16 12:26:09 +01:00
b36972ce71
GODT-1650: Implement Connector.CreateMessage
2022-11-16 12:26:09 +01:00
e10cd2a3ed
GODT-1901: Allow to set IMAP SSL from UI
2022-11-16 12:26:09 +01:00
fd63611b41
Other: Safer user types
2022-11-16 12:26:09 +01:00
da1ee99c53
Other: Fix send with plus address
2022-11-16 12:26:09 +01:00
03e14154a6
Other: Bump gluon version
2022-11-16 12:26:09 +01:00
509a767e50
GODT-1657: More stable sync, with some tests
2022-11-16 12:26:09 +01:00
9d69a2e565
GODT-1657: Stable sync (still needs more tests)
2022-11-16 12:26:09 +01:00
0f9a9a377b
GODT-1650: Bump liteapi to v0.31.1
2022-11-16 12:26:09 +01:00
e9672e6bba
GODT-1815: Combined/Split mode
2022-11-16 12:26:08 +01:00
9670e29d9f
GODT-1815: Start with missing gluon files
2022-11-16 12:26:08 +01:00
1da1188351
GODT-1815: Upgrade to liteapi v0.31.0
2022-11-16 12:26:08 +01:00
39433fe707
GODT-1779: Remove go-imap
2022-11-16 12:26:08 +01:00