docs(changelog): add bootstrap package and WebView prewarming details
- commit
- 3232426b4052dc35a4978e373f1ba201cbf802e9
- author
- bnema · · 2025-12-27 21:13 UTC
- parent
- 4ddcf80
- signature
- GPG Unverified
2B82207D370127A0The key is unknown
1 file · +5 -1
M CHANGELOG.md +5 -1
| @@ -21,7 +21,11 @@ All notable changes to this project will be documented in this file. | |||
| 21 | 21 | ||
| 22 | 22 | ### Changed | |
| 23 | 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. | |
| 24 | + | - New `internal/bootstrap` package encapsulates all startup orchestration. | |
| 25 | + | - `RunParallelInit()` runs 5 goroutines concurrently: directory resolution, pkg-config check, GStreamer check, theme manager creation, and SQLite WASM pre-compilation. | |
| 26 | + | - WebView pool prewarming creates one WebView synchronously so first `Acquire()` is instant. | |
| 27 | + | - Async session cleanup: stale session marking runs in background, doesn't block startup. | |
| 28 | + | - `StartupTimer` logs timing for each bootstrap phase (parallel init, DB/WebKit, app creation). | |
| 25 | 29 | - Database initialization runs in background goroutine while WebKit stack initializes on main thread. | |
| 26 | 30 | - Database path now resolved via `config.GetDatabaseFile()` following clean architecture. | |
| 27 | 31 | - Added connection pool settings optimized for SQLite (`SetMaxOpenConns(1)`, keep-alive). | |
| @@ -21,7 +21,11 @@ All notable changes to this project will be documented in this file. | |||||
| 21 | 21 | ||||
| 22 | ### Changed | 22 | ### Changed | ||
| 23 | - **Cold start optimization**: Reduced startup time by ~150ms (29% faster) through parallel initialization. | 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. | 24 | + | - New `internal/bootstrap` package encapsulates all startup orchestration. |
| 25 | + | - `RunParallelInit()` runs 5 goroutines concurrently: directory resolution, pkg-config check, GStreamer check, theme manager creation, and SQLite WASM pre-compilation. | |||
| 26 | + | - WebView pool prewarming creates one WebView synchronously so first `Acquire()` is instant. | |||
| 27 | + | - Async session cleanup: stale session marking runs in background, doesn't block startup. | |||
| 28 | + | - `StartupTimer` logs timing for each bootstrap phase (parallel init, DB/WebKit, app creation). | |||
| 25 | - Database initialization runs in background goroutine while WebKit stack initializes on main thread. | 29 | - Database initialization runs in background goroutine while WebKit stack initializes on main thread. | ||
| 26 | - Database path now resolved via `config.GetDatabaseFile()` following clean architecture. | 30 | - Database path now resolved via `config.GetDatabaseFile()` following clean architecture. | ||
| 27 | - Added connection pool settings optimized for SQLite (`SetMaxOpenConns(1)`, keep-alive). | 31 | - Added connection pool settings optimized for SQLite (`SetMaxOpenConns(1)`, keep-alive). | ||