summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN
AgeCommit message (Collapse)AuthorFilesLines
2023-03-17Change 'Preferences' to 'VPN Settings'Jon Petersson3-3/+3
2023-03-17Fix string formatting of error message that causes an exception in login viewJon Petersson1-1/+1
2023-03-17Migrate PreferencesDataSource from traditional to diffableJon Petersson4-319/+348
2023-03-14Migrate SettingsDataSource from traditional to diffableJon Petersson4-162/+194
2023-03-07Display remaining account time in years if equal to or more than two years, ↵Jon Petersson1-9/+12
otherwise display days.
2023-03-06Add background observer for IPC operationsAndrej Mihajlov2-2/+31
2023-03-06Swap vertical position of country and city labels on connection viewJon Petersson1-7/+7
2023-03-02Remove dangling files that were previous removedAndrej Mihajlov3-514/+0
2023-02-28Replace OperationCompletion with ResultAndrej Mihajlov33-325/+301
Error is set to OperationError.cancelled if operation is cancelled.
2023-02-13Ignore error to delete device on logoutAndrej Mihajlov1-23/+10
2023-02-06Backport automatic tracking of modal overlay dismissalAndrej Mihajlov3-10/+57
2023-02-03Extract URLRequestProxy implementationAndrej Mihajlov1-33/+17
2023-02-03Rework logging configurator into builderAndrej Mihajlov1-4/+17
2023-02-03Show configuration errors in tunnel status notificationAndrej Mihajlov1-7/+1
2023-02-03Add button to share problem report in debug buildsAndrej Mihajlov1-9/+25
2023-01-30MKMapView: guard against kCLLocationCoordinate2DInvalidAndrej Mihajlov1-10/+19
MKMapView.convert(_, toRegionFrom:) may return a region with center set to (-180, -180) when it cannot compute the geo region. Normally this occurs before the first layout pass, i.e when the map view is squashed to zero (0,0,0,0)
2023-01-27Update Android+iOS square icons sourced from icon-square.svgLinus Färnstrand1-0/+0
2023-01-20Move adaptive presentation delegate from scene delegate into its own class.Andrej Mihajlov2-81/+159
Also fix issues in former implementation where transitionCoordinator.containerView used to return UIWindow when changing to split screen. New implementation makes a manual lookup of UITransitionView to ensure that the settings cog is added into the right container view. In the future this better be replaced with UISheetPresentationController subclass but for now we'll keep adding the settings cog manually within the adaptivity call.
2023-01-20Drop custom navigation controllerAndrej Mihajlov3-150/+54
Removes redundant ConditionalNavigation protocol that is not used for anything more than disabling pop gesture in problem reports when editing. Pop gesture can be disabled directly from within problem report view controller.
2023-01-18Use DisplayError when presenting errors in Login viewAndrej Mihajlov1-1/+2
2023-01-18Rename DisplayChainedError to DisplayError and add it to MullvadTypesAndrej Mihajlov7-204/+210
2023-01-18Swift.Error thingAndrej Mihajlov1-1/+1
2023-01-18Reference Swift.Error as Error where disambiguation is no longer neededAndrej Mihajlov4-6/+6
2023-01-17Guard against producing wrong region when view width is zeroAndrej Mihajlov1-0/+8
2023-01-17Add helper to create serial operation queueAndrej Mihajlov5-26/+5
2023-01-10Refactor connect controllerAndrej Mihajlov8-1038/+1153
- Move map related stuff into MapViewController that's used as a child controller. - Move UI related routines from main controller into content view. - Fix projection used to align the center of the map with activity spinner. - Rename Connect* family of classes into Tunnel*. - Replace delegate in (ex) ConnectViewController with a single block handler.
2023-01-10Scroll to row after interface rotationAndrej Mihajlov1-4/+4
2022-12-23Switch to single size app iconAndrej Mihajlov19-109/+7
2022-12-20MKMapView.setRegion() may call delegate synchronously. Reorder operationsAndrej Mihajlov1-1/+1
2022-12-20Connect: refactorAndrej Mihajlov1-8/+7
2022-12-20Fix screenshot scriptAndrej Mihajlov1-0/+1
2022-12-20Add accessibility identifiers for preferencesAndrej Mihajlov2-13/+34
2022-12-20Change texts related to redeem voucher.sajacl2-21/+23
2022-12-20Remove logout confirmationAndrej Mihajlov1-60/+2
2022-12-20Changed logout device `x` text.sajacl1-1/+1
2022-12-19Reconnect tunnel after migration from AppDelegateAndrej Mihajlov3-94/+120
2022-12-16Migration v1 -> v2: Log out user but migrate settings when we cannot match ↵Andrej Mihajlov1-35/+40
the pubkey with device
2022-12-13Periodically update device data while capping it at 1 update per minuteAndrej Mihajlov4-20/+87
2022-12-13Add periodic refresh to account expiry in-app notificationAndrej Mihajlov5-133/+200
2022-12-09Use given deviceStateAndrej Mihajlov1-1/+1
2022-12-09Move notification response matching into notification manager and system ↵Andrej Mihajlov4-19/+54
providers
2022-12-09Move all notification related entities into separate filesAndrej Mihajlov12-121/+194
2022-12-09Handle application updates with settings migrationsajacl3-2/+19
1. Block all the traffic when tunnel cannot read the settings (Introduced empty tunnel in `TunnelConfiguration`). 2. Introduce proper error enum, wrap WireGuard error and settings migration error. 3. Report possible errors to GUI.
2022-12-08TunnelManager: automatically track application notificationsAndrej Mihajlov2-12/+18
2022-12-08Wrap system tunnel management into TunnelStoreAndrej Mihajlov12-172/+288
2022-12-08Explicitly state that migration errors lead to device being logged outAndrej Mihajlov1-3/+7
2022-12-05Drop intents supportAndrej Mihajlov12-733/+1
Sadly we cannot support intents since we can't run multiple copies of our main scene without synchronizing state between all of them. Not to mention we never intended this to work this way. Also, currently there is no known way to prevent user from creating multiple windows of the app on iPadOS.
2022-12-05Disable multiwindow supportAndrej Mihajlov1-1/+1
2022-11-28Throw ReadSettingsVersionError from readSettings()Andrej Mihajlov1-4/+11
2022-11-28Rename SettingsMigration to Migrations. Move Migration.swift one level upAndrej Mihajlov2-0/+0