Commit Graph

1332 Commits

Author SHA1 Message Date
6bf67917fb GODT-2034: Basic vault migration ability (proof of concept) 2022-11-16 13:48:30 +01:00
4c4c592f31 GODT-2008: Add unit test asserting that primary address is listed first 2022-11-16 13:48:30 +01:00
8a08d146bc Other: Bridge Tacoma 2.5.4 2022-11-16 13:48:30 +01:00
da41398340 Other: Bump liteapi to mitigate race condition 2022-11-16 13:48:30 +01:00
d74873be31 GODT-1978: Don't install the same update twice 2022-11-16 13:48:30 +01:00
b9ffa96e8b GODT-1978: Check latest version on force update if unknown 2022-11-16 13:48:30 +01:00
8a666dc8cc Other: Add missing t.bridge = nil line 2022-11-16 13:48:30 +01:00
78fc5ec458 Other: Simple gRPC client/server under test 2022-11-16 13:48:30 +01:00
d093488522 GODT-1978: Auto-updates 2022-11-16 13:48:30 +01:00
1e29a5210f GODT-1954: Draft message support
Add special case handling for draft messages so that if a Draft is
updated via an event it is correctly updated on the IMAP client via a
the new `imap.MessageUpdated event`.

This patch also updates Gluon to the latest version.
2022-11-16 13:48:30 +01:00
c548ba85fe Other: Add more extensive logging 2022-11-16 13:48:30 +01:00
8bb60afabd GODT-2014: bridge quit if gRPC client ends stream (v3) 2022-11-16 13:48:30 +01:00
8b5cb7729c GODT-2013: CLI flag for frontend is required (v3) 2022-11-16 13:48:30 +01:00
f8d7b98d05 Other: Bridge Tacoma 2.5.3 2022-11-16 13:48:30 +01:00
bc7912e8fb GODT-2022: Fix change between address modes 2022-11-16 13:48:30 +01:00
0812491f09 Other: Bridge Tacoma v2.5.2 2022-11-16 13:48:30 +01:00
af542a2fc1 Other: Ensure logout works when offline 2022-11-16 13:48:30 +01:00
039d1b7f99 GODT-2023: Revert to v2 bridge password encoming format
v2 used base64.RawURLEncoding rather than hex to encode the bridge
password. We should use that in v3 as well.
2022-11-16 13:48:30 +01:00
4ded8784fc Other: Allow non-received messages to be imported to INBOX 2022-11-16 13:48:30 +01:00
943d95a725 Other: Add UserLoading/UserLoadFail events 2022-11-16 13:48:30 +01:00
75b788b793 GODT-1993: Use more efficient filtering for message deletion 2022-11-16 13:48:30 +01:00
048a83c8c9 Other: Bridge Tacoma v2.5.1 2022-11-16 13:48:30 +01:00
e92badef0e GODT-2004: Ensure log files don't have color formatting
This patch ensures that log files written to disk do not have any color
formatting present.

Sadly due to limitations of the logrus library, we have to force
coloring enabled on logs to stdout.
2022-11-16 13:48:30 +01:00
924a423488 Other: Add some more debug logs 2022-11-16 13:48:30 +01:00
1ad821b2b7 GODT-2011: Use new app version format 2022-11-16 13:48:30 +01:00
62d62474fb Other: Poll events after each IMAP operation
This matches bridge's behaviour (except for it being a non-blocking
wait).

It also cleans up some unused connector methods.
2022-11-16 13:48:30 +01:00
1dbc9a1366 GODT-2010: Add better logging for app focus feature 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
dbfb7572a8 GODT-2008: Ensure user's addresses are returned in sorted order 2022-11-16 13:48:30 +01:00
a213b48f93 GODT-2002: Poll after SMTP send
After sending, a client might append to the sent folder over IMAP.
In this case, we perform deduplication and return the message ID of the
sent message. However, if we haven't already processed this message in
gluon, it doesn't work as expected.

This change polls the event stream immediately after send. Note that it
doesn't wait for these events to be processed; that should be done in a
follow-up commit.
2022-11-16 13:48:30 +01:00
b0f939bfaf Other: Do not compile go bridge as win32 app
Compile as console application so that we can inspect trace outputs and
IMAP/SMTP Commands.

Note: This needs to be reverted before release.
2022-11-16 13:48:30 +01:00
075e1ef236 Other: Fix wrong encoding used for public key during sending
The newer liteapi contact code saves keys as *crypto.Key, however the
legacy code expects them to be strings. There was a bug in connecting
the new code to the legacy code: it was assumed these strings were meant
to be a base64 encoded string but they were actually just raw string
bytes.
2022-11-16 13:48:30 +01:00
88ad98ed37 Other: Bridge Tacoma v2.5.0 2022-11-16 13:48:30 +01:00
0a972285a6 Other(docs): Add build command to vault-editor readme 2022-11-16 13:48:30 +01:00
358a2e5266 Other: Disable TLS pin checks on QA builds 2022-11-16 13:48:30 +01:00
5bb2eeafb7 Other: Don't mark certs twice as installed 2022-11-16 13:48:30 +01:00
94f84625d4 Other: Use Cache rather than Config on non-linux OS for user data 2022-11-16 13:48:30 +01:00
34e4625b64 Other: Don't try proxy if dial was cancelled 2022-11-16 13:48:30 +01:00
a797c01943 Other: Fix create draft action
If an InReplyTo entry in the header is present, the create draft action
should be reply, otherwise we use forward.
2022-11-16 13:48:30 +01:00
b72de5e3a4 Other: Fix goroutine leak in OnStatusDown
We should spawn the goroutine as a bridge async task rather than as a
normal goroutine
2022-11-16 13:48:30 +01:00
bf4afae5d9 Other: Put back missing force update GUI event 2022-11-16 13:48:30 +01:00
29dcd5450f Other: Add FEATURE_TEST_LOG_IMAP env variable
When set will log IMAP commands during feature tests.

This patch also updates Gluon to the latest version.
2022-11-16 13:48:30 +01:00
f1160a11af Other: wired 'use SSL for IMAP' toggle in bridge-gui-tester. 2022-11-16 13:48:30 +01:00
d9762010fa GODT-1982: updated gRPC and GUI for disk cache.
Other: modified bridge-gui-tester for new cache related gRPC interface.
Other: bridge-gui-tester has buttons for cache related errors.
2022-11-16 13:48:30 +01:00
93d9ae32fc Other: Only listen on localhost and add send test
We should only listen on constants.Host when serving IMAP and SMTP.
This change fixes that. It also adds a test that we can send over SMTP
and receive over IMAP.
2022-11-16 13:48:30 +01:00
cb42358e2f Other: Bump gluon version to not set internal ID header twice 2022-11-16 13:48:30 +01:00
8f420d728c GODT-1984: Handle permanent message deletion
Only delete messages when unlabeled from trash/spam if they only exists
in All Mail and (spam or trash).

This patch also ports delete_from_trash.feature and use status rather
than fetch to count messages in a mailboxes.
2022-11-16 13:48:30 +01:00
df818bc2b8 Other: Update UID validity in vault when necessary 2022-11-16 13:48:30 +01:00
2fbecc4675 GODT-1916: Use XDG_DATA_HOME to store persistent data on linux
This change ensures persistent data is stored in XDG_DATA_HOME
instead of XDG_CACHE_HOME on linux.

It adds the UserData() method on locations.Provider to return a path
suitable for storing persistent data. On linux, this returns
$XDG_DATA_HOME/protonmail (likely ~/.local/share/protonmail), and on
non-linux this returns os.UserConfigDir() because that is assumed
to be a more persistent location than os.UserCacheDir().

locations.Locations has been modified to use this new data directory;
gluon and logs are now stored here.
2022-11-16 13:48:30 +01:00
a553ced979 Other: go mod tidy/goimports/gofumpt after rebase on devel 2022-11-16 13:48:30 +01:00