Romain Le Jeune
ee4da8a89c
GODT-2291: Change gluon store default location from Cache to Data.
2023-01-24 13:35:45 +00:00
James Houlahan
c8925cd270
GODT-2223(test): Assert that bad request errors lead to user logout
2023-01-18 14:10:23 +00:00
James Houlahan
03c8c323bc
GODT-2251: Store gluon cache in user cache rather than user data
2023-01-16 16:27:41 +01:00
Romain Le Jeune
0580842ad2
GODT-2229: Own the full path for gluon and do not change Database path.
2023-01-12 13:23:09 +00:00
Jakub
715efaa087
Revert "GODT-2229: Allow changing cache folder to a non-empty folder."
...
This reverts commit b19e16e4b8
.
2023-01-11 10:19:38 +01:00
Romain Le Jeune
b19e16e4b8
GODT-2229: Allow changing cache folder to a non-empty folder.
2023-01-10 16:40:52 +00:00
Romain Le Jeune
3743e45566
GODT-2221: Set DOH off by default.
2023-01-04 12:08:06 +00:00
Leander Beernaert
6d0a128111
Other: Update copyright year
2023-01-02 11:09:11 +01:00
James Houlahan
1aca2cde71
GODT-2181(test): Refactor integration test setup a bit
2022-12-13 10:28:59 +01:00
Leander Beernaert
6ac8a4c0bc
GODT-2160: Ensure we can safely move cache file
...
It's currently impossible to wait until all SQLite write finish to disk.
This is not guaranteed when closing the ent DB client.
The existing code to move the cache handles the case where the
new location is on a new drive. However, due to the above issue this can
now lead to database corruption.
To avoid database corruption we now use the `os.Rename` function and
prevent moving the cache between drives until a better solution can be
implemented.
2022-11-29 16:33:53 +01:00
James Houlahan
e71e56f7fe
Other: Ensure context is string in sentry reports
2022-11-29 14:58:29 +00:00
James Houlahan
9f64e8a6fa
Other: Wipe vault properly on factory reset
...
Deleting the file isn't enough because it's still held in memory
and is written back to disk on the next write (SetLastVersion during
bridge teardown).
2022-11-29 09:59:30 +01:00
Leander Beernaert
1c374b59d3
GODT-2160: Prevent double closing of bridge if restart fails
...
Set imapServer instance to nil once the server is no longer running to
prevent multiple calls to close on shutdown.
2022-11-29 08:38:21 +01:00
James Houlahan
ae7ae2886f
GODT-2041: Crash after factory reset
...
I forgot to remove the user from the users map during factory reset.
This meant the (deleted) would attempt to be closed during teardown.
2022-11-28 19:58:10 +01:00
James Houlahan
e601245f01
Other(chore): Bump major version to v3
2022-11-23 16:08:27 +01:00
James Houlahan
ad1fb47b0d
Other: Switch from liteapi to go-proton-api
2022-11-23 15:17:56 +01:00
James Houlahan
57e9310510
Other: Use API call rather than server-specific method in test code
2022-11-22 16:01:01 +01:00
Xavier Michelon
e087a7972e
GODT-2003: introduces 3 phases user state (SignedOut/Locked/Connected)
...
WIP: introduced UserState enum in GUI and implemented logic.
2022-11-16 16:24:55 +01:00
Jakub
ae87d7b236
GODT-1913: pass reporter to gluon, limit restarts, add crash handlers.
2022-11-16 13:48:31 +01:00
James Houlahan
59278913ca
GODT-2037: Handle and log API refresh event
2022-11-16 13:48:31 +01:00
James Houlahan
d093488522
GODT-1978: Auto-updates
2022-11-16 13:48:30 +01:00
James Houlahan
d066e32719
GODT-1986: Handle case where an address has no decryption entities
...
It's possible (but very rare, I don't think proton still allows it)
for an address to have no keys. If we try to load the address keyring
for such an address, this change logs a warning that no decryption
entities were found in the unlocked keyring.
It bumps liteapi to a version that does not return an error when no
keys could be unlocked.
2022-11-16 13:48:30 +01:00
James Houlahan
5a4f733518
Other(refactor): Remove unused safe types
2022-11-16 13:48:30 +01:00
James Houlahan
8749d5dc7d
Other(refactor): Remove always-nil return value of (*Bridge).Close
2022-11-16 13:48:30 +01:00
James Houlahan
5adbf74cbe
Other(test): Ensure calls are protected by mutex
2022-11-16 13:48:30 +01:00
James Houlahan
6fbf6d90dc
Other: Fix IMAP/SMTP/Login leaks/race conditions
...
Depending on the timing of bridge closure, it was possible for the
IMAP/SMTP servers to not have started serving yet. By grouping this in
a cancelable goroutine group (*xsync.Group), we mitigate this issue.
Further, depending on internet disconnection timing during user login,
it was possible for a user to be improperly logged in. This change
fixes this and adds test coverage for it.
Lastly, depending on timing, certain background tasks (updates check,
connectivity ping) could be improperly started or closed. This change
groups them in the *xsync.Group as well to be closed properly.
2022-11-16 13:48:30 +01:00
James Houlahan
c4343e0124
Other: Bump liteapi and clean up tests a bit
2022-11-16 13:48:30 +01:00
James Houlahan
bf29090ffa
Other: Fix log message, rename test fixture
2022-11-16 12:26:09 +01:00
Leander Beernaert
7c62312220
Other: Fix all linter errors
2022-11-16 12:26:09 +01:00
Leander Beernaert
e10cd2a3ed
GODT-1901: Allow to set IMAP SSL from UI
2022-11-16 12:26:09 +01:00
James Houlahan
fd63611b41
Other: Safer user types
2022-11-16 12:26:09 +01:00
James Houlahan
2450511555
Other: Put back split login process in backend
2022-11-16 12:26:09 +01:00
James Houlahan
1c922ca083
Other: Fix flaky cookies test
2022-11-16 12:26:09 +01:00
James Houlahan
14a578f319
Other: Linter fixes after bumping linter version
2022-11-16 12:26:09 +01:00
James Houlahan
0de30afba1
Other: Better cookies test
2022-11-16 12:26:09 +01:00
Leander Beernaert
f01c70e506
GODT-1816: Connect Gluon Logs to bridge Logs
...
Ensure the IMAP commands and SMTP commands are logged to trace channels
with an entry so they are recognizable as before.
2022-11-16 12:26:09 +01:00
James Houlahan
509a767e50
GODT-1657: More stable sync, with some tests
2022-11-16 12:26:09 +01:00
James Houlahan
9d69a2e565
GODT-1657: Stable sync (still needs more tests)
2022-11-16 12:26:09 +01:00
James Houlahan
cce372fc50
GODT-1650: Test of end-to-end send with attachments (internal)
2022-11-16 12:26:09 +01:00
James Houlahan
ba9368426c
GODT-1650: Send extras
2022-11-16 12:26:09 +01:00
Romain LE JEUNE
b536b8707e
GODT-1609: use byte array for password
2022-11-16 12:26:09 +01:00
James Houlahan
e9672e6bba
GODT-1815: Combined/Split mode
2022-11-16 12:26:08 +01:00
James Houlahan
9670e29d9f
GODT-1815: Start with missing gluon files
2022-11-16 12:26:08 +01:00
James Houlahan
612fb7ad7b
GODT-1815: Start without internet, load users later
2022-11-16 12:26:08 +01:00
James Houlahan
39433fe707
GODT-1779: Remove go-imap
2022-11-16 12:26:08 +01:00
Michal Horejsek
4d2baa6b85
Renamed bridge to general users and keep bridge only for bridge stuff
2020-05-25 09:02:34 +02:00
James Houlahan
522cadb8b1
refactor: dedicated constants package, no explicit bridge version
2020-04-28 12:39:05 +00:00
James Houlahan
e95aece6d3
refactor: don't pass client directly to store syncer
2020-04-21 08:36:39 +00:00
Jakub
80f4e1e346
Fixing unit tests for client manager.
...
* [x] pmapi: refresh auth uid won't change
* [x] bridge tests:
* update mocks
* delete auth when FinishLogin fails
* check for mailbox password
* add `gomock.InOrder` for better test control
* [x] fix linter issues except TODOs
* [x] make rootScheme unexported
* [x] store tests: update mocks
2020-04-21 08:36:39 +00:00
James Houlahan
b01be382fc
refactor: GetBridgeAuthChannel --> GetAuthUpdateChannel
2020-04-21 08:36:38 +00:00