Commit Graph

63 Commits

Author SHA1 Message Date
e601245f01 Other(chore): Bump major version to v3 2022-11-23 16:08:27 +01:00
ad1fb47b0d Other: Switch from liteapi to go-proton-api 2022-11-23 15:17:56 +01:00
57e9310510 Other: Use API call rather than server-specific method in test code 2022-11-22 16:01:01 +01:00
6bd8c6ceb6 Other: Stop gRPC server on crash 2022-11-22 14:20:30 +00:00
b517e3cd5b Other(test): Set log level in feature tests 2022-11-19 16:16:54 +01:00
24a0ed41b9 Other(test): Disable broken test
Bumping liteapi version made the test server stricter (more conformant
with the real server). As a result, one of the tests broke; fix should
be in GODT-1989, which is not ready yet.
2022-11-18 17:43:27 +01:00
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
49b3c18903 GODT-2039: bridge monitors bridge-gui via its PID (port from v2.4) 2022-11-16 15:21:33 +01:00
ae87d7b236 GODT-1913: pass reporter to gluon, limit restarts, add crash handlers. 2022-11-16 13:48:31 +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
4ded8784fc Other: Allow non-received messages to be imported to INBOX 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
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
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
7e03de0a21 Other: Lint fixes 2022-11-16 13:48:30 +01:00
8749d5dc7d Other(refactor): Remove always-nil return value of (*Bridge).Close 2022-11-16 13:48:30 +01:00
fd0c262645 Other: Implement subfolder support 2022-11-16 13:48:30 +01:00
d2b1b9d34c Other: Rename BDD test action for hiding all mail 2022-11-16 13:48:30 +01:00
b594b5f90a Other: IMAP create duplicate mailbox tests 2022-11-16 13:48:30 +01:00
94e219137e Other: IMAP create tests 2022-11-16 13:48:30 +01:00
a26db09e54 Other: Add missing license 2022-11-16 13:48:30 +01:00
351c019310 Other(CI): Increase integration tests timeout 2022-11-16 13:48:30 +01:00
dabc9717d1 Other(test): Increase timeouts because race check is slow 2022-11-16 13:48:30 +01:00
247e676b41 Other: Fix race conditions in integration tests 2022-11-16 13:48:30 +01:00
cb04dabea8 Other: Fix goroutine leaks in integration tests
We were closing the event QueuedChannel objects in the wrong place;
they should have been closed on test teardown, not on stopBridge
(which was just a test action and wasn't always called).

In order to make the events more scalable, i replace all the
QueuedChannel objects with a single event collector, which would
create QueuedChannels on demand when it receives an event of a new type.
2022-11-16 13:48:30 +01:00
d6260d960c Other: Add race-condition and leak checks to the makefile 2022-11-16 13:48:30 +01:00
c9808d07df GODT-1777: Message de-duplication in SMTP 2022-11-16 13:48:30 +01:00
6bbaf03f1f Other: Fix goroutine leaks in sync tests
Add missing Close calls.

Properly handle nil channel for `user.startSync`.

This patch also updated liteapi and Gluon to latest master and dev
version respectively.
2022-11-16 13:48:30 +01:00
6fdc8bd379 Other: Add missing test expectation 2022-11-16 13:48:30 +01:00
0f125196a6 Other: Bump go-smtp version to fix race condition
There was a race condition internal to the go-smtp library.
In order to fix it, a version bump was necessary.
However, this significantly changed the library interface.
2022-11-16 13:48:30 +01:00
974735d415 Other: Bump liteapi version to fix goroutine leaks 2022-11-16 13:48:30 +01:00
c4343e0124 Other: Bump liteapi and clean up tests a bit 2022-11-16 13:48:30 +01:00
04b6571cb8 Other: Handle Seen/Flagged IMAP flags when APPENDing a message
When an IMAP client appends a message to a mailbox, it can specify
which flags it wants the appended message to have. We need to handle
these in a proton-specific way; not-seen messages need to be imported
with the Unread bool set to true, and flagged messages need to
additionally be imported with the Starred label.
2022-11-16 13:48:30 +01:00
a7a7d9a3d4 GODT-1742: Implement hide All Mail 2022-11-16 12:26:09 +01:00
395e7b54f6 Other(test): Don't check user agent immediately 2022-11-16 12:26:09 +01:00
c20143c212 Other: Increase integration test timeouts 2022-11-16 12:26:09 +01:00
7c62312220 Other: Fix all linter errors 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
7fe2c094a9 Other: Match any case in IMAP/SMTP auth, with test 2022-11-16 12:26:09 +01:00
a4852c1b36 Other: Get test events before starting bridge to ensure all are captured 2022-11-16 12:26:09 +01:00
fd63611b41 Other: Safer user types 2022-11-16 12:26:09 +01:00
2450511555 Other: Put back split login process in backend 2022-11-16 12:26:09 +01:00
da1ee99c53 Other: Fix send with plus address 2022-11-16 12:26:09 +01:00
1c922ca083 Other: Fix flaky cookies test 2022-11-16 12:26:09 +01:00
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
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