feat(config): add EnableDevTools setting and remove deprecated DNS prefetch
- Add EnableDevTools config field (default: true) to enable browser developer tools (F12, Inspect Element in context menu) - Separate from EnableWebKitDebug which controls internal logging - Remove deprecated SetEnableDnsPrefetching() call that caused warning in WebKitGTK 6 - DNS prefetching now uses NetworkSession.PrefetchDns()
- commit
- bdbf9d528ce6ea36762f61cc8bfec4add758d464
- author
- brice · · 2025-12-11 22:23 UTC
- committer
- brice · · 2025-12-11 17:14 UTC
- parent
- e1760bf
- signature
- unsigned
4 files · +8 -3
M internal/infrastructure/config/defaults.go +1 -0
| @@ -141,6 +141,7 @@ func DefaultConfig() *Config { | |||
| 141 | 141 | DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing) | |
| 142 | 142 | }, | |
| 143 | 143 | Debug: DebugConfig{ | |
| 144 | + | EnableDevTools: true, | |
| 144 | 145 | EnableWebKitDebug: false, | |
| 145 | 146 | WebKitDebugCategories: "Network:preconnectTo,ContentFilters", | |
| 146 | 147 | EnableFilteringDebug: false, | |
| @@ -141,6 +141,7 @@ func DefaultConfig() *Config { | |||||
| 141 | DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing) | 141 | DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing) | ||
| 142 | }, | 142 | }, | ||
| 143 | Debug: DebugConfig{ | 143 | Debug: DebugConfig{ | ||
| 144 | + | EnableDevTools: true, | |||
| 144 | EnableWebKitDebug: false, | 145 | EnableWebKitDebug: false, | ||
| 145 | WebKitDebugCategories: "Network:preconnectTo,ContentFilters", | 146 | WebKitDebugCategories: "Network:preconnectTo,ContentFilters", | ||
| 146 | EnableFilteringDebug: false, | 147 | EnableFilteringDebug: false, | ||
M internal/infrastructure/config/loader.go +1 -0
| @@ -285,6 +285,7 @@ func (m *Manager) setDefaults() { | |||
| 285 | 285 | m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit) | |
| 286 | 286 | ||
| 287 | 287 | // Debug defaults | |
| 288 | + | m.viper.SetDefault("debug.enable_devtools", defaults.Debug.EnableDevTools) | |
| 288 | 289 | m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug) | |
| 289 | 290 | m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories) | |
| 290 | 291 | m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug) | |
| @@ -285,6 +285,7 @@ func (m *Manager) setDefaults() { | |||||
| 285 | m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit) | 285 | m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit) | ||
| 286 | 286 | ||||
| 287 | // Debug defaults | 287 | // Debug defaults | ||
| 288 | + | m.viper.SetDefault("debug.enable_devtools", defaults.Debug.EnableDevTools) | |||
| 288 | m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug) | 289 | m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug) | ||
| 289 | m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories) | 290 | m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories) | ||
| 290 | m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug) | 291 | m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug) | ||
M internal/infrastructure/config/schema.go +3 -0
| @@ -176,6 +176,9 @@ type OmniboxConfig struct { | |||
| 176 | 176 | ||
| 177 | 177 | // DebugConfig holds debug and troubleshooting options | |
| 178 | 178 | type DebugConfig struct { | |
| 179 | + | // Enable browser developer tools (F12, Inspect Element in context menu) | |
| 180 | + | EnableDevTools bool `mapstructure:"enable_devtools" yaml:"enable_devtools" toml:"enable_devtools"` | |
| 181 | + | ||
| 179 | 182 | // Enable WebKit internal debug logging | |
| 180 | 183 | EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"` | |
| 181 | 184 | ||
| @@ -176,6 +176,9 @@ type OmniboxConfig struct { | |||||
| 176 | 176 | ||||
| 177 | // DebugConfig holds debug and troubleshooting options | 177 | // DebugConfig holds debug and troubleshooting options | ||
| 178 | type DebugConfig struct { | 178 | type DebugConfig struct { | ||
| 179 | + | // Enable browser developer tools (F12, Inspect Element in context menu) | |||
| 180 | + | EnableDevTools bool `mapstructure:"enable_devtools" yaml:"enable_devtools" toml:"enable_devtools"` | |||
| 181 | + | ||||
| 179 | // Enable WebKit internal debug logging | 182 | // Enable WebKit internal debug logging | ||
| 180 | EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"` | 183 | EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"` | ||
| 181 | 184 | ||||
M internal/infrastructure/webkit/settings.go +3 -3
| @@ -72,12 +72,12 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config. | |||
| 72 | 72 | } | |
| 73 | 73 | ||
| 74 | 74 | // Debug settings | |
| 75 | - | settings.SetEnableDeveloperExtras(cfg.Debug.EnableWebKitDebug) | |
| 75 | + | settings.SetEnableDeveloperExtras(cfg.Debug.EnableDevTools) | |
| 76 | 76 | settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole) | |
| 77 | 77 | ||
| 78 | 78 | // Browsing experience | |
| 79 | 79 | settings.SetEnableSmoothScrolling(true) | |
| 80 | - | settings.SetEnableDnsPrefetching(true) | |
| 80 | + | // Note: DNS prefetching setting deprecated in WebKitGTK 6 - use NetworkSession.PrefetchDns() instead | |
| 81 | 81 | settings.SetEnablePageCache(true) | |
| 82 | 82 | settings.SetEnableSiteSpecificQuirks(true) | |
| 83 | 83 | ||
| @@ -108,7 +108,7 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config. | |||
| 108 | 108 | sm.logger.Debug(). | |
| 109 | 109 | Str("sans_font", cfg.Appearance.SansFont). | |
| 110 | 110 | Str("rendering_mode", string(cfg.RenderingMode)). | |
| 111 | - | Bool("developer_extras", cfg.Debug.EnableWebKitDebug). | |
| 111 | + | Bool("developer_extras", cfg.Debug.EnableDevTools). | |
| 112 | 112 | Msg("settings applied") | |
| 113 | 113 | } | |
| 114 | 114 | ||
| @@ -72,12 +72,12 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config. | |||||
| 72 | } | 72 | } | ||
| 73 | 73 | ||||
| 74 | // Debug settings | 74 | // Debug settings | ||
| 75 | - | settings.SetEnableDeveloperExtras(cfg.Debug.EnableWebKitDebug) | 75 | + | settings.SetEnableDeveloperExtras(cfg.Debug.EnableDevTools) |
| 76 | settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole) | 76 | settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole) | ||
| 77 | 77 | ||||
| 78 | // Browsing experience | 78 | // Browsing experience | ||
| 79 | settings.SetEnableSmoothScrolling(true) | 79 | settings.SetEnableSmoothScrolling(true) | ||
| 80 | - | settings.SetEnableDnsPrefetching(true) | 80 | + | // Note: DNS prefetching setting deprecated in WebKitGTK 6 - use NetworkSession.PrefetchDns() instead |
| 81 | settings.SetEnablePageCache(true) | 81 | settings.SetEnablePageCache(true) | ||
| 82 | settings.SetEnableSiteSpecificQuirks(true) | 82 | settings.SetEnableSiteSpecificQuirks(true) | ||
| 83 | 83 | ||||
| @@ -108,7 +108,7 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config. | |||||
| 108 | sm.logger.Debug(). | 108 | sm.logger.Debug(). | ||
| 109 | Str("sans_font", cfg.Appearance.SansFont). | 109 | Str("sans_font", cfg.Appearance.SansFont). | ||
| 110 | Str("rendering_mode", string(cfg.RenderingMode)). | 110 | Str("rendering_mode", string(cfg.RenderingMode)). | ||
| 111 | - | Bool("developer_extras", cfg.Debug.EnableWebKitDebug). | 111 | + | Bool("developer_extras", cfg.Debug.EnableDevTools). |
| 112 | Msg("settings applied") | 112 | Msg("settings applied") | ||
| 113 | } | 113 | } | ||
| 114 | 114 | ||||