Merge pull request #307 from safing/fix/prompts-on-desktop

Set ShowOnSystem correctly for prompts
This commit is contained in:
Patrick Pacher 2021-05-18 14:51:34 +02:00 committed by GitHub
commit 2cfdae46b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 27 deletions

View file

@ -13,8 +13,6 @@ var (
CfgNetworkServiceKey = "core/networkService"
defaultNetworkServiceMode bool
CfgUseSystemNotificationsKey = "core/useSystemNotifications"
)
func init() {
@ -27,7 +25,7 @@ func init() {
}
func registerConfig() error {
err := config.Register(&config.Option{
if err := config.Register(&config.Option{
Name: "Network Service",
Key: CfgNetworkServiceKey,
Description: "Use the Portmaster as a network service, where applicable. You will have to take care of lots of network setup yourself in order to run this properly and securely.",
@ -39,25 +37,7 @@ func registerConfig() error {
config.DisplayOrderAnnotation: 513,
config.CategoryAnnotation: "Network Service",
},
})
if err != nil {
return err
}
err = config.Register(&config.Option{
Name: "Desktop Notifications",
Key: CfgUseSystemNotificationsKey,
Description: "In addition to showing notifications in the Portmaster App, also send them to the Desktop. This requires the Portmaster Notifier to be running.",
OptType: config.OptTypeBool,
ExpertiseLevel: config.ExpertiseLevelUser,
ReleaseLevel: config.ReleaseLevelStable,
DefaultValue: true, // TODO: turn off by default on unsupported systems
Annotations: config.Annotations{
config.DisplayOrderAnnotation: -15,
config.CategoryAnnotation: "User Interface",
},
})
if err != nil {
}); err != nil {
return err
}

View file

@ -3,6 +3,7 @@ package firewall
import (
"github.com/safing/portbase/api"
"github.com/safing/portbase/config"
"github.com/safing/portbase/notifications"
"github.com/safing/portmaster/core"
)
@ -12,6 +13,7 @@ var (
CfgOptionAskWithSystemNotificationsKey = "filter/askWithSystemNotifications"
cfgOptionAskWithSystemNotificationsOrder = 2
askWithSystemNotifications config.BoolOption
CfgOptionAskTimeoutKey = "filter/askTimeout"
cfgOptionAskTimeoutOrder = 3
@ -55,7 +57,7 @@ func registerConfig() error {
config.DisplayOrderAnnotation: cfgOptionAskWithSystemNotificationsOrder,
config.CategoryAnnotation: "General",
config.RequiresAnnotation: config.ValueRequirement{
Key: core.CfgUseSystemNotificationsKey,
Key: notifications.CfgUseSystemNotificationsKey,
Value: true,
},
},
@ -63,6 +65,7 @@ func registerConfig() error {
if err != nil {
return err
}
askWithSystemNotifications = config.Concurrent.GetAsBool(CfgOptionAskWithSystemNotificationsKey, true)
err = config.Register(&config.Option{
Name: "Prompt Timeout",

View file

@ -169,10 +169,11 @@ func createPrompt(ctx context.Context, conn *network.Connection, pkt packet.Pack
// Create new notification.
n = &notifications.Notification{
EventID: nID,
Type: notifications.Prompt,
Title: "Connection Prompt",
Category: "Privacy Filter",
EventID: nID,
Type: notifications.Prompt,
Title: "Connection Prompt",
Category: "Privacy Filter",
ShowOnSystem: askWithSystemNotifications(),
EventData: &promptData{
Entity: entity,
Profile: promptProfile{