40c48ba804
fix(GODT-2774): Add external context to telemetry tasks
...
This ensures they get cancelled if the parent context becomes invalid
2023-07-06 13:09:35 +02:00
eaa673c4e4
fix(GODT-2708): fix dimensions event format + handling of ReportClicked event.
2023-07-04 13:04:30 +02:00
cc17366c1c
fix(GODT-2578): Refresh literals appended to Sent folder
...
Whenever a message gets moved to the sent folder we should retrieve the
new literal in order to guarantee that, if another client modifies and
sends the message, we always see the latest version of the message and
not a previous state stored in the Gluon cache.
Includes the following Gluon MRs:
* https://github.com/ProtonMail/gluon/pull/374
* https://github.com/ProtonMail/gluon/pull/376
Includes the followin gpa MR:
https://github.com/ProtonMail/go-proton-api/pull/88
2023-07-04 10:39:07 +02:00
234554b459
feat(GODT-2709): Remove the config status file when user is removed.
2023-07-01 07:21:27 +02:00
238929c3ec
feat(GODT-2712): Feed config_status with user action while pending.
2023-06-30 09:43:26 +00:00
9482bea8af
feat(GODT-2714): Apply PR comments.
2023-06-30 09:43:26 +00:00
a55572e5b3
feat(GODT-2714): Set Configuration Status to Failure and send Recovery event when issue is solved.
2023-06-30 09:43:26 +00:00
68334e3bb8
feat(GODT-2711): Send config_abort event on User removal.
2023-06-30 09:43:26 +00:00
124231c3c7
feat(GODT-2710): Send config success on IMAP/SMTP connection..
2023-06-30 09:43:26 +00:00
ff11d20d9c
feat(GODT-2709): Init Configuration status.
2023-06-30 09:43:26 +00:00
a2c2710760
feat(GODT-2685): update to bug report log attachment logic.
2023-06-19 16:30:36 +02:00
ac00ef1b64
feat(GODT-2666): feat(GODT-2667): introduce sessionID in bridge.
2023-06-07 09:00:33 +02:00
7f7e360cd7
feat(GODT-2673): Use NoClient as UserAgent without any client connected and...
2023-06-01 15:27:56 +00:00
0cef181432
fix(GODT-2437): Fix lint.
2023-05-25 09:25:25 +02:00
262c4c5d95
fix(GODT-2437): Fix test + bump Gluon with silenced report.
2023-05-25 09:12:15 +02:00
bc5de2b884
fix(GODT-2638): Validate messages before import.
...
Ensure messages have required header fields and adhere to the rfc5322
spec before import.
2023-05-24 06:38:13 +00:00
9c25f56fe6
test: fix flaky tests.
2023-05-22 11:16:56 +00:00
35f0e081a5
fix(GODT-2628): Attempt to fix closed channel panic on logout
...
It should not be possible to reach this state on purpose. But due to
scheduling and synchronization variances, it is possible in theory that
a UserDeathEvent can occur at the same time as the bridge is closing,
causing a call to `User.Close()` to be executed 2 times.
To avoid this in the future we just clear the map after all the channels
have been closed.
2023-05-17 11:54:02 +00:00
0ef9c9c9c9
fix(GODT-2606): Improve Vault concurrency scopes
...
Rewrite the vault to have one RWlock rather then two separate locks for
data and reference counts.
In certain circumstance, it could be possible that that different
requests could end up in undefined states if a user got deleted
successfully while at he same time another goroutine/thread is loading
the given user.
While I have not been able to reproduce this in a test, restricting the
access scope to one lock rather than two, should avoid corner cases
where logic code is executing outside of the lock scope.
2023-05-15 13:28:00 +02:00
faf3780eee
test: Fix TestBridge_Report
2023-05-12 15:37:33 +02:00
6adb440b84
fix(GODT-2623): log IMAP/SMTP login failure as error.
2023-05-12 07:28:41 +00:00
a3e07428b5
chore: Improve CPC code
...
* Remove distinction between values with and without reply.
* Hide types that don't need to be public.
* Don't allow direct access to the request's internal types.
2023-05-12 09:06:54 +02:00
4b5edd62d0
feat(GODT-2585): Only Start IMAP/SMTP once one user is loaded
...
Update ServerManager to follow the new expected behavior. The servers
will only be started when one user is active.
If all users are logged out or removed from the system, the servers will
stop.
If the network goes down, the servers will stop and resume once network
has been restored.
2023-05-11 16:27:54 +02:00
fb4a0e77af
feat(GODT-2585): Server Manager
...
Add a dedicated go-routine whose sole responsibility is to manage the
life time of the IMAP and SMTP servers and their listeners.
The current implementation behaves the same way as the previous state.
The new behavior will be implemented in a follow MR.
2023-05-11 09:48:54 +02:00
51288791c0
fix(GODT-2527): Cleanup 503 test since handled by GPA.
2023-05-10 16:14:18 +02:00
c438704648
test: Disable sync open files test
...
It is os specific and it has a tendency to succeed on CI runners.
2023-05-09 08:31:28 +02:00
bda158d6c6
feat(GODT-2346): treat external address as disabled one.
2023-05-09 04:12:12 +00:00
a0db1645f2
fix(GODT-2614): Handle failed update during sync
...
The sync process was getting stuck since we never handled the case where
the update to Gluon failed. This caused the flush stage to exist, but
the sync process would continue until it eventually gets stuck due to
lack of progress.
2023-05-05 16:09:23 +02:00
b51d85e768
chore: upgraded golangci-lint v1.52.2 and fixed all issues.
2023-05-05 07:57:22 +02:00
3ef3ab72ed
feat(GODT-2553): Try to send telemetry every hour.
2023-04-24 18:33:50 +00:00
00adb8bc22
feat(GODT-2552): Fix review comment + use only string for Heartbeat Dimension.
2023-04-24 18:33:50 +00:00
d3fc9a50f6
feat(GODT-2556): Add functional test for Heartbeat Init and telemetry availability.
2023-04-24 18:33:50 +00:00
4adc6d60b9
feat(GODT-2552): Fix unit test.
2023-04-24 18:33:50 +00:00
d88bee68c6
feat(GODT-2552): Add functional test.
2023-04-24 18:33:50 +00:00
b250d49af8
feat(GODT-2552): Send first heartbeat.
2023-04-24 18:33:50 +00:00
0f621d0aad
feat(GODT-2552): Init telemetry heartbeat.
2023-04-24 18:33:50 +00:00
fed503501d
feat(GODT-2575): Add dev info to cookies.
2023-04-24 12:44:08 +02:00
ad4e853a8a
feat(GODT-2555): fixed minor issue spotted during review.
2023-04-20 07:53:54 +02:00
f4631c4bc9
feat(GODT-2555): add local telemetry settings.
...
feat(GODT-2555): add 'TelemetryDisabled' settings to vault.
feat(GODT-2555): CLI and GUI implementation.
feat(GODT-2555): implemented setting in bridge-gui-tester.
feat(GODT-2555): added unit tests.
feat(GODT-2555): feature tests.
2023-04-19 16:45:42 +02:00
54b209f9e1
fix(GODT-2337): filter reply-to on draft.
2023-04-17 10:25:10 +02:00
8093bbf5f6
feat(GODT-2502): Additional info.
2023-04-14 10:27:37 +02:00
7bb925b6d7
feat(GODT-2502): Improve logs.
2023-04-14 10:27:37 +02:00
d6760d6f50
chore(GODT-2551): Store and Recover Last User Agent from Vault
2023-04-14 09:48:39 +02:00
ff44a3d6df
test(GODT-2550): Verify IMAP ID is set properly
2023-04-13 14:28:53 +02:00
3928ed08f6
feat(GODT-2554): Compute telemetry availability from API UserSettings.
2023-04-13 08:06:48 +00:00
c84919faae
chore: merge release/Quebec into devel
2023-04-05 13:55:22 +02:00
7330406752
fix(GODT-2500): Recover in deferred function.
2023-04-05 09:25:24 +02:00
7d8e71c9ea
fix(GODT-2505): show notification only for cases when user needs to do actions.
2023-04-03 11:21:46 +02:00
de5fd07a22
feat(GODT-2500): Reorganise async methods.
2023-04-03 07:07:22 +02:00
ec92c918cd
feat(GODT-2500): Add panic handlers everywhere.
2023-04-03 06:38:31 +02:00