docs(changelog): document architectural migration and component improvements for v0.8.0
- commit
- 3e9717319902519101ce401d7250f3970dccb674
- author
- bamen · · 2025-09-15 20:45 UTC
- committer
- bamen · · 2025-09-15 17:36 UTC
- parent
- 89bee03
- signature
- unsigned
1 file · +13 -0
M CHANGELOG.md +13 -0
| @@ -13,6 +13,8 @@ All notable changes to this project will be documented in this file. | |||
| 13 | 13 | - **Page generator system**: Vite plugin for generating dumb:// protocol pages (homepage, config, about) with extensible architecture | |
| 14 | 14 | - **History deletion API**: New DELETE endpoint at `/history/delete?id=N` for removing individual history entries | |
| 15 | 15 | - **Lucide icons integration**: Professional SVG icons replacing emoji throughout the UI | |
| 16 | + | - **Global Shadow DOM system**: Unified shadow host utility for component isolation with shared ShadowRoot and CSS reset management | |
| 17 | + | - **Unified page-world bridge**: Integrated API bridge with event-driven communication between page-world and isolated-world contexts | |
| 16 | 18 | ||
| 17 | 19 | ### Improved | |
| 18 | 20 | - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components | |
| @@ -25,6 +27,14 @@ All notable changes to this project will be documented in this file. | |||
| 25 | 27 | - **Top 5 most visited**: New section displaying frequently accessed sites with visit counts | |
| 26 | 28 | - **Performance**: Instant shortcut response with pre-mounted DOM elements | |
| 27 | 29 | ||
| 30 | + | ### Changed | |
| 31 | + | - **Major architecture shift**: Removed HTTP API routes in favor of direct WebKit message bridge communication for better performance and reduced complexity | |
| 32 | + | - **API token support**: Added optional API security configuration with token-based authentication system | |
| 33 | + | - **Shadow DOM improvements**: Enhanced isolation with WeakSet tracking to prevent duplicate reset injection and global shadow host utility for component sharing | |
| 34 | + | - **Message handler refactoring**: Unified keyboard shortcut forwarding between native handlers and GUI components with DOM event bridge | |
| 35 | + | - **Omnibox suggestions**: Native Go-based suggestion computation with search shortcuts and history integration, eliminating HTTP fetch dependencies | |
| 36 | + | - **Toast styling**: Migrated from Tailwind CSS classes to inline styles within component scope for better Shadow DOM compatibility and isolation | |
| 37 | + | ||
| 28 | 38 | ### Fixed | |
| 29 | 39 | - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher | |
| 30 | 40 | - **Browser freeze**: Removed infinite loop in mode switching reactive effects | |
| @@ -33,6 +43,9 @@ All notable changes to this project will be documented in this file. | |||
| 33 | 43 | - **Omnibox positioning on homepage**: Fixed omnibox stuck in top-left corner by isolating homepage CSS styles and strengthening omnibox positioning with explicit fixed positioning and CSS isolation | |
| 34 | 44 | - **Find mode persistence**: Fixed find view persisting after pressing Esc when reopening with Ctrl+L by ensuring toggle() resets mode to 'omnibox' | |
| 35 | 45 | - **Favicon display**: Fixed missing favicons in homepage history after Svelte 5 migration by adding FaviconURL field to API response and implementing proper fallback display logic | |
| 46 | + | - **Homepage API communication**: Migrated from HTTP fetch to WebKit message bridge for all homepage API calls (history, stats, search) with proper callback handling and timeout management | |
| 47 | + | - **Omnibox accessibility**: Added keyboard navigation support with Tab/Enter activation for suggestion items and proper ARIA attributes for screen readers | |
| 48 | + | - **Omnibox suggestions race conditions**: Fixed timing issues where suggestions arrived before API was ready by implementing pending suggestions queue and proper event bridging between page-world and isolated-world contexts | |
| 36 | 49 | ||
| 37 | 50 | ## [0.7.0] - 2025-09-14 | |
| 38 | 51 | ||
| @@ -13,6 +13,8 @@ All notable changes to this project will be documented in this file. | |||||
| 13 | - **Page generator system**: Vite plugin for generating dumb:// protocol pages (homepage, config, about) with extensible architecture | 13 | - **Page generator system**: Vite plugin for generating dumb:// protocol pages (homepage, config, about) with extensible architecture | ||
| 14 | - **History deletion API**: New DELETE endpoint at `/history/delete?id=N` for removing individual history entries | 14 | - **History deletion API**: New DELETE endpoint at `/history/delete?id=N` for removing individual history entries | ||
| 15 | - **Lucide icons integration**: Professional SVG icons replacing emoji throughout the UI | 15 | - **Lucide icons integration**: Professional SVG icons replacing emoji throughout the UI | ||
| 16 | + | - **Global Shadow DOM system**: Unified shadow host utility for component isolation with shared ShadowRoot and CSS reset management | |||
| 17 | + | - **Unified page-world bridge**: Integrated API bridge with event-driven communication between page-world and isolated-world contexts | |||
| 16 | 18 | ||||
| 17 | ### Improved | 19 | ### Improved | ||
| 18 | - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components | 20 | - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components | ||
| @@ -25,6 +27,14 @@ All notable changes to this project will be documented in this file. | |||||
| 25 | - **Top 5 most visited**: New section displaying frequently accessed sites with visit counts | 27 | - **Top 5 most visited**: New section displaying frequently accessed sites with visit counts | ||
| 26 | - **Performance**: Instant shortcut response with pre-mounted DOM elements | 28 | - **Performance**: Instant shortcut response with pre-mounted DOM elements | ||
| 27 | 29 | ||||
| 30 | + | ### Changed | |||
| 31 | + | - **Major architecture shift**: Removed HTTP API routes in favor of direct WebKit message bridge communication for better performance and reduced complexity | |||
| 32 | + | - **API token support**: Added optional API security configuration with token-based authentication system | |||
| 33 | + | - **Shadow DOM improvements**: Enhanced isolation with WeakSet tracking to prevent duplicate reset injection and global shadow host utility for component sharing | |||
| 34 | + | - **Message handler refactoring**: Unified keyboard shortcut forwarding between native handlers and GUI components with DOM event bridge | |||
| 35 | + | - **Omnibox suggestions**: Native Go-based suggestion computation with search shortcuts and history integration, eliminating HTTP fetch dependencies | |||
| 36 | + | - **Toast styling**: Migrated from Tailwind CSS classes to inline styles within component scope for better Shadow DOM compatibility and isolation | |||
| 37 | + | ||||
| 28 | ### Fixed | 38 | ### Fixed | ||
| 29 | - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher | 39 | - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher | ||
| 30 | - **Browser freeze**: Removed infinite loop in mode switching reactive effects | 40 | - **Browser freeze**: Removed infinite loop in mode switching reactive effects | ||
| @@ -33,6 +43,9 @@ All notable changes to this project will be documented in this file. | |||||
| 33 | - **Omnibox positioning on homepage**: Fixed omnibox stuck in top-left corner by isolating homepage CSS styles and strengthening omnibox positioning with explicit fixed positioning and CSS isolation | 43 | - **Omnibox positioning on homepage**: Fixed omnibox stuck in top-left corner by isolating homepage CSS styles and strengthening omnibox positioning with explicit fixed positioning and CSS isolation | ||
| 34 | - **Find mode persistence**: Fixed find view persisting after pressing Esc when reopening with Ctrl+L by ensuring toggle() resets mode to 'omnibox' | 44 | - **Find mode persistence**: Fixed find view persisting after pressing Esc when reopening with Ctrl+L by ensuring toggle() resets mode to 'omnibox' | ||
| 35 | - **Favicon display**: Fixed missing favicons in homepage history after Svelte 5 migration by adding FaviconURL field to API response and implementing proper fallback display logic | 45 | - **Favicon display**: Fixed missing favicons in homepage history after Svelte 5 migration by adding FaviconURL field to API response and implementing proper fallback display logic | ||
| 46 | + | - **Homepage API communication**: Migrated from HTTP fetch to WebKit message bridge for all homepage API calls (history, stats, search) with proper callback handling and timeout management | |||
| 47 | + | - **Omnibox accessibility**: Added keyboard navigation support with Tab/Enter activation for suggestion items and proper ARIA attributes for screen readers | |||
| 48 | + | - **Omnibox suggestions race conditions**: Fixed timing issues where suggestions arrived before API was ready by implementing pending suggestions queue and proper event bridging between page-world and isolated-world contexts | |||
| 36 | 49 | ||||
| 37 | ## [0.7.0] - 2025-09-14 | 50 | ## [0.7.0] - 2025-09-14 | ||
| 38 | 51 | ||||