Skip to content

Commit 2b02568

Browse files
authored
Fix permission checks on windows (#1885)
* disable update check when running local builds * manually enable permissions on windows web view
1 parent 65db225 commit 2b02568

File tree

3 files changed

+34
-18
lines changed

3 files changed

+34
-18
lines changed

backend/FwLite/FwLiteMaui/MainPage.xaml.Windows.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
#if WINDOWS
12
using Microsoft.AspNetCore.Components.WebView;
3+
using Microsoft.Web.WebView2.Core;
24

3-
#if WINDOWS
45
namespace FwLiteMaui;
56

67
public partial class MainPage
@@ -11,7 +12,34 @@ private partial void BlazorWebViewInitializing(object? sender, BlazorWebViewInit
1112

1213
private partial void BlazorWebViewInitialized(object? sender, BlazorWebViewInitializedEventArgs e)
1314
{
14-
e.WebView.CoreWebView2.PermissionRequested += new SilentPermissionRequestHandler().OnPermissionRequested;
15+
//we only need microphone for now, but we'll just set them all so we don't have to worry about it later
16+
Span<CoreWebView2PermissionKind> permissions =
17+
[
18+
CoreWebView2PermissionKind.Microphone,
19+
CoreWebView2PermissionKind.Autoplay,
20+
CoreWebView2PermissionKind.Camera,
21+
CoreWebView2PermissionKind.Geolocation,
22+
CoreWebView2PermissionKind.Notifications,
23+
CoreWebView2PermissionKind.ClipboardRead,
24+
CoreWebView2PermissionKind.FileReadWrite,
25+
CoreWebView2PermissionKind.LocalFonts,
26+
CoreWebView2PermissionKind.MultipleAutomaticDownloads,
27+
CoreWebView2PermissionKind.OtherSensors,
28+
CoreWebView2PermissionKind.WindowManagement,
29+
];
30+
#pragma warning disable VSTHRD110
31+
foreach (var permission in permissions)
32+
{
33+
//either of these ip addresses may be used, so just do both
34+
e.WebView.CoreWebView2.Profile.SetPermissionStateAsync(permission,
35+
"https://0.0.0.1",
36+
CoreWebView2PermissionState.Allow);
37+
e.WebView.CoreWebView2.Profile.SetPermissionStateAsync(permission,
38+
"https://0.0.0.0",
39+
CoreWebView2PermissionState.Allow);
40+
}
41+
#pragma warning restore VSTHRD110
42+
e.WebView.CoreWebView2.Settings.IsGeneralAutofillEnabled = false;
1543
}
1644
}
1745

backend/FwLite/FwLiteMaui/Platforms/Windows/SilentPermissionRequestHandler.cs

Lines changed: 0 additions & 15 deletions
This file was deleted.

backend/FwLite/FwLiteMaui/Properties/launchSettings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
//won't work when WindowsPackageType is None, not sure how to make this work with both profiles without changing this
1111
"Windows Machine": {
1212
"commandName": "MsixPackage",
13-
"nativeDebugging": false
13+
"nativeDebugging": false,
14+
"environmentVariables": {
15+
"FwLite:UpdateCheckCondition": "Never"
16+
}
1417
}
1518
}
1619
}

0 commit comments

Comments
 (0)