Commit Graph

3388 Commits

Author SHA1 Message Date
proton-ci 7cacfb4785 i18n: Upgrade translations from crowdin (fb51066e). 2023-10-02 06:18:24 +00:00
Marino Meneghel ecdc3c1551 Block loading of remote favicons when loading a message
This prevents a vulnerability where a malicious actor could craft
a message which would cause a leak of personal information
(such as IP address, browser info and OS) upon opening.

MAILAND-3104
2023-09-28 15:47:44 +02:00
proton-ci 37656d8467 i18n: Upgrade translations from crowdin (0b178613). 2023-09-25 06:18:16 +00:00
Maciej Surmacz a08a524a7f Uses the remote attachment info when sending a message
Adding the local and remote attachments might lead to duplicated
attachments, potentially. At the time of sending, the local and
remote attachments should be the same.

MAILAND-3070
2023-07-06 12:47:22 +02:00
Maciej Surmacz a7ddf1f4ea Fetches the remote draft right before sending
The remote attachments are added to the local ones in order to avoid
sending failures wherein the attachments on the BE are different than
the ones on the client side.

MAILAND-3070
2023-07-05 13:19:22 +02:00
Chirayu Desai 3a263139a7 Bump playServices version to the latest
* After the recent 3.0.0 update, which included a bump to targetSdk 31,
  we've noticed some crashes when microG was disabled
* The stacktrace pointed to PendingIntent mutability flags, which are
  required for targetSdk 31

Some details with stacktrace: https://gitlab.com/CalyxOS/calyxos/-/issues/1056
Test: Install ProtonMail on a device with microG as a system app, and with it disabled
      Current stable release (3.0.2) will crash with the above stack trace
      A build with this patch will work fine
2023-05-09 14:24:45 +00:00
Gowtham K K 3446c33164 #Fix Adding content description to Expand / Collapse dropdown button for talkback.
Affected: MessageDetailsHeaderView.kt
2023-05-09 14:19:12 +00:00
Marino Meneghel 044638ff95 Hide subscription button for users that are not admins
This avoids users which are part of an organization but not admins,
to be presented with an error when they open the subscriptions menu (due
to missing permissions).

MAILAND-3081
2023-05-09 11:20:23 +00:00
proton-ci ef9027535a i18n: Upgrade translations from crowdin (1bcbab8b). 2023-05-08 06:31:53 +00:00
proton-ci 1005d7d5e6 i18n: Upgrade translations from crowdin (4a237a77). 2023-05-04 08:23:20 +00:00
Marino Meneghel 8ee2991639 Do not check all networks for connectivity but only active network
MAILAND-3074
2023-05-02 12:45:55 +02:00
Marino Meneghel 24798d9fba Network Connectivity Manager checks for internet capability to be valid
This tests that internet connection is up and running, avoiding cases
such as having an active VPN connection with no internet access to
result as having connectivity.

MAILAND-3074
2023-04-26 07:49:47 +00:00
Marino Meneghel fdf390c197 Make QueueNetworkUtil check for actual connectivity
As from the docs, the isConnectedOrConnecting method "is good for
applications that need to do anything related to the network other than
read or write data. For the latter, call isConnected() instead, which
guarantees that the network is fully usable.".

In the cases used by this method, we want to have a fully working network
as the usage is to transfer data.

https://developer.android.com/reference/android/net/NetworkInfo#isConnected()

MAILAND-3074
2023-04-26 07:49:47 +00:00
Marino Meneghel 24ed833afb Avoid enqueueing multiple jobs to fetch updates
Due to the way we rely on AlarmManager as a cron system to schedule new jobs to
fetch updates from event loop, when offline, it might happen that
multiple instances of the same job (FetchUpdateJob) are enqueued one
after the other, resulting in duplicated API calls when back online.

Here, we cancel any pre-existing "FetchUpdateJob" job before adding a
new one to the queue.

MAILAND-3074
2023-04-26 07:49:47 +00:00
proton-ci bef4765b5c i18n: Upgrade translations from crowdin (c1566169). 2023-04-24 06:34:08 +00:00
Marino Meneghel 9c3d470e14 Call launch review flow to prompt user the rating dialog
- Inject review manager over using static constructor

MAILAND-3071
2023-04-17 12:23:28 +00:00
Marino Meneghel 9818e64b4b Update pinned certificates hashes for trustkit
MAILAND-3078
2023-04-17 10:56:03 +00:00
Marino Meneghel 9d12762d3c Change base and API endpoint to proton.me
MAILANDR-3078
2023-04-17 10:56:03 +00:00
M. Thiercelin 1927ef9744
Key transparency: migrate address DBs. 2023-04-17 09:31:02 +02:00
proton-ci 6edbbebb09 i18n: Upgrade translations from crowdin (708fef2c). 2023-04-17 06:26:38 +00:00
Neil Marietta e3353da7ac fix(report): Use simplified ReportOrchestrator startBugReport function. 2023-04-13 12:20:05 +00:00
Marino Meneghel 57e398a110 Make mailbox screen view repository thread safe
- Explicitly remove FeatureFlagsInitializer from manifest

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel 54cf43d280 Let backend know that the rate app flow was triggered
by setting the feature flag to false.

This is not a guarantee that the rate app dialog was shown,
as the final decision on whether to show the "rate app dialog"
or not is done by google play lib based on "API usage quota"
(the rate dialog can only be shown so many times in a given timeframe).

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel 72d67e9b6c Create use case to orchestrate logic to show "rate app" dialog
- Do not save feature flag value in memory: it's already saved in the DB

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel 6417f17cc1 Extract show rate app logic to the viewModel
The StartRateAppFlow is in a dedicated use case to allow abstracting the
usage of context

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel 054ce56605 Show review app dialog to the user when needed
The current conditions for the dialog to show is for the feature flag to
be true, the user to have seen mailbox screen twice in the same
session and to not being resuming the app from the background (which is
achieved by incrementing the "mailbox screen views" count only when
going back from a Detail screen).

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel 39e59e2c7b Add google play review dependency
This will be used to handle in-app review requests

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel f3c08abb28 Increase mailbox views count when closing a detail screen
This count will be used to define when a user can be presented with the
"rate app" dialog. We increase the count when going back from the detail
rather than at some point in the mailbox screen's lifecycle to avoid the
case where the dialog is shown when resuming mailbox from the
background.

MAILAND-3071
2023-04-12 11:59:10 +00:00
Marino Meneghel b4b8c2e4ad Refresh and store in memory feature flag to show rate-app dialog
MAILAND-3071
2023-04-12 11:59:10 +00:00
proton-ci 17da8fdd15 i18n: Upgrade translations from crowdin (375d7045). 2023-04-10 06:18:44 +00:00
Neil Marietta dc52849bf8 fix: Updated ExistingUserOnboardingViewModel to use new welcome_header_mail drawable. 2023-04-06 14:58:07 +02:00
Neil Marietta 9566279547 refactor(auth): Updated Auth Activities AndroidManifest (scrollable & portrait). 2023-04-04 17:09:18 +02:00
Neil Marietta 529b49f32c chore(user-settings): Migration OrganizationDatabase.MIGRATION_2. 2023-04-04 10:35:44 +00:00
Neil Marietta d8e99206c2 feat: Added External Account Sign In Conversion support. 2023-04-04 10:35:44 +00:00
Mateusz Armatys fafddfb05e build: Resolve files from the `rootDir`, for better compatibility with Core's meta-repo. 2023-02-28 13:36:26 +00:00
proton-ci 6d77844084 i18n: Upgrade translations from crowdin (79539164). 2023-02-28 12:37:41 +00:00
Neil Marietta 2f7c757096 feat: Added Observability support (Core 9.12.0). 2023-02-24 15:23:04 +01:00
proton-ci db8ae1e523 i18n: Upgrade translations from crowdin (8dbae8e5). 2023-02-20 06:50:18 +00:00
proton-ci 5243ffda0c i18n: Upgrade translations from crowdin (4a80dd84). 2023-02-16 16:44:27 +00:00
Marino Meneghel a70ef67c07 Make offline dialog when opening a draft not cancellable
This prevents users from dismissing the dialog (with the back button or
tapping outside of it) and triggering a draft update with no content
when exiting the composer (causing the loss of the draft).

CLIENT-4905
2023-02-06 12:22:30 +01:00
Marino Meneghel 99c122ed7d Prevent draft body from being lost when not loaded locally
On low connectivity, opening a draft for the first time (meaning
its body was never fetched) and the exiting the composer before such
loading finished, would cause the draft to be updated with the local
content of the body - empty - causing its loss.

This commit introduces a flag that's set when the VM schedules the
"fetchDraftDetailJob" and reset when such job returns any result
(success or failure). When the user exits the composer, this flag is
checked and if found set the draft will not be saved.

CLIENT-4905
2023-02-06 11:46:13 +01:00
proton-ci cf3db7e8aa i18n: Upgrade translations from crowdin (b8ca2f2c). 2023-02-06 06:47:09 +00:00
proton-ci 6ee8d388ef i18n: Upgrade translations from crowdin (24a01410). 2023-01-30 06:53:24 +00:00
Zorica Stojchevska 24a01410dd Add dark mode support to webview above sdk 33 2023-01-29 22:21:25 +01:00
Zorica Stojchevska 2ffeee386d Revert asking for write to storage permissions below sdk 33 2023-01-27 10:15:19 +01:00
Neil Marietta 7e4dee353e feat: Added Unauthenticated Session support.
chore: Upgraded Core to 9.9.0.
chore: Upgraded Core Gradle Plugins to 1.1.2 (Detekt update).
2023-01-26 16:57:21 +00:00
Zorica Stojchevska 869bc6c205 Check if image media permission was granted on sdk 33 2023-01-26 14:09:44 +01:00
Zorica Stojchevska 8c879d4f4d Correct radius for authenticity badge 2023-01-23 19:34:28 +00:00
Zorica Stojchevska b5fdae3a68 Adding authenticity badge for emails sent from Proton to user 2023-01-23 19:34:28 +00:00
Zorica Stojchevska fe2683716b Don't save body of message echoed from BE in DB while composing
The purpose of this change is to keep the composer as source of truth.

MAILAND-3028
2023-01-23 15:00:45 +01:00