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

Use Regex for app exclussion in split tunneling #74

Open
wants to merge 305 commits into
base: dependabot/nuget/src/ProtonVPN.App/Newtonsoft.Json-13.0.2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
305 commits
Select commit Hold shift + click to select a range
81df3e0
Merge branch 'release/2.4.1'
Mar 28, 2023
37c1e70
L10N-1786 - Add some explanatory comments to some localization resources
Mar 29, 2023
343de29
Use separate tag for jobs which do not require signing
Mar 29, 2023
e04ae45
Fix build time errors [VPNWIN-1391]
Mar 31, 2023
e1e1da8
i18n: Upgrade translations from crowdin (e04ae450).
proton-ci Apr 3, 2023
ff5c785
Add await to LoggingService Start and Stop
eaproton Apr 5, 2023
a728e21
Update pinned taskbar icon target when upgrading from v2 [VPNWIN-1413]
Apr 3, 2023
6a432e5
i18n: Upgrade translations from crowdin (a728e21f).
proton-ci Apr 10, 2023
0b917fd
Change app version header [VPNWIN-1146]
Mar 31, 2023
fd7e6e2
Fix stuck connect action [VPNWIN-1452]
Apr 7, 2023
6709223
Remove profile synchronization [VPNWIN-1417]
eaproton Apr 12, 2023
b2259cb
Pluralize NetShield Stats translations [L10N-1787][VPNWIN-1455]
eaproton Apr 12, 2023
eef7958
Remove profile cleanup and update UI Tests
Apr 14, 2023
001d21d
i18n: Upgrade translations from crowdin (eef79584).
proton-ci Apr 17, 2023
503b384
Delete unused Delinquency translations [VPNWIN-1415]
eaproton Apr 17, 2023
c3884e6
Code Style - Editor config file (VPNWIN-1469)
Apr 18, 2023
740e117
Handle IPC controller exceptions; Use ConcurrentHashSet for AppSettin…
eaproton Apr 19, 2023
cc0c15c
Increase app version to 3.0.5
Apr 19, 2023
264f113
i18n: Upgrade translations from crowdin (740e1174).
proton-ci Apr 24, 2023
66409a4
Fix unstable netshield and app kill test cases
Apr 25, 2023
1f1c565
i18n: Upgrade translations from crowdin (66409a48).
proton-ci May 1, 2023
f881d46
i18n: Upgrade translations from crowdin (1f1c565d).
proton-ci May 8, 2023
ecad1a1
Pluralize Upsell_Countries_Title [VPNWIN-1456]
eaproton May 9, 2023
ffe8df7
Merge branch 'release/3.0.5' into develop
May 9, 2023
7194fcc
Merge branch 'release/3.0.5'
May 9, 2023
083d80a
Update .net runtime to 6.0.16
May 9, 2023
4e44fc7
Enable NetShield on plan upgrade [VPNWIN-1451]
Apr 20, 2023
04bfc6a
Use SecureRandom for OpenVPN management password [VPNWIN-1472]
eaproton May 9, 2023
557883d
i18n: Upgrade translations from crowdin (04bfc6a9).
proton-ci May 15, 2023
8d71a3f
Fix MaximumDeviceLimitModal logic [VPNWIN-1423]
eaproton Apr 21, 2023
8a5d490
Fallback to system DNS on Name Server fetch failure [VPNWIN-1471]
eaproton May 15, 2023
d9a9b5d
Fix App Kill connection tests
May 10, 2023
fadc51b
Remove App Kill test cases
May 16, 2023
ac5f699
Fix tls pinning [VPNWIN-1495]
May 11, 2023
ad5c3a6
Remove wfp objects on app uninstall [VPNWIN-1519]
May 19, 2023
fed2629
Block outside OpenVPN traffic [VPNWIN-1516]
May 18, 2023
0f38dd1
i18n: Upgrade translations from crowdin (fed2629c).
proton-ci May 22, 2023
65369dd
Fix WireGuard service path after app update [VPNWIN-1517]
May 18, 2023
c2f91a5
Add randomized deviation to server maintenance check interval [VPNWIN…
May 22, 2023
af7ec4e
Remove old versions after installing a new one [VPNWIN-1392]
May 19, 2023
d8aa80e
Implement server validation [VPNWIN-1500]
eaproton May 24, 2023
4788d97
Switch to self-contained app [VPNWIN-1511]
May 16, 2023
70949af
BTI implementation [VPNWIN-1244]
eaproton May 24, 2023
c0a0903
Fix firewall permit from process filters after app update
May 29, 2023
f8c77d6
i18n: Upgrade translations from crowdin (c0a0903b).
proton-ci May 30, 2023
e735061
Remove permanent firewall filters when starting the app after clean i…
May 29, 2023
64b6442
Fix force logout when refresh token expires
May 31, 2023
66b7e5d
Wait for installer to finish for UI tests
Jun 1, 2023
a129ccd
Increase app version to 3.0.7
Jun 1, 2023
7d8f79c
Update inernal beta script to match new structure
Jun 1, 2023
e421940
Refactor Logging [VPNWIN-1152]
eaproton Jun 1, 2023
688fa73
i18n: Upgrade translations from crowdin (e4219404).
proton-ci Jun 5, 2023
ed134af
Fix dependencies build script on dev environment
Jun 1, 2023
315853f
Fix install actions dll path
Jun 5, 2023
7ee4a7f
i18n: Upgrade translations from crowdin (ed134af1).
proton-ci Jun 5, 2023
25ae8af
Improve how tests are being built and executed.
Jun 7, 2023
294d11b
Fix disabled button after a 2FA failed attempt [VPNWIN-1449]
eaproton Jun 1, 2023
c68d92e
i18n: Upgrade translations from crowdin (294d11b2).
proton-ci Jun 12, 2023
18c5989
BTI server signature public key [VPNWIN-1533]
eaproton Jun 8, 2023
12b5e4f
i18n: Upgrade translations from crowdin (18c5989f).
proton-ci Jun 19, 2023
077346e
Rename "North Macedonia" to "Macedonia" [VPNWIN-1556]
eaproton Jun 20, 2023
5b22982
Fix Moderate NAT tooltip text [VPNWIN-1562]
eaproton Jun 16, 2023
89c6aca
Add desktop shortcut checkbox to installer [VPNWIN-1581]
eaproton Jun 29, 2023
1e546c8
Merge branch 'release/3.0.7'
Jul 4, 2023
557c2b4
Merge branch 'release/3.0.7' into develop
Jul 4, 2023
f3ba7c2
i18n: Upgrade translations from crowdin (557c2b48).
proton-ci Jul 17, 2023
ac2f532
Feature/api url
Jul 20, 2023
33211c3
Add webview2 prerequisite to installer [VPNWIN-1641]
Jul 19, 2023
9248361
i18n: Upgrade translations from crowdin (33211c37).
proton-ci Jul 24, 2023
16dc035
Move test scripts to templates.
Jul 31, 2023
d3c2577
Add custom url protocol when installing the app
Jul 31, 2023
58e589a
i18n: Upgrade translations from crowdin (9248361b).
proton-ci Jul 31, 2023
525d6e2
Update OpenVPN to 2.6.5 version [VPNWIN-1561]
Jun 15, 2023
50986f4
Implement B2B
eaproton Aug 3, 2023
e90c241
Increase app version to 3.1.0
Aug 3, 2023
75529dd
Improve test stability
Aug 4, 2023
7548325
B2B code improvements [VPNWIN-1630]
eaproton Aug 4, 2023
e2f6e3f
i18n: Upgrade translations from crowdin (75483257).
proton-ci Aug 7, 2023
c7f5f2e
Add client performance monitoring in UI tests [VPNWIN-1665]
Aug 10, 2023
3ff34d6
Remove API call /events [VPNWIN-1639]
eaproton Aug 10, 2023
9439dfb
Increase timeout for windows refresh after app launch
Aug 11, 2023
89cebb7
Check also if uninstaller path exists
Aug 14, 2023
a8011bb
i18n: Upgrade translations from crowdin (9439dfba).
proton-ci Aug 14, 2023
7b1923f
Reduce number of calls to ClientConfig API [VPNWIN-1662]
eaproton Aug 4, 2023
097c104
Increase app version to 3.1.0
Aug 3, 2023
d0704a9
Delete old installers [VPNWIN-1660]
eaproton Aug 17, 2023
62c5d91
Implement rollout percentage for releases [VPNWIN-1466]
eaproton Aug 17, 2023
9e73ea4
Merge branch 'release/3.1.0'
Aug 17, 2023
d322535
i18n: Upgrade translations from crowdin (62c5d913).
proton-ci Aug 21, 2023
6b63643
Change Logical Features type from sbyte to ulong to support feature f…
eaproton Aug 8, 2023
7251a31
Fix Human Verification WebView size, margin, and background color [VP…
eaproton Aug 23, 2023
d58c126
Increase app version to 3.1.1
Aug 23, 2023
341882a
i18n: Upgrade translations from crowdin (7251a311).
proton-ci Aug 28, 2023
113019a
Add BTI build job [VPNWIN-1694]
Aug 31, 2023
96a70d8
Implement free plan rescope
Aug 31, 2023
f6801f0
Fetch logicals on free plan rescope
Sep 1, 2023
ceedf03
i18n: Upgrade translations from crowdin (f6801f07).
proton-ci Sep 4, 2023
c31d0a0
Fix random failures when UI is closed in UI tests
Sep 5, 2023
c99be0b
Merge branch 'release/3.1.1'
Sep 8, 2023
f8a864b
Merge branch 'release/3.1.1' into develop
Sep 8, 2023
360bffc
Add custom URI scheme handling, with support for account refresh and …
eaproton Sep 8, 2023
5f53399
Add driver list to bug reports [VPNWIN-1692]
eaproton Aug 29, 2023
754d99d
Fix free rescope UI issues [VPNWIN-1700]
Sep 7, 2023
e64d1f7
i18n: Upgrade translations from crowdin (5f53399d).
proton-ci Sep 11, 2023
cfe0bb2
Fix settings not being saved after restarting the application [VPNWIN…
Sep 13, 2023
9e9fbcc
Update client config on vpn plan change
Sep 12, 2023
55947ec
Increase app version to 3.2.1
Sep 14, 2023
1af393b
Create different commits for release and debug [VPNWIN-1690]
eaproton Sep 14, 2023
e83575b
i18n: Upgrade translations from crowdin (1af393b0).
proton-ci Sep 25, 2023
6810774
Implement statistical events for upsell [VPNWIN-1669]
eaproton Sep 26, 2023
6f1b29b
Fix/server list
Sep 26, 2023
a1090f8
Increase app version to 3.2.2
Sep 26, 2023
e6152f8
Change Statistical Events from Lock to Async Semaphore
eaproton Sep 28, 2023
9aa4fc1
Merge branch 'release/3.2.1' into develop
Sep 28, 2023
d7c6aee
Merge branch 'release/3.2.1'
Sep 29, 2023
4798399
Disable local agent features for free user [VPNWIN-1718]
Sep 28, 2023
2f1b297
Add option to install Proton Drive when installing Proton VPN [VPNWIN…
Oct 2, 2023
1f98532
Fix profiles color in the sidebar [VPNWIN-1721]
Oct 2, 2023
c5cfa15
Update OpenVPN config [VPNWIN-1712]
Oct 2, 2023
d80b1dc
Add installer option to disable auto updates [VPNWIN-1722]
Oct 2, 2023
450cb66
i18n: Upgrade translations from crowdin (9aa4fc1c). Adds Georgian lan…
proton-ci Oct 3, 2023
6f914d4
Improve performance testing
Oct 3, 2023
97af6b5
Improve BTI build script
Oct 3, 2023
50b6985
Add API status code to logs in case of 4xx response [VPNWIN-1733]
Oct 3, 2023
35d15f9
Add upgrade modals [VPNWIN-1672]
Oct 5, 2023
713f332
i18n: Upgrade translations from crowdin (35d15f9c).
proton-ci Oct 9, 2023
bf6e170
Localize Proton Drive string in the installer [VPNWIN-1761]
Oct 9, 2023
1e93ca7
Fix app installation path [VPNWIN-1805]
Oct 11, 2023
090caa4
Implement country list notification (Welcome Offer) [VPNWIN-1645]
eaproton Oct 12, 2023
886a7f5
Call Display with UpgradeAttempt on sidebar Announcement Banner click…
eaproton Oct 12, 2023
751b94f
Disable auto update in UI tests
Oct 12, 2023
3a245fc
Catch API exceptions at StatisticalEventSender
eaproton Oct 12, 2023
f6d46c1
Move ProtonVPN.App project to be the first in the solution
eaproton Oct 12, 2023
f868b12
Update runner for create-release job
Oct 13, 2023
217bf56
Merge branch 'release/3.2.2'
Oct 16, 2023
b533908
Merge branch 'release/3.2.2' into develop
Oct 16, 2023
fa52a5a
Fix duplicate app items in system notification settings [VPNWIN-1684]
Oct 11, 2023
7de9fd3
One-time notifications should one be shown to all users and between s…
eaproton Oct 17, 2023
4fca2f1
Increase app version to 3.2.4
Oct 17, 2023
b8c2218
Change updates folder permissions [VPNWIN-1735]
Oct 19, 2023
6a85c59
Merge branch 'release/3.2.4'
Oct 20, 2023
bdf3d16
Merge branch 'release/3.2.4' into develop
Oct 20, 2023
59138ce
i18n: Upgrade translations from crowdin (bdf3d16a).
proton-ci Oct 23, 2023
5e8a219
Black Friday 2023
Oct 24, 2023
8eeca9e
Fix taskbar icon overlay [VPNWIN-1819]
Oct 18, 2023
22bf0fc
Add Japanese language to the installer
Oct 25, 2023
f16e61e
Small fixes on announcements
Oct 25, 2023
fcb8372
Fix duplicate taskbar checkmark icon
Oct 26, 2023
58885f4
Migrate to new runner for signing the app
Oct 31, 2023
c40315d
Store all images from notifications locally
Nov 3, 2023
8930ac5
Fix installer path when removing previous old versions [VPNWIN-1836]
Nov 2, 2023
ce60072
Increase app version to 3.2.7
Nov 3, 2023
28b11ae
i18n: Upgrade translations from crowdin (fcb8372a).
proton-ci Oct 30, 2023
ad171f6
i18n: Upgrade translations from crowdin (28b11ae9).
proton-ci Nov 6, 2023
497db1b
Update gitlab internal release script
Nov 10, 2023
e87f368
i18n: Upgrade translations from crowdin (ad171f64).
proton-ci Nov 13, 2023
f30c156
Remove runner dependency on nethost
Nov 13, 2023
a8a3546
Merge branch 'release/3.2.7'
Nov 14, 2023
2ef861b
Merge branch 'release/3.2.7' into develop
Nov 14, 2023
daea2f2
Fix missing display telemetry event
Nov 15, 2023
8d8dbbb
Fix BTI installer build after migration to new runner
Nov 16, 2023
29964d2
i18n: Upgrade translations from crowdin (daea2f29).
proton-ci Nov 20, 2023
f05f3c5
Add development suffix to x-pm-appversion [VPNWIN-1842]
eaproton Nov 20, 2023
078178c
Replace Source Generators and fix config file being overwritten [VPNW…
eaproton Nov 23, 2023
530a2b2
i18n: Upgrade translations from crowdin (078178c7).
proton-ci Nov 27, 2023
3c67a66
Unauth sessions and SSO login support [VPNWIN-1742]
Nov 28, 2023
7f25304
Remove unused nuget packages and upgrade outdated versions [VPNWIN-1834]
Nov 29, 2023
19f4c5f
Fix feature flags app crash
Nov 30, 2023
ab00b6f
Implement first scheduled BTI tests [VPNWIN-1893]
Dec 1, 2023
a2e9f86
Fix issues from regression tests [VPNWIN-1894]
Dec 4, 2023
e9738c6
Ignore bti-test job on release and master branches
eaproton Dec 4, 2023
6e125d0
Increase app version to 3.2.8
Dec 4, 2023
53cfe37
i18n: Upgrade translations from crowdin (ab00b6fd).
proton-ci Dec 6, 2023
271e56c
Fix outdated app handler [VPNWIN-1901]
Dec 6, 2023
6a6973f
Improve check for Base Filtering Engine [VPNWIN-1878]
Dec 7, 2023
54ea7df
Improve rules for BTI jobs
Dec 11, 2023
fe6c491
Expand BTI test cases
Dec 8, 2023
0b72876
Merge branch 'release/3.2.8'
Dec 15, 2023
093bb21
Merge branch 'release/3.2.8' into develop
Dec 15, 2023
4851a1f
i18n: Upgrade translations from crowdin (6a6973f0).
proton-ci Dec 15, 2023
bd9eac2
Fix spanish strings
Dec 18, 2023
9813bd7
Increase app version to 3.2.9
Dec 18, 2023
1bb72c5
i18n: Upgrade translations from crowdin (4851a1fc).
proton-ci Dec 18, 2023
a855b9d
Fix human verification on DoH [VPNWIN-1273]
Dec 27, 2023
2cbafdf
Fix slack announcements
Dec 28, 2023
ed3d52d
i18n: Upgrade translations from crowdin (2cbafdf3).
proton-ci Jan 1, 2024
a8792d8
Merge branch 'release/3.2.9'
Jan 4, 2024
a8a7234
Merge branch 'release/3.2.9' into develop
Jan 4, 2024
fc24808
Remove updates folder deletion for old app versions [VPNWIN-1948]
Jan 5, 2024
f653c71
i18n: Upgrade translations from crowdin (fc24808c).
proton-ci Jan 8, 2024
4137c7a
Use different runner for github mirror
Jan 8, 2024
b4cc862
i18n: Upgrade translations from crowdin (4137c7a3).
proton-ci Jan 15, 2024
f58b2f5
Fix setup version check (v3) [VPNWIN-1970]
eaproton Jan 16, 2024
e0440e8
Improve uninstall script
Oct 9, 2023
5400e16
i18n: Upgrade translations from crowdin (e0440e8d).
proton-ci Jan 22, 2024
e84b5dc
i18n: Upgrade translations from crowdin (5400e167).
proton-ci Jan 29, 2024
6d12891
Prevent user from selecting the installation path [VPNWIN-1963] [VPNW…
Jan 29, 2024
2e4e250
Fix drive installer path
Jan 30, 2024
753c39d
Fix installer version check
Feb 1, 2024
e1f4018
Increase app version to 3.2.10
Feb 1, 2024
bc98b4f
i18n: Upgrade translations from crowdin (753c39d0).
proton-ci Feb 5, 2024
4f6385c
i18n: Upgrade translations from crowdin (bc98b4f6).
proton-ci Feb 12, 2024
97c9d80
i18n: Upgrade translations from crowdin (4f6385c8).
proton-ci Feb 19, 2024
9ef8b62
Merge branch 'release/3.2.10'
Feb 22, 2024
797f11a
Merge branch 'release/3.2.10' into develop
Feb 22, 2024
c805d93
i18n: Upgrade translations from crowdin (797f11af).
proton-ci Mar 4, 2024
4c83d4b
New country map coordinates [VPNWIN-2067]
eaproton Mar 6, 2024
5683499
i18n: Upgrade translations from crowdin (4c83d4bd).
proton-ci Mar 11, 2024
db39bf9
i18n: Upgrade translations from crowdin (56834996).
proton-ci Mar 18, 2024
88c1f35
Increase app version to 3.2.11
Mar 19, 2024
1647b8a
Merge branch 'release/3.2.11'
Apr 11, 2024
e0c8dfa
i18n: Upgrade translations from crowdin (db39bf9d).
proton-ci Apr 15, 2024
39b0513
Update signature for ProtonVPN callout driver [VPNWIN-2156]
Apr 18, 2024
b5db966
i18n: Upgrade translations from crowdin (e0c8dfad).
proton-ci Apr 15, 2024
3e72ff2
i18n: Upgrade translations from crowdin (b5db9668).
proton-ci Apr 22, 2024
0d4376c
i18n: Upgrade translations from crowdin (3e72ff26).
proton-ci Apr 29, 2024
c7a848e
i18n: Upgrade translations from crowdin (0d4376c9).
proton-ci May 6, 2024
f1eed8a
Publish executable projects individually instead of publishing solution
May 10, 2024
53f1622
i18n: Upgrade translations from crowdin (f1eed8ae).
proton-ci May 13, 2024
fbe8232
i18n: Upgrade translations from crowdin (53f1622f).
proton-ci May 20, 2024
1129b03
Update Proton Drive installer to use new json structure
May 20, 2024
89b512b
Update OpenVPN to 2.6.10 [VPNWIN-1696]
Apr 26, 2024
d65b374
i18n: Upgrade translations from crowdin (89b512b0).
proton-ci May 27, 2024
96af865
Fix restricted account tests
May 28, 2024
2ae2df9
i18n: Upgrade translations from crowdin (96af8657).
proton-ci Jun 3, 2024
66bb4d5
Adjust permissions for installer launched processes [VPNWIN-2201]
Jun 13, 2024
66601a0
Increase app version to 3.2.12
Jun 13, 2024
3a96afd
i18n: Upgrade translations from crowdin (66bb4d53).
proton-ci Jun 17, 2024
e8a312a
i18n: Upgrade translations from crowdin (3a96afd0).
proton-ci Jun 24, 2024
7b9401b
i18n: Upgrade translations from crowdin (e8a312af).
proton-ci Jul 1, 2024
1e57195
Merge branch 'release/3.2.12'
Jul 10, 2024
37b4182
Merge branch 'release/3.2.12' into develop
Jul 10, 2024
f998d54
Prevent installing Proton Drive in silent mode [VPNWIN-2252]
Jul 12, 2024
efdacc2
i18n: Upgrade translations from crowdin (f998d547).
Jul 22, 2024
3b901fa
Deploy binaries and json to nexus/s3
Jul 23, 2024
ca995b1
Implement WireGuard TCP/TLS [VPNWIN-2248]
Jul 25, 2024
e81b9e1
Delete local app data folder on uninstall [VPNWIN-2268]
Jul 25, 2024
b8577b6
i18n: Upgrade translations from crowdin (e81b9e1c).
Jul 29, 2024
c56b250
Use timestamps with logicals API requests [VPNWIN-2259]
eaproton Jul 29, 2024
dcc068e
Use protocol from app settings on reconnect
Jul 29, 2024
30a2a4c
Increase app version to 3.3.0
Jul 29, 2024
dd61560
i18n: Upgrade translations from crowdin (dcc068e2).
Aug 5, 2024
8aa61aa
Use Stealth for Guest Hole [VPNWIN-2299]
Aug 6, 2024
3afe246
Merge branch 'release/3.3.0'
Aug 7, 2024
1f833bc
Merge branch 'release/3.3.0' into develop
Aug 7, 2024
cc7cd50
Fix tcp ping before connecting to VPN [VPNWIN-2300]
Aug 8, 2024
f0cd648
Remove job for deploying metadata
Aug 9, 2024
2a60f0a
Add x-pm-country header for clientconfig request [VPNWIN-2304]
Aug 9, 2024
48cd9e7
Increase app version to 3.3.2
Aug 9, 2024
0137c33
Merge branch 'release/3.3.2'
Aug 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
56 changes: 42 additions & 14 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -212,55 +212,83 @@ insert_final_newline=false
tab_width=4

# http://kent-boogaart.com/blog/editorconfig-reference-for-c-developers#dotnet_naming_
# dotnet_naming_symbols.private_field_symbol.applicable_kinds = field
# dotnet_naming_symbols.private_field_symbol.applicable_accessibilities = private
# dotnet_naming_style.private_field_style.capitalization = camel_case
# dotnet_naming_rule.private_fields_are_camel_case.severity = error
# dotnet_naming_rule.private_fields_are_camel_case.symbols = private_field_symbol
# dotnet_naming_rule.private_fields_are_camel_case.style = private_field_style

# Private fields
dotnet_naming_symbols.private_field_symbol.applicable_kinds = field
dotnet_naming_symbols.private_field_symbol.applicable_accessibilities = private
dotnet_naming_style.private_field_style.capitalization = camel_case
dotnet_naming_style.private_field_style.required_prefix=_
dotnet_naming_rule.private_fields_must_be_prefixed_with__.severity = error
dotnet_naming_rule.private_fields_must_be_prefixed_with__.symbols = private_field_symbol
dotnet_naming_rule.private_fields_must_be_prefixed_with__.style = private_field_style

# Constant fields
dotnet_naming_symbols.constant_field.applicable_kinds = field
dotnet_naming_symbols.constant_field.applicable_accessibilities = *
dotnet_naming_symbols.constant_field.required_modifiers = const
dotnet_naming_style.uppercase.word_separator = _
dotnet_naming_style.uppercase.capitalization = all_upper
dotnet_naming_rule.constant_field_should_be_uppercase.severity = error
dotnet_naming_rule.constant_field_should_be_uppercase.symbols = constant_field
dotnet_naming_rule.constant_field_should_be_uppercase.style = uppercase

# Non private fields
dotnet_naming_symbols.non_private_field_symbol.applicable_kinds=field
dotnet_naming_symbols.non_private_field_symbol.applicable_accessibilities=public,internal,friend,protected,protected_internal,protected_friend
dotnet_naming_style.non_private_field_style.capitalization=pascal_case
dotnet_naming_rule.non_private_fields_are_pascal_case.severity=error
dotnet_naming_rule.non_private_fields_are_pascal_case.symbols=non_private_field_symbol
dotnet_naming_rule.non_private_fields_are_pascal_case.style=non_private_field_style

# Parameters
dotnet_naming_symbols.parameter_symbol.applicable_kinds=parameter
dotnet_naming_style.parameter_style.capitalization=camel_case
dotnet_naming_rule.parameters_are_camel_case.severity=error
dotnet_naming_rule.parameters_are_camel_case.symbols=parameter_symbol
dotnet_naming_rule.parameters_are_camel_case.style=parameter_style

# Classes, struct, enums..
dotnet_naming_symbols.non_interface_type_symbol.applicable_kinds=class,struct,enum,delegate
dotnet_naming_style.non_interface_type_style.capitalization=pascal_case
dotnet_naming_rule.non_interface_types_are_pascal_case.severity=error
dotnet_naming_rule.non_interface_types_are_pascal_case.symbols=non_interface_type_symbol
dotnet_naming_rule.non_interface_types_are_pascal_case.style=non_interface_type_style

# Interfaces
dotnet_naming_symbols.interface_type_symbol.applicable_kinds=interface
dotnet_naming_style.interface_type_style.capitalization=pascal_case
dotnet_naming_style.interface_type_style.required_prefix=I
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity=error
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols=interface_type_symbol
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style=interface_type_style

# Methods, Properties and events
dotnet_naming_symbols.member_symbol.applicable_kinds=method,property,event
dotnet_naming_style.member_style.capitalization=pascal_case
dotnet_naming_rule.members_are_pascal_case.severity=error
dotnet_naming_rule.members_are_pascal_case.symbols=member_symbol
dotnet_naming_rule.members_are_pascal_case.style=member_style

# Constant Fields Should Be PascalCase
dotnet_naming_rule.constant_fields_should_be_upper_case.severity=warning
dotnet_naming_rule.constant_fields_should_be_upper_case.symbols=constant_fields
dotnet_naming_rule.constant_fields_should_be_upper_case.style=pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds=field
dotnet_naming_symbols.constant_fields.required_modifiers=const
dotnet_naming_style.pascal_case_style.capitalization=pascal_case
# Async Methods
dotnet_naming_symbols.async_method.applicable_kinds = method
dotnet_naming_symbols.async_method.applicable_accessibilities = *
dotnet_naming_symbols.async_method.required_modifiers = async
dotnet_naming_style.ends_with_async.required_prefix =
dotnet_naming_style.ends_with_async.required_suffix = Async
dotnet_naming_style.ends_with_async.word_separator =
dotnet_naming_style.ends_with_async.capitalization = pascal_case
dotnet_naming_rule.async_method_should_be_ends_with_async.severity = suggestion
dotnet_naming_rule.async_method_should_be_ends_with_async.symbols = async_method
dotnet_naming_rule.async_method_should_be_ends_with_async.style = ends_with_async

# ReSharper inspection severities
resharper_arrange_this_qualifier_highlighting=hint

# IDE1006: Naming Styles
dotnet_diagnostic.ide1006.severity=warning

# Ignore that our code is compatible only with Windows
# CA1416: Validate platform compatibility
dotnet_diagnostic.CA1416.severity = none

# IDE0058: Remove unnecessary expression value
csharp_style_unused_value_expression_statement_preference = discard_variable:none
66 changes: 66 additions & 0 deletions .gitlab-ci-templates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.test_execution_script:
stage: ui-test
dependencies:
- build-installer
tags:
- e2e-tests
script:
- ci\test-scripts\uninstall-app.ps1
- ci\test-scripts\install-the-app.ps1
- dotnet build src/Tests/ProtonVPN.UI.Tests/ProtonVPN.UI.Tests.csproj --arch x64 -o src/bin
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /Settings:ci/test-scripts/TestRun/test-run-settings.xml /TestCaseFilter:"Category=${CATEGORY}"
- ci\test-scripts\uninstall-app.ps1
artifacts:
when: always
name: "result-ui"
paths:
- $TEST_ARTIFACT_PATH
expire_in: 1 weeks

.build-script:
stage: build
tags:
- windows-dot-net
script:
- echo "Building native dependencies..."
- nuget restore ProtonVPN.InstallActions.sln
- cmd.exe /c BuildDependencies.bat $DEPENDENCIES
- python ci\build-scripts\main.py add-commit-hash $env:CI_COMMIT_SHORT_SHA
- python ci\build-scripts\main.py defaultConfig
- dotnet build src\Builds\ProtonVPN.Builds.ConsoleJob\ProtonVPN.Builds.ConsoleJob.csproj
- echo "Injecting CI variables"
- src\bin\ProtonVPN.Builds.ConsoleJob.exe
- echo "Publishing ${TYPE}..."
- dotnet publish src/ProtonVPN.App/ProtonVPN.App.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Service/ProtonVPN.Service.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.WireguardService/ProtonVPN.WireguardService.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.TlsVerify/ProtonVPN.TlsVerify.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Launcher/ProtonVPN.Launcher.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.RestoreInternet/ProtonVPN.RestoreInternet.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonDrive.Downloader/ProtonDrive.Downloader.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- msbuild src\ProtonVPN.NativeHost\NativeHost.vcxproj /p:Configuration=Release /p:Platform=x64
artifacts:
expire_in: 1 day
paths:
- $BUILD_PATH
- src/ProtonVPN.NativeHost/bin/
variables:
GIT_SUBMODULE_STRATEGY: normal

.build-installer:
stage: build-installer
tags:
- windows-vpn-signer
script:
- python ci\build-scripts\main.py update-gh-list
- python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA
artifacts:
paths:
- Setup/Installers/
expire_in: 4 weeks
variables:
FF_USE_FASTZIP: "true"
TRANSFER_METER_FREQUENCY: "2s"
ARTIFACT_COMPRESSION_LEVEL: "fastest"
CACHE_COMPRESSION_LEVEL: "fastest"
FASTZIP_ARCHIVER_BUFFER_SIZE: 128
Loading