Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIA-809: Update iOS application #31

Merged
merged 222 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
a96d4c1
Adds the functionality of in-app message for user survey and point to…
Feb 11, 2022
ae74776
Corrects a module rename and points to new commit
Feb 11, 2022
174b013
Code cleanup on weak self.
Feb 11, 2022
1e521df
Refactors the survey control logic into a UserSurveyManager.
Feb 14, 2022
b29d71e
Update for KPI module and new commit sha for client-library-apple.
Feb 15, 2022
be16060
Refactors showRating method
Feb 15, 2022
ebe29a2
Fixes the > issue with take a survey CTA text
Feb 15, 2022
5c23c4a
Code refactor for handling connection success on rating and survey ma…
Feb 15, 2022
da236fb
Revert to accidentally committing swiftgen file
Feb 15, 2022
7c2ecaf
Removes more unwanted swiftgen changes
Feb 15, 2022
708cc07
Moves the string extension to private scope and applies a code refactor
Feb 16, 2022
c2d6aaa
Update for an edge case where user has to interact with the survey me…
Feb 16, 2022
72dfb9a
Points to correct commit sha for PIAKPI and PIALibrary modules
Feb 16, 2022
eb7171d
Updates PIALibrary commit sha
Feb 16, 2022
cb49973
Updates commit sha
Feb 17, 2022
485446d
Merge branch 'feature/VPN-1585-show-user-survey' into 'develop'
Feb 17, 2022
26c1bc6
Adds functionality to have a separate connections-counter for UserSur…
Feb 17, 2022
0c026ee
Code refactor for User survey's separate counter
Feb 17, 2022
3261f61
Refactor on successConnectionUntilSurvey
Feb 18, 2022
72669a0
Updates commit sha and time_to_connect collection logic
Feb 21, 2022
0ed12b1
Code refactor and updates commit sha
Feb 21, 2022
f7523ab
Code refactor
Feb 21, 2022
424b4f4
Updates commit sha
Feb 21, 2022
6d7d1f3
Updates to correct commit sha for KPI library
Feb 21, 2022
f9f8634
Updates KPI commit sha
Feb 22, 2022
f0c5fe6
Updates the commit for wrong ip fix
Feb 24, 2022
966cda5
Adds UI Test target
Mar 1, 2022
4104ea8
Merge branch 'feature/VPN-1585-show-user-survey' into 'develop'
Mar 2, 2022
ee1b1d6
Merge branch 'develop' into feature/VPN-1411-time-to-connect-property
Mar 2, 2022
4aa37a9
Updates commit sha after merging client-library-apple for timeToConne…
Mar 2, 2022
773b6ff
Merge branch 'feature/VPN-1411-time-to-connect-property' into 'develop'
Mar 2, 2022
f61375a
Adds a UI test for invalid user
Mar 7, 2022
669b327
Updates commit sha
Mar 7, 2022
71b3c7f
Merge branch 'develop' into feature/VPN-1179-wrong-ip-fix
Mar 7, 2022
df1db02
Merge branch 'feature/VPN-1179-wrong-ip-fix' into 'develop'
Mar 7, 2022
2a9cf6e
Code refactor and adds PIALibrary to UITests target for accessibility…
Mar 8, 2022
2d68004
Fixes a keyboard typing issue
Mar 8, 2022
10dc782
Adds a user credentials json file for testing different users
Mar 8, 2022
73dc860
Merge tag '3.14.0' into develop
Mar 8, 2022
8ff312b
Point to PIALibrary release/2.15.0
Mar 8, 2022
9b6ccc1
Bump version to 3.15.0
Mar 8, 2022
d0401a3
Use credentials from plist
Mar 9, 2022
fc27dc6
Refactor invalid user test to reuse it other tests
Mar 9, 2022
95001f9
Update PIALibrary commit, refactor and add valid user UI Test with up…
Mar 9, 2022
ed23690
Fix the environment and UI test target selection issues
Mar 10, 2022
bdf9b37
Remove XCTAssert as a function
Mar 10, 2022
bc63d92
Remove unnecessary sleeps
Mar 10, 2022
622fe53
Update commit sha PIALibrary
Mar 10, 2022
e2c0899
Merge branch 'develop' into feature/VPN-1797-add-ui-tests-target
Mar 10, 2022
73f755f
Update PIA Library commit & accessibility strings and code improvements
Mar 11, 2022
92251d0
Rename conversion bool
Mar 14, 2022
09c27de
Merge branch 'feature/VPN-1797-add-ui-tests-target' into 'develop'
Mar 14, 2022
2d6ddfd
Download translations and new en placeholders
Mar 15, 2022
86520ba
Update commit sha for PIALibrary
Mar 15, 2022
77fd8e5
Add deviceType and DNS info in user setting for CSI (wip)
Mar 22, 2022
fae26a5
Update PIALibrary commit sha to avoid conflicts on closing release
Mar 23, 2022
dcad8eb
Merge branch 'release/3.15.0'
Mar 23, 2022
c4a1432
Merge tag '3.15.0' into develop
Mar 23, 2022
8ca6448
Update checksum
Mar 23, 2022
22d3f34
Update integration with CSI V1.0.2
Mar 23, 2022
489b77a
Fix setting's delegate reference for updating DNS info in app prefere…
Mar 28, 2022
4ca5c37
Update pod file commit sha
Mar 28, 2022
ebd1466
Refactor code for device type
Mar 28, 2022
7f8ff77
Bump PIALibrary to 2.16.0 commit sha
Apr 5, 2022
9d72ec3
Bump version to 3.16.0
Apr 5, 2022
6f1e15b
Convert rating alert UI to use default iOS UX widgets
Apr 12, 2022
55c115b
Bump commit sha for feature flag
Apr 12, 2022
c27fd59
Add control logic for showing default UX of rating alert
Apr 12, 2022
edc3b59
Merge branch 'release/3.16.0'
xv-miguel-berrocal Apr 14, 2022
3fd05f7
Merge tag '3.16.0' into develop
xv-miguel-berrocal Apr 14, 2022
dc161c3
Code cleaning
Apr 19, 2022
36ea4f5
Bump the version to 3.16.1
Apr 21, 2022
46b26ec
Bump commit sha for token migration hotfix
Apr 21, 2022
79b7623
Flag rename and bump PIALibrary commit sha
Apr 21, 2022
e31d1c3
Code refactor
Apr 26, 2022
e23a54f
Add translations for rating alert and DIP retry message
Apr 26, 2022
2a46a2a
Merge branch 'release/3.16.1' into feature/VPN-2116-ios-logs
Apr 26, 2022
d09ef39
Bump commit sha
Apr 26, 2022
8da1013
Update PIALibrary commit sha
Apr 26, 2022
580787f
Merge tag '3.16.1' into develop
Apr 26, 2022
14c91ff
Merge branch 'release/3.16.1'
Apr 26, 2022
c38ab0a
Merge branch 'develop' into feature/VPN-883-redefine-rating-alert
May 4, 2022
7e5c8ff
Bump commit sha for based PIALibrary
May 4, 2022
3426374
Code clean
May 4, 2022
52345eb
Merge branch 'feature/VPN-883-redefine-rating-alert' into 'develop'
May 4, 2022
5efdf3e
Bump PIALibrary to v2.17.0
May 4, 2022
3deb148
Bump version to 3.17.0
May 4, 2022
684b410
Bump PIARegions to v1.3.2
May 4, 2022
6552296
Bump CSI to v1.1.1 and update support for Last Know Exception categor…
May 13, 2022
905542a
Merge branch 'feature/VPN-2116-ios-logs' into feature/VPN-2568-redact…
May 16, 2022
1ae4b1c
Bump PIALibrary to latest commit
May 16, 2022
dbc7c70
Refactor dip header view cell to move the network request code out of it
May 16, 2022
a21fbdb
Merge branch 'feature/VPN-1834-refactor-dip-cell' into 'develop'
May 25, 2022
3e466b9
Fix a bug where rating alert was re-presented when app was updated
May 25, 2022
34bac70
Refactor if into a guard statement
May 25, 2022
501278b
Merge branch 'feature/VPN-2835-hotfix-rating-alert' into 'release/3.1…
May 25, 2022
09a8d1c
Remove redundant deviceInfo key and bump PIALibrary to whitelist user…
Jun 1, 2022
79ef454
Bump to the fixed commit sha of file references fixes in PIALibrary
Jun 1, 2022
0a3f42e
Bump commit for PIALibrary
Jun 1, 2022
fe82426
Merge branch 'develop' into feature/VPN-2568-redact-ips-token
Jun 1, 2022
55cb038
Refactor fatalError to NSException for better CSI reports
Jun 7, 2022
52a29f1
Merge branch 'feature/VPN-2568-redact-ips-token' into 'develop'
Jun 9, 2022
48577a2
Rename user preference flag stopInAppMessages to showServiceMessages …
Jun 28, 2022
3118c9f
Fix the logic when API call should be made based on flag
Jun 28, 2022
f4eeee1
Merge branch 'feature/VPN-2094-in-app-messages' into 'develop'
kp-helge-becker Jul 5, 2022
1c48d65
Merge branch 'release/3.17.0'
Jul 14, 2022
d8f8b63
Merge tag '3.17.0' into develop
Jul 14, 2022
b236b34
Bump PIALibrary to 2.18.0 commit sha
Jul 14, 2022
14c8ab5
Bump version 3.18.0
Jul 14, 2022
2fd3d8e
Merge branch 'release/3.18.0'
Aug 18, 2022
07df43d
Merge `release/3.19.0` into `master` (#1131)
kp-juan-docal Feb 15, 2023
2851973
remove messages logic (#1133)
kp-juan-docal Feb 16, 2023
06b3995
bump version to 3.20.0 (#1134)
kp-juan-docal Feb 23, 2023
2c4732a
bump version to 3.21.0 (#1135)
kp-juan-docal Apr 24, 2023
778cddb
update openssl to version 3.0.2 (#1136)
kp-juan-docal Jun 7, 2023
bf76672
bump version to 3.22.0 (#1137)
kp-juan-docal Jun 7, 2023
131b99f
bump version to 3.23.0 (#1138)
kp-juan-docal Jun 28, 2023
860388a
CXAPP-3161: Show leak protection toggles on privacy settings
kp-laura-sempere Jul 28, 2023
9a8a6eb
CXAPP-3160: Add feature flag feetching for leak protection
kp-said-rehouni Jul 28, 2023
0ac1939
Merge pull request #1140 from xvpn/CXAPP-3160_feature_flag_leak_prote…
kp-said-rehouni Jul 31, 2023
4e33335
Merge pull request #1139 from xvpn/CXAPP-3161_leak_protection_toggles
kp-said-rehouni Jul 31, 2023
33147ee
CXAPP-3231: Add leak protections UI behind feature flag
kp-said-rehouni Jul 31, 2023
3229994
Merge pull request #1141 from xvpn/CXAPP-3231_integrate_feature_flag_…
kp-said-rehouni Aug 1, 2023
a68290b
CXAPP-3162: Add logic to show and hide leak protection toggles
kp-said-rehouni Aug 8, 2023
5f9fb35
Merge pull request #1143 from xvpn/CXAPP-3162_leak_protection_state_p…
kp-said-rehouni Aug 14, 2023
9c38614
CXAPP-3162: Add logic to show and hide leak protection toggles
kp-said-rehouni Aug 8, 2023
4ea98c3
CXAPP-3165: Add alert for leak protection changes when VPN is connected
kp-said-rehouni Aug 10, 2023
b5e6ad1
CXAPP-3165: Update PIA iOS Library to the latest version
kp-said-rehouni Aug 10, 2023
140fc92
Merge pull request #1144 from xvpn/CXAPP-3165_settings_alert_when_vpn…
kp-said-rehouni Aug 14, 2023
b3b2015
PIA-68: Add Network monitor to identify non-compliant Wifi
kp-said-rehouni Aug 14, 2023
68750f2
PIA-68: Integrate network monitor on HospotHelper
kp-said-rehouni Aug 14, 2023
4378a4b
Merge pull request #1145 from xvpn/PIA-68_detect_unsecured_wifi
kp-said-rehouni Aug 14, 2023
c59f694
PIA-54: Migrate currentRFC1918VulnerableWifi to Client preferences
kp-said-rehouni Aug 14, 2023
2d179d4
PIA-54: Add english localization for non compliant alert
kp-said-rehouni Aug 14, 2023
86c32c6
PIA-54: Add logic to show the non compliant WIFI alert
kp-said-rehouni Aug 14, 2023
69a2e86
PIA-54: Add logic to disable and reconnect CTA
kp-said-rehouni Aug 14, 2023
33b2c1e
Merge pull request #1146 from xvpn/PIA-54_show_non_compliat_wifi_alert
kp-said-rehouni Aug 15, 2023
6242a89
PIA-57: Update feature flags on dev builds from debug menu
kp-laura-sempere Aug 17, 2023
da209f7
PIA-57: Skip updating feature flag values when pulling from CSI serve…
kp-laura-sempere Aug 18, 2023
11736e8
Merge pull request #1147 from xvpn/PIA-57_add_feature_flags_to_debug_…
kp-laura-sempere Aug 18, 2023
0fed40b
PIA-57: Show leak protection local notification
kp-laura-sempere Aug 21, 2023
8a9cf5e
Merge pull request #1148 from xvpn/PIA-57_leak_protection_local_notif…
kp-laura-sempere Aug 22, 2023
36a6f36
PIA-61: Remove leak protection notification when the device connects …
kp-laura-sempere Aug 22, 2023
d98306e
PIA-62: Remove leak protection local notification when VPN is disconn…
kp-laura-sempere Aug 23, 2023
07899dc
Merge pull request #1149 from xvpn/PIA-61_remove_leak_protection_noti…
kp-laura-sempere Aug 23, 2023
aa8ac0a
PIA-325: Add logic to make sure we reconnect after disconnection was …
kp-said-rehouni Aug 25, 2023
36a69a2
Merge pull request #1151 from xvpn/PIA-325_disable_now_automatically_…
kp-said-rehouni Aug 28, 2023
033e983
PIA-326: Show alert whencurrent vpn status is not connected
kp-said-rehouni Aug 25, 2023
dc2edaa
Merge pull request #1152 from xvpn/PIA-326_alert_shown_when_diconnecting
kp-said-rehouni Aug 28, 2023
a1d3c2c
PIA-56: Handle learn more action on leak protection alert
kp-laura-sempere Aug 28, 2023
df409bb
PIA-63: Handle 'More info' action from the Leak Protection settings d…
kp-laura-sempere Aug 28, 2023
3169103
Merge pull request #1153 from xvpn/PIA-56_leak_detection_alert_learn_…
kp-laura-sempere Aug 29, 2023
d5366fc
PIA-337: Show leak protection content in English if no translations a…
kp-laura-sempere Aug 29, 2023
150608c
PIA-314: Add non-compliant check for current WIFI
kp-said-rehouni Aug 29, 2023
452304c
Merge pull request #1154 from xvpn/PIA-314_display_leak_protection_al…
kp-said-rehouni Aug 29, 2023
fd8e7f7
Merge pull request #1155 from xvpn/PIA-337_show_leak_protection_conte…
kp-laura-sempere Aug 29, 2023
f93d4da
PIA-62: Remove leak proteciton notification when vpn is disconnected …
kp-laura-sempere Aug 29, 2023
9e730b4
PIA-335: Dismiss leak protection alert when disconnecting from quick …
kp-laura-sempere Aug 30, 2023
d699da7
Merge pull request #1157 from xvpn/PIA-335_dismiss_leak_protection_al…
kp-laura-sempere Aug 31, 2023
c77f8d8
Merge pull request #1156 from xvpn/PIA-62_remove_leak_protection_noti…
kp-laura-sempere Aug 31, 2023
a1a83c2
PIA-350: Show leak protection local notification in English when untr…
kp-laura-sempere Aug 31, 2023
cad6fbe
Merge pull request #1158 from xvpn/PIA-350_set_local_notification_def…
kp-laura-sempere Aug 31, 2023
c92ae0a
PIA-362: Remove leak protection alert when user connects to a complia…
kp-laura-sempere Aug 31, 2023
5292751
Merge pull request #1159 from xvpn/PIA-362_remove_leak_protection_ale…
kp-laura-sempere Sep 1, 2023
cdecb33
Bump version to 3.23.1
kp-said-rehouni Sep 8, 2023
0414acc
Merge pull request #1160 from xvpn/release/3.23.1
kp-said-rehouni Sep 8, 2023
d20867f
PIA-454: Disable UI tests and failing tests from target
kp-said-rehouni Sep 11, 2023
f5d15ca
PIA-65: Hide leak protection settings when Wireguard is selected
kp-laura-sempere Aug 23, 2023
35d96c7
Merge pull request #1163 from xvpn/PIA-65_leak_protection_settings_un…
kp-laura-sempere Sep 13, 2023
ca2fa8a
PIA-454: Add Fastlane setup
kp-said-rehouni Sep 11, 2023
77e46f2
PIA-454: Add CI congifuration
kp-said-rehouni Sep 11, 2023
484df35
Merge pull request #1161 from xvpn/PIA-454_integrate_fastlane
kp-said-rehouni Sep 13, 2023
23f1f36
PIA-415: Connection Live Activity and Dynamic Island POC
kp-laura-sempere Sep 12, 2023
350eb97
PIA-490: Set feature flag for Dynamic Island Live Activity
kp-laura-sempere Sep 13, 2023
3609f2f
PIA-66: Add strings for non IKEV2 protocol alert
kp-said-rehouni Sep 14, 2023
82b6e90
PIA-66: Show non compliant alert for non IKEV2 protocol
kp-said-rehouni Sep 14, 2023
bd3d4e8
Merge pull request #1165 from xvpn/PIA-66_non_compliant_alert_wg_openvpn
kp-said-rehouni Sep 14, 2023
fc29641
PIA-66: Enable leak protection and disable allow local devices
kp-said-rehouni Sep 15, 2023
746d031
Merge pull request #1166 from xvpn/PIA-66_non_compliant_alert_wg_openvpn
kp-said-rehouni Sep 15, 2023
34e88fa
Bump version to 3.23.2
kp-said-rehouni Sep 14, 2023
e300e03
Merge pull request #1162 from xvpn/PIA-415_dynamic_island_poc
kp-laura-sempere Sep 18, 2023
6a29f4a
PIA-509: Execute pending actions when switching to IKEV2
kp-said-rehouni Sep 18, 2023
2932e9d
Merge pull request #1168 from xvpn/PIA-509_vpn_connection_issue_leak_…
kp-said-rehouni Sep 18, 2023
0c19c54
PIA-504: Update connection live activity and dynamic islanc UI
kp-laura-sempere Sep 19, 2023
55eeb95
Merge pull request #1169 from xvpn/PIA-504_dynamic_island_ui
kp-laura-sempere Sep 19, 2023
d45d936
PIA-417: Hook Connection state to Live Activity and Dynamic Island
kp-laura-sempere Sep 19, 2023
9c45d5c
Merge pull request #1167 from xvpn/release/3.23.2
kp-said-rehouni Sep 21, 2023
95ea83b
Merge pull request #1170 from xvpn/PIA-417_hook_connection_state_in_l…
kp-laura-sempere Sep 22, 2023
d0fd781
PIA-438: Bump version
kp-said-rehouni Sep 23, 2023
2fe5080
PIA-438: Add uploading to Testflight action
kp-said-rehouni Sep 23, 2023
59fef5f
PIA-438: Update CI to sign and upload builds
kp-said-rehouni Sep 23, 2023
9255217
PIA-438: Automate build number increase
kp-said-rehouni Sep 25, 2023
3a1dcb3
Merge pull request #1171 from xvpn/PIA-438_sign_pia_build
kp-said-rehouni Sep 25, 2023
f9c4d1e
PIA-620: Update PIAAccount framework
kp-said-rehouni Sep 26, 2023
b1db848
Merge pull request #1173 from xvpn/PIA-620_update_piaaccount_dependency
kp-said-rehouni Sep 26, 2023
41029f8
PIA-504: Update disconnected button and icon on Live Activity widget …
kp-laura-sempere Sep 26, 2023
e9a3b34
PIA-504: Localize text displayed on Live Activity and Dynamic Island
kp-laura-sempere Sep 26, 2023
0dbad94
Merge pull request #1172 from xvpn/PIA-504_dynamic_island_ui_updates
kp-laura-sempere Sep 27, 2023
15c427e
PIA-540: PIA e2e testing setup
kp-laura-sempere Oct 3, 2023
b1581a3
PIA-540: Remove legacy ui testing target
kp-laura-sempere Oct 3, 2023
e381cbb
PIA-540: Set user credentials from ENV variables
kp-laura-sempere Oct 4, 2023
2da2326
Merge pull request #1174 from xvpn/PIA-540_login_e2e_test
kp-laura-sempere Oct 5, 2023
852e0d2
PIA-556: Update translations
kp-laura-sempere Oct 6, 2023
6313d86
Merge pull request #1176 from xvpn/PIA-556_update_localization
kp-laura-sempere Oct 6, 2023
6a4247e
PIA-541: Allow VPN Profile installation e2e test
kp-laura-sempere Oct 5, 2023
b723211
Merge pull request #1175 from xvpn/PIA-541_automate_vpn_profile_permi…
kp-laura-sempere Oct 6, 2023
df09a7d
PIA-680: Add e2e workflow on CI
kp-laura-sempere Oct 10, 2023
ab9b13c
- Integrated framework with Quick and Nimble
kp-geneva-parayno Oct 17, 2023
50113ec
- Integrated framework with Quick and Nimble
kp-geneva-parayno Oct 17, 2023
8051155
Merge pull request #1177 from xvpn/PIA-680_e2e_ci_integration
kp-laura-sempere Oct 17, 2023
99e9180
- Enhanced based on PR Comments
kp-geneva-parayno Oct 19, 2023
43a7593
Merge pull request #1178 from xvpn/wip/PIA-681_integratingQuickandNimble
kp-geneva-parayno Oct 19, 2023
310e96b
PIA-566: Update UI on regions cell to accomodate full text on smaller…
kp-laura-sempere Oct 23, 2023
56003a8
Merge pull request #1180 from xvpn/PIA-566_fix_latency_display_on_reg…
kp-laura-sempere Oct 24, 2023
50b565a
Enhanced FW by adding screens, helpers and rearranged structure
kp-geneva-parayno Oct 25, 2023
e97eb27
PIA-560: Handle first region button from Quick Connect section
kp-laura-sempere Oct 20, 2023
440f369
Merge pull request #1179 from xvpn/PIA-560_connect_from_selected_regi…
kp-laura-sempere Oct 26, 2023
30d6b5a
Merge pull request #1181 from xvpn/wip/PIA-769_EnhanceFWStructure
kp-geneva-parayno Oct 26, 2023
e6e4976
PIA-832: Update app version to 3.23.4
kp-laura-sempere Oct 27, 2023
e5d18bd
Merge pull request #1182 from xvpn/PIA-832_add_ios_12_support
kp-laura-sempere Oct 27, 2023
8045107
PIA-809: Update application
kp-laura-sempere Nov 7, 2023
35ed544
PIA-809: Update XCode on CI pipeline
kp-laura-sempere Nov 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: pia_vpn_ios
on:
pull_request:
workflow_dispatch:
concurrency:
group: "${{ github.ref }}"
cancel-in-progress: true
jobs:
build:
runs-on: macos-13
env:
TEST_RUNNER_PIA_TEST_USER: ${{ secrets.PIA_ACCOUNT_USERNAME}}
TEST_RUNNER_PIA_TEST_PASSWORD: ${{ secrets.PIA_ACCOUNT_PASSWORD }}

steps:
- name: Setup Git credentials
run: |
git config --global url."https://${{ secrets.ORG_GITHUB_USERNAME }}:${{ secrets.ORG_GITHUB_TOKEN }}@github.com/".insteadOf "[email protected]:"

- uses: actions/checkout@v3

- name: Select XCode version
run: sudo xcode-select -s /Applications/Xcode_15.0.app

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7

- name: Install Fastlane
run: gem install fastlane

- name: Set credentials in fastlane env
run: echo "TEST_RUNNER_PIA_TEST_USER=${{ secrets.PIA_ACCOUNT_USERNAME}}"\n"TEST_RUNNER_PIA_TEST_PASSWORD=${{ secrets.PIA_ACCOUNT_PASSWORD }}" > fastlane/.env

- name: Check fastlane env
run: cat fastlane/.env

- name: Run e2e tests with fastlane
run: bundle exec fastlane e2e_tests
continue-on-error: true

- name: Run tests
run: bundle exec fastlane tests


51 changes: 51 additions & 0 deletions .github/workflows/testflight_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: testflight_deploy
on:
push:
branches:
- master

workflow_dispatch:
concurrency:
group: "${{ github.ref }}"
cancel-in-progress: true
jobs:
build:
runs-on: macos-13
env:
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
KEYCHAIN_NAME: ${{ secrets.KEYCHAIN_NAME }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}

steps:
- name: Setup Git credentials
run: |
git config --global url."https://${{ secrets.ORG_GITHUB_USERNAME }}:${{ secrets.ORG_GITHUB_TOKEN }}@github.com/".insteadOf "[email protected]:"

- uses: actions/checkout@v3

- name: Select XCode version
run: sudo xcode-select -s /Applications/Xcode_15.0.app

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7

- name: Install Fastlane
run: gem install fastlane

- name: Decode Certificates
run: echo "${{ secrets.IOS_CERTIFICATE }}" | base64 --decode > ./fastlane/Certificate.p12

- name: Run tests
run: bundle exec fastlane tests

- name: Set up certificates and profiles
run: bundle exec fastlane get_profiles > /dev/null 2>&1

- name: Upload version to TestFlight
run: bundle exec fastlane testflight_build

3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
407 changes: 279 additions & 128 deletions PIA VPN.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

31 changes: 25 additions & 6 deletions PIA VPN.xcodeproj/xcshareddata/xcschemes/PIA VPN dev.xcscheme
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
version = "1.3">
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
Expand Down Expand Up @@ -54,7 +54,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
shouldUseLaunchSchemeArgsEnv = "NO">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
Expand All @@ -64,6 +64,24 @@
ReferencedContainer = "container:PIA VPN.xcodeproj">
</BuildableReference>
</MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "PIA_TEST_USER"
value = "xxx"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "PIA_TEST_PASSWORD"
value = "xxx"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<TestPlans>
<TestPlanReference
reference = "container:PIA-VPN_E2E_Tests/PIA-VPN-e2e-simulator.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO">
Expand All @@ -76,12 +94,13 @@
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7EB8D11227CCF4C20030B060"
BuildableName = "PIA VPN UITests.xctest"
BlueprintName = "PIA VPN UITests"
BlueprintIdentifier = "69B70AAF2ACBF51C0072A09D"
BuildableName = "PIA-VPN_E2E_Tests.xctest"
BlueprintName = "PIA-VPN_E2E_Tests"
ReferencedContainer = "container:PIA VPN.xcodeproj">
</BuildableReference>
</TestableReference>
Expand Down
14 changes: 14 additions & 0 deletions PIA VPN.xcodeproj/xcshareddata/xcschemes/PIA VPN.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,20 @@
ReferencedContainer = "container:PIA VPN.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "NO"
buildForRunning = "NO"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7EB8D11227CCF4C20030B060"
BuildableName = "PIA VPN UITests.xctest"
BlueprintName = "PIA VPN UITests"
ReferencedContainer = "container:PIA VPN.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
version = "2.2">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "NO"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "NO">
<AutocreatedTestPlanReference>
</AutocreatedTestPlanReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "69B70AAF2ACBF51C0072A09D"
BuildableName = "PIA-VPN_E2E_Tests.xctest"
BlueprintName = "PIA-VPN_E2E_Tests"
ReferencedContainer = "container:PIA VPN.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<EnvironmentVariables>
<EnvironmentVariable
key = "PIA_TEST_USER"
value = "xxx"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "PIA_TEST_PASSWORD"
value = "xxx"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
48 changes: 48 additions & 0 deletions PIA VPN/AccessibilityId.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

import Foundation

public struct AccessibilityId {
public struct VPNPermission {
public static let screen = "id.vpnPermission.screen"
public static let submit = "id.vpnPermission.ok.button"
}

public struct Dashboard {
public static let connectionButton = "id.dashboard.connection.button"
}

}


/// This is the same struct `Accessibility` from `PIALibrary`
/// It has been copied over to the VPN ios client app to
/// facilitate e2e testing.
/// In the future, we will move the Welcome and Login ViewControllers and storyboards from `PIALibrary` into vpn ios
/// And this duplication will not be necessary
public struct PIALibraryAccessibility {
public struct Id {
public struct Welcome {
public static let environment = "id.welcome.environment"
}
public struct Login {
public static let submit = "id.login.submit"
public static let submitNew = "id.login.submit.new"
public static let username = "id.login.username"
public static let password = "id.login.submit"
public struct Error {
public static let banner = "id.login.error.banner"
}
}

public struct Dashboard {
public static let menu = "id.dashboard.menu"
}
public struct Menu {
public static let logout = "id.menu.logout"
}
public struct Dialog {
public static let destructive = "id.dialog.destructive.button"
}
}
}

21 changes: 20 additions & 1 deletion PIA VPN/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class AppDelegate: NSObject, UIApplicationDelegate {

var window: UIWindow?
private var hotspotHelper: PIAHotspotHelper!
private (set) var liveActivityManager: PIAConnectionLiveActivityManagerType?

deinit {
NotificationCenter.default.removeObserver(self)
Expand All @@ -55,12 +56,27 @@ class AppDelegate: NSObject, UIApplicationDelegate {
application.shortcutItems = []
hotspotHelper = PIAHotspotHelper()
_ = hotspotHelper.configureHotspotHelper()


instantiateLiveActivityManagerIfNeeded()
return true
}

private func instantiateLiveActivityManagerIfNeeded() {
if #available(iOS 16.2, *) {
// Only instantiates the LiveActivities if the Feature Flag for it is enabled
guard AppPreferences.shared.showDynamicIslandLiveActivity else {
liveActivityManager = nil
return
}

liveActivityManager = PIAConnectionLiveActivityManager.shared
}
}

func applicationWillTerminate(_ application: UIApplication) {
Bootstrapper.shared.dispose()

liveActivityManager?.endLiveActivities()
}

// MARK: Orientations
Expand Down Expand Up @@ -200,6 +216,9 @@ class AppDelegate: NSObject, UIApplicationDelegate {
application.applicationIconBadgeNumber = 0
// Remove the Non compliant Wifi local notification as the app is in foreground now
Macros.removeLocalNotification(NotificationCategory.nonCompliantWifi)

instantiateLiveActivityManagerIfNeeded()

}

private func refreshShortcutItems(in application: UIApplication) {
Expand Down
10 changes: 10 additions & 0 deletions PIA VPN/AppPreferences.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ class AppPreferences {
static let showNewInitialScreen = "showNewInitialScreen"
static let showLeakProtection = "showLeakProtection"
static let showLeakProtectionNotifications = "showLeakProtectionNotifications"
static let showDynamicIslandLiveActivity = "showDynamicIslandLiveActivity"

// Survey
static let userInteractedWithSurvey = "userInteractedWithSurvey"
Expand Down Expand Up @@ -537,6 +538,15 @@ class AppPreferences {
defaults.set(newValue, forKey: Entries.showLeakProtectionNotifications)
}
}

var showDynamicIslandLiveActivity: Bool {
get {
return defaults.bool(forKey: Entries.showDynamicIslandLiveActivity)
}
set {
defaults.set(newValue, forKey: Entries.showDynamicIslandLiveActivity)
}
}

var checksDipExpirationRequest: Bool {
get {
Expand Down
Loading
Loading