chore(changelog): add popup refactoring changes
Document major changes in [Unreleased]: - Native WebKit popup lifecycle implementation - Popup behavior configuration (split/stacked/tabbed/windowed) - Removal of JavaScript window.open interception - Fix for popup SIGSEGV crashes and GTK bloom filter corruption
- commit
- b51117949dd35e8b4637e076d78db2ab1aaf2cc8
- author
- bamen · · 2025-10-12 07:56 UTC
- parent
- 6afa5b6
- signature
- unsigned
1 file · +6 -0
M CHANGELOG.md +6 -0
| @@ -8,6 +8,11 @@ All notable changes to this project will be documented in this file. | |||
| 8 | 8 | - ENV=dev support to isolate test builds from production config/data in .dev/dumber/ directory | |
| 9 | 9 | - Content filtering whitelist config (Twitch enabled by default) | |
| 10 | 10 | - `dumber config` command to open config file in $VISUAL/$EDITOR or print path with `--path` | |
| 11 | + | - **Native WebKit popup lifecycle**: Implemented WebKit's create/ready-to-show/close signals for proper popup management, eliminating manual WebView creation that bypassed WebKit's internal architecture | |
| 12 | + | - **Popup behavior configuration**: Added `popup_behavior` config with four modes: `split` (default), `stacked`, `tabbed`, and `windowed` for user control over popup placement | |
| 13 | + | ||
| 14 | + | ### Changed | |
| 15 | + | - **Popup architecture refactoring**: Removed ~280 lines of JavaScript window.open interception in favor of WebKit's native popup signals. Popups now follow WebKitGTK's expected lifecycle instead of being intercepted and manually created | |
| 11 | 16 | ||
| 12 | 17 | ### Fixed | |
| 13 | 18 | - Enabled missing WebKitGTK6 features: WebRTC, MediaSource, LocalStorage, WebAudio, MediaStream, Clipboard | |
| @@ -15,6 +20,7 @@ All notable changes to this project will be documented in this file. | |||
| 15 | 20 | - Config file duplicate keys (snake_case/camelCase) by using Viper's SafeWriteConfigAs | |
| 16 | 21 | - Config not reading newly created default config file | |
| 17 | 22 | - Config writing to disk on every load/reload | |
| 23 | + | - **Popup SIGSEGV crashes**: Eliminated segmentation violations during popup lifecycle by respecting WebKit's signal-based popup management. Fixes OAuth popup crashes and GTK bloom filter corruption | |
| 18 | 24 | ||
| 19 | 25 | ## [0.11.0] - 2025-10-07 | |
| 20 | 26 | ||
| @@ -8,6 +8,11 @@ All notable changes to this project will be documented in this file. | |||||
| 8 | - ENV=dev support to isolate test builds from production config/data in .dev/dumber/ directory | 8 | - ENV=dev support to isolate test builds from production config/data in .dev/dumber/ directory | ||
| 9 | - Content filtering whitelist config (Twitch enabled by default) | 9 | - Content filtering whitelist config (Twitch enabled by default) | ||
| 10 | - `dumber config` command to open config file in $VISUAL/$EDITOR or print path with `--path` | 10 | - `dumber config` command to open config file in $VISUAL/$EDITOR or print path with `--path` | ||
| 11 | + | - **Native WebKit popup lifecycle**: Implemented WebKit's create/ready-to-show/close signals for proper popup management, eliminating manual WebView creation that bypassed WebKit's internal architecture | |||
| 12 | + | - **Popup behavior configuration**: Added `popup_behavior` config with four modes: `split` (default), `stacked`, `tabbed`, and `windowed` for user control over popup placement | |||
| 13 | + | ||||
| 14 | + | ### Changed | |||
| 15 | + | - **Popup architecture refactoring**: Removed ~280 lines of JavaScript window.open interception in favor of WebKit's native popup signals. Popups now follow WebKitGTK's expected lifecycle instead of being intercepted and manually created | |||
| 11 | 16 | ||||
| 12 | ### Fixed | 17 | ### Fixed | ||
| 13 | - Enabled missing WebKitGTK6 features: WebRTC, MediaSource, LocalStorage, WebAudio, MediaStream, Clipboard | 18 | - Enabled missing WebKitGTK6 features: WebRTC, MediaSource, LocalStorage, WebAudio, MediaStream, Clipboard | ||
| @@ -15,6 +20,7 @@ All notable changes to this project will be documented in this file. | |||||
| 15 | - Config file duplicate keys (snake_case/camelCase) by using Viper's SafeWriteConfigAs | 20 | - Config file duplicate keys (snake_case/camelCase) by using Viper's SafeWriteConfigAs | ||
| 16 | - Config not reading newly created default config file | 21 | - Config not reading newly created default config file | ||
| 17 | - Config writing to disk on every load/reload | 22 | - Config writing to disk on every load/reload | ||
| 23 | + | - **Popup SIGSEGV crashes**: Eliminated segmentation violations during popup lifecycle by respecting WebKit's signal-based popup management. Fixes OAuth popup crashes and GTK bloom filter corruption | |||
| 18 | 24 | ||||
| 19 | ## [0.11.0] - 2025-10-07 | 25 | ## [0.11.0] - 2025-10-07 | ||
| 20 | 26 | ||||