3548 Commits

Author SHA1 Message Date
proton-ci
82d21297f5 Update guesthole servers 2026-03-11 08:07:40 +00:00
Alexander Talledo
97858fbbe6 fix: always use current user settings to check whether telemetry is enabled or not 2026-03-03 14:57:55 +01:00
L10n bot
35493239ef i18n(weekly-mr): Upgrade translations from crowdin (02d614ea). 2026-03-03 09:46:49 +00:00
Marcin Simonides
adc0e09648 Fix a rare crash on TV restart.
ServerManager.serversDataCached is not guaranteed to be updated immediately
after ensureLoaded() exits. A yield() is added to allow for it to process.

The proper fix is to stop accessing servers data synchronously and remove
serversDataCached.
2026-03-02 10:23:10 +01:00
Marcin Simonides
43eff8c249 Add version code in APP.PROCESS_START logs for Sentry.
Sentry is sanitizing anything that looks like an IP, this includes app version
name in breadcrumbs. Version code will not be sanitized.
2026-02-26 09:20:15 +01:00
Alexander Talledo
4a5e86d1ba chore(MMP): referrer information retrieval [VPNPLG-10] 2026-02-25 13:50:04 +01:00
Alexander Talledo
68d0d8ab50 chore(MMP): setup MMP referrer local persistence [VPNPLG-10] 2026-02-25 13:50:03 +01:00
Alexander Talledo
dace9e9bb7 chore(MMP): add install referrer dependency [VPNPLG-10] 2026-02-25 13:50:03 +01:00
Marcin Simonides
10ecbfcada Refresh binary status on location change [VPNAND-2457].
With v1/logicals we need to update the server whenever user IP changes as this
affects server scores computed on the backend.
With v2/logicals we need to update binary status whenever user location change
(in fact, if we were caching binary status data the client could just recompute
scores for the new location).
2026-02-25 10:17:52 +00:00
Alexander Talledo
d9f6bbb9f3 chore(MMP): introduce feature flag [VPNPLG-9] 2026-02-25 08:37:47 +00:00
Mateusz Markowicz
49bed3f329 ProTUN changes to connection telemetry [VPNAND-2297] 2026-02-24 15:54:26 +00:00
Marcin Simonides
7ca19bc4cb Update discard changes dialog acions [VPNAND-2066]. 2026-02-24 14:23:30 +00:00
L10n bot
3b95d69830 i18n(weekly-mr): Upgrade translations from crowdin (4eea08cc). 2026-02-24 07:03:32 +00:00
Mateusz Markowicz
4eea08cce6 Increase read/write timeouts for http sockets [VPNAND-2536]
In test environements /auth/v4 can sometimes take over 10s to respond leading
to login errors and flakiness.
2026-02-23 15:02:17 +00:00
Marcin Simonides
aec4f4b5b3 Use suspending ProfileManager.getDefaultOrFastest on start [VPNAND-2507].
This should address some ANRs on startup.
2026-02-23 13:32:06 +00:00
Marcin Simonides
dc738292da Rename ProfileManager methods to add Sync [VPNAND-2507] 2026-02-23 13:32:06 +00:00
L10n bot
d50e9ed577 i18n(weekly-mr): Upgrade translations from crowdin (f0a3cd32). 2026-02-23 12:06:21 +00:00
Mateusz Markowicz
aaac56736b Standardize names of new TV feature flag classes 2026-02-23 10:22:11 +00:00
Mateusz Markowicz
72eb7bf1e2 TV: change TV quick connect icon when favorite country disabled [VPNAND-2535] 2026-02-23 10:22:11 +00:00
Mateusz Markowicz
f5de56028b TV: simple alphabetical sorting of countries for free users [VPNAND-2535] 2026-02-23 10:22:11 +00:00
Mateusz Markowicz
b620225e51 TV: allow disabling recents for free user [VPNAND-2535] 2026-02-23 10:22:11 +00:00
Mateusz Markowicz
25ddd08228 TV: allow disabling support for favorite country [VPNAND-2535] 2026-02-23 10:22:11 +00:00
Marcin Simonides
26b1559625 Defer Sentry check for rooted device [VPNAND-2484].
It is now done lazily, this saves 6 binder transaction calls on start.
2026-02-23 08:44:28 +00:00
Marcin Simonides
594a6609aa Save result of IsTvCheck to avoid binder transactons [VPNAND-2531].
This avoids 4 binder transactions on every start on mobile, except for the
first time.
2026-02-23 08:44:28 +00:00
Marcin Simonides
2a6084e765 Initialize TelemetryFlowHelper lazily [VPNAND-2484] 2026-02-23 08:44:28 +00:00
Marcin Simonides
7f9dedd152 Remove unnecessary binder call from NotificationPermissionManager [VPNAND-2484]. 2026-02-23 08:44:28 +00:00
Marcin Simonides
d079084162 Convert more dependencies to lazy [VPNAND-2487]. 2026-02-23 08:44:28 +00:00
Marcin Simonides
f1e69c4c09 Register some broadcast receivers on bg thread [VPNAND-2484]. 2026-02-23 08:44:28 +00:00
Marcin Simonides
2d886a857f Remove and delay broadcast receiver registrations [VPNAND-2484]. 2026-02-23 08:44:28 +00:00
Marcin Simonides
57d7f672a4 Delay logging current state on start [VPNAND-2487].
This allows delaying initialization of certain dependencies and binder
transactions needed to obtain some data from the system.
2026-02-23 08:44:28 +00:00
Marcin Simonides
9af561cb14 Create UserPlanManager explicitly.
UserPlanManager is observing user state and thus needs to be created on process
start. This has been done implicitly so far but as we introduce some lazy
initialization we need to initialize UserPlanManager explicitly.
2026-02-23 08:44:28 +00:00
Marcin Simonides
30133464c1 Use lazy initialization for some dependencies [VPNAND-2498]. 2026-02-23 08:44:28 +00:00
Marcin Simonides
f0a3cd32e6 Fix logging WebView version in tests. 2026-02-19 13:21:49 +01:00
Marcin Simonides
7a2d16d774 Log current WebView version in debug builds. 2026-02-19 11:37:38 +00:00
Mateusz Markowicz
3c8aefc7be ProTUN's packet capture support in "Debug tools" 2026-02-19 10:12:13 +00:00
Marcin Simonides
4547196238 Update kotlinx.serialization and other dependencies [VPNAND-2534].
Most notably Kotlin to 21.1.21.
2026-02-19 09:31:09 +01:00
Mateusz Markowicz
6283857633 Fix always-on not connecting after it's disabled first [VPNAND-2530]
Currently when user first enable always-on and disable it our internal state will
still be Active but the VPN connection state will be disabled. InternalState being
not Disabled prevents subsequent always on to initiate connection. Check VpnState
instead.
2026-02-18 09:06:07 +00:00
Mateusz Markowicz
f6c9a2b038 TV: don't show server list to free users [VPNAND-2529] 2026-02-17 17:05:22 +00:00
Mateusz Markowicz
fa21023b52 TV: sort servers on server list by load 2026-02-17 17:05:22 +00:00
L10n bot
c84f57a8f4 i18n(weekly-mr): Upgrade translations from crowdin (fc0874ed). 2026-02-17 15:59:37 +00:00
Alexander Talledo
d28fc5a7e6 chore: Convetion Plugins introduccion [VPNAND-2527] 2026-02-17 08:34:24 +00:00
Marcin Simonides
fc0874ed0c Restart app update info flow after failed update [VPNAND-2423]. 2026-02-16 15:44:01 +00:00
Marcin Simonides
a24765c05c Fix app update not triggering on second attempt [VPNAND-2524].
The issue is that Google's AppUpdateInfo is a single-use object. Once it's used
to launch an update, it can't be used again (e.g. if the user cancelled the
update).
The fix is to get a new AppUpdateInfo each time.
2026-02-16 15:44:01 +00:00
Marcin Simonides
f162d42d43 Move the check for server list being stale to VpnConnectionErrorHandler [VPNAND-2467].
ServerListUpdater.needsUpdate was used only in VpnConnectionErrorHandler,
therefore it's moved there.
VpnConnectionErrorHandler is an abominable monstrosity, so this change and a
little bit of related functionality have been moved to a helper class, but we
need to refactor the whole thing one day.
2026-02-16 14:56:42 +00:00
Marcin Simonides
c41f437775 Load Server data under mutext [VPNAND-2467]. 2026-02-16 14:56:42 +00:00
Marcin Simonides
505a09ae2b Use ServersDataManager directly when updating [VPNAND-2467]. 2026-02-16 14:56:42 +00:00
Marcin Simonides
a472cce061 Clean up the old ServerListUpdaterTests. 2026-02-16 14:56:42 +00:00
Marcin Simonides
134b108c8d Convert some ServerListUpdater tests to Hilt-based. 2026-02-16 14:56:42 +00:00
Marcin Simonides
db05090905 Moved ServerListUpdaterTests from from androidTest to test.
This is possible now that the Rust library is built for the host platforms.
An interface has been extracted from ProtonApiRetroFit to allow overriding the
RetroFit responses in tests that use Hilt injection.
2026-02-16 14:56:42 +00:00
Marcin Simonides
e5dd9b8e4a Expose server lists as flow from ServersDataManager [VPNAND-2467]. 2026-02-16 14:56:42 +00:00