docs(changelog): add cold start optimization notes
- commit
- 4ddcf80e5ae7df9551a96868ebe6f5e24ebdf190
- author
- bnema · · 2025-12-27 21:10 UTC
- parent
- a59164b
- signature
- GPG Unverified
2B82207D370127A0The key is unknown
1 file · +9 -0
M CHANGELOG.md +9 -0
| @@ -19,6 +19,15 @@ All notable changes to this project will be documented in this file. | |||
| 19 | 19 | - `Ctrl+P → M`: Moves the active pane to the next tab (creates a new tab if needed). | |
| 20 | 20 | - New config: `workspace.switch_to_tab_on_move` (default: true). | |
| 21 | 21 | ||
| 22 | + | ### Changed | |
| 23 | + | - **Cold start optimization**: Reduced startup time by ~150ms (29% faster) through parallel initialization. | |
| 24 | + | - SQLite WASM runtime pre-compilation runs concurrently with GStreamer/runtime checks. | |
| 25 | + | - Database initialization runs in background goroutine while WebKit stack initializes on main thread. | |
| 26 | + | - Database path now resolved via `config.GetDatabaseFile()` following clean architecture. | |
| 27 | + | - Added connection pool settings optimized for SQLite (`SetMaxOpenConns(1)`, keep-alive). | |
| 28 | + | - Reduced `mmap_size` from 30GB to 256MB (reasonable for browser history DB). | |
| 29 | + | - Added `PRAGMA foreign_keys = ON` for referential integrity. | |
| 30 | + | ||
| 22 | 31 | ### Fixed | |
| 23 | 32 | - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews. | |
| 24 | 33 | - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency. | |
| @@ -19,6 +19,15 @@ All notable changes to this project will be documented in this file. | |||||
| 19 | - `Ctrl+P → M`: Moves the active pane to the next tab (creates a new tab if needed). | 19 | - `Ctrl+P → M`: Moves the active pane to the next tab (creates a new tab if needed). | ||
| 20 | - New config: `workspace.switch_to_tab_on_move` (default: true). | 20 | - New config: `workspace.switch_to_tab_on_move` (default: true). | ||
| 21 | 21 | ||||
| 22 | + | ### Changed | |||
| 23 | + | - **Cold start optimization**: Reduced startup time by ~150ms (29% faster) through parallel initialization. | |||
| 24 | + | - SQLite WASM runtime pre-compilation runs concurrently with GStreamer/runtime checks. | |||
| 25 | + | - Database initialization runs in background goroutine while WebKit stack initializes on main thread. | |||
| 26 | + | - Database path now resolved via `config.GetDatabaseFile()` following clean architecture. | |||
| 27 | + | - Added connection pool settings optimized for SQLite (`SetMaxOpenConns(1)`, keep-alive). | |||
| 28 | + | - Reduced `mmap_size` from 30GB to 256MB (reasonable for browser history DB). | |||
| 29 | + | - Added `PRAGMA foreign_keys = ON` for referential integrity. | |||
| 30 | + | ||||
| 22 | ### Fixed | 31 | ### Fixed | ||
| 23 | - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews. | 32 | - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews. | ||
| 24 | - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency. | 33 | - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency. | ||