detached 2d89a0f

docs(changelog): capture theme and homepage updates

commit
2d89a0ff7cecc8a3c55e947f288a48e789ca7e34
author
bamen · · 2025-09-17 05:18 UTC
parent
981e370
signature
unsigned
1 file · +10 -1
M CHANGELOG.md +10 -1
@@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
55 ## [Unreleased]
66
77 ### Added
8+- **GTK color scheme bridge**: Dedicated document-start module keeps WebKit theme in sync with GTK preferences and exposes unified runtime updater
9+- **Color scheme build pipeline**: Separate Vite entry produces reusable `color-scheme.js` asset shared between native and injected contexts
810 - **Complete Svelte 5 GUI migration**: Omnibox and find components migrated from raw JavaScript to modern Svelte 5 with runes
911 - **Tailwind CSS v4 integration**: Unified design system with PostCSS and JIT compilation
1012 - **TypeScript keyboard service**: Centralized shortcut management with full type safety
@@ -12,11 +14,15 @@ All notable changes to this project will be documented in this file.
1214 - **Homepage Svelte 5 component**: New standalone homepage with history display and keyboard shortcuts reference
1315 - **Page generator system**: Vite plugin for generating dumb:// protocol pages (homepage, config, about) with extensible architecture
1416 - **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
17+- **Database migrations**: Embedded migrations now run automatically at startup to keep sqlite schema in sync
18+- **Inline CSS type declarations**: Ambient module definitions for raw CSS imports improve TypeScript ergonomics in injected bundles
1619 - **Global Shadow DOM system**: Unified shadow host utility for component isolation with shared ShadowRoot and CSS reset management
1720 - **Unified page-world bridge**: Integrated API bridge with event-driven communication between page-world and isolated-world contexts
1821
1922 ### Improved
23+- **Asset MIME detection**: Expanded scheme handler lookup covers fonts, images, and JSON to prevent incorrect `text/plain` responses
24+- **Toast theming**: Runtime theme observer syncs toast styling with the browser's dark mode state for consistent visuals
25+- **Shadow host styling**: Injected GUI now adopts Tailwind design tokens inside the shared shadow root with automatic dark-mode mirroring
2026 - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components
2127 - **Toast notifications**: Migrated from raw JavaScript to Svelte 5 components with proper animations
2228 - **GUI build pipeline**: Vite-based bundling with hot reload and TypeScript support
@@ -28,6 +34,7 @@ All notable changes to this project will be documented in this file.
2834 - **Performance**: Instant shortcut response with pre-mounted DOM elements
2935
3036 ### Changed
37+- **Homepage icons**: Replaced Lucide dependency with inline SVG/Unicode fallbacks to shrink bundle size while debugging upstream build issues
3138 - **Major architecture shift**: Removed HTTP API routes in favor of direct WebKit message bridge communication for better performance and reduced complexity
3239 - **API token support**: Added optional API security configuration with token-based authentication system
3340 - **Shadow DOM improvements**: Enhanced isolation with WeakSet tracking to prevent duplicate reset injection and global shadow host utility for component sharing
@@ -36,6 +43,8 @@ All notable changes to this project will be documented in this file.
3643 - **Toast styling**: Migrated from Tailwind CSS classes to inline styles within component scope for better Shadow DOM compatibility and isolation
3744
3845 ### Fixed
46+- **Service worker residue**: Homepage clears stale caches and unregisters old service workers to avoid 404s for legacy `_app` assets
47+- **Keyboard debounce**: Native accelerator bridge filters duplicate shortcut events within 120ms for DOM and CGO handlers
3948 - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher
4049 - **Browser freeze**: Removed infinite loop in mode switching reactive effects
4150 - **State persistence**: Proper cleanup when switching between Ctrl+L and Ctrl+F modes
@@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
5 ## [Unreleased]5 ## [Unreleased]
6 6
7 ### Added7 ### Added
8+- **GTK color scheme bridge**: Dedicated document-start module keeps WebKit theme in sync with GTK preferences and exposes unified runtime updater
9+- **Color scheme build pipeline**: Separate Vite entry produces reusable `color-scheme.js` asset shared between native and injected contexts
8 - **Complete Svelte 5 GUI migration**: Omnibox and find components migrated from raw JavaScript to modern Svelte 5 with runes10 - **Complete Svelte 5 GUI migration**: Omnibox and find components migrated from raw JavaScript to modern Svelte 5 with runes
9 - **Tailwind CSS v4 integration**: Unified design system with PostCSS and JIT compilation11 - **Tailwind CSS v4 integration**: Unified design system with PostCSS and JIT compilation
10 - **TypeScript keyboard service**: Centralized shortcut management with full type safety12 - **TypeScript keyboard service**: Centralized shortcut management with full type safety
@@ -12,11 +14,15 @@ All notable changes to this project will be documented in this file.
12 - **Homepage Svelte 5 component**: New standalone homepage with history display and keyboard shortcuts reference14 - **Homepage Svelte 5 component**: New standalone homepage with history display and keyboard shortcuts reference
13 - **Page generator system**: Vite plugin for generating dumb:// protocol pages (homepage, config, about) with extensible architecture15 - **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 entries16 - **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 UI17+- **Database migrations**: Embedded migrations now run automatically at startup to keep sqlite schema in sync
18+- **Inline CSS type declarations**: Ambient module definitions for raw CSS imports improve TypeScript ergonomics in injected bundles
16 - **Global Shadow DOM system**: Unified shadow host utility for component isolation with shared ShadowRoot and CSS reset management19 - **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 contexts20 - **Unified page-world bridge**: Integrated API bridge with event-driven communication between page-world and isolated-world contexts
18 21
19 ### Improved22 ### Improved
23+- **Asset MIME detection**: Expanded scheme handler lookup covers fonts, images, and JSON to prevent incorrect `text/plain` responses
24+- **Toast theming**: Runtime theme observer syncs toast styling with the browser's dark mode state for consistent visuals
25+- **Shadow host styling**: Injected GUI now adopts Tailwind design tokens inside the shared shadow root with automatic dark-mode mirroring
20 - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components26 - **Omnibox/Find system**: Complete migration from 500-line raw JavaScript to modular Svelte 5 components
21 - **Toast notifications**: Migrated from raw JavaScript to Svelte 5 components with proper animations27 - **Toast notifications**: Migrated from raw JavaScript to Svelte 5 components with proper animations
22 - **GUI build pipeline**: Vite-based bundling with hot reload and TypeScript support28 - **GUI build pipeline**: Vite-based bundling with hot reload and TypeScript support
@@ -28,6 +34,7 @@ All notable changes to this project will be documented in this file.
28 - **Performance**: Instant shortcut response with pre-mounted DOM elements34 - **Performance**: Instant shortcut response with pre-mounted DOM elements
29 35
30 ### Changed36 ### Changed
37+- **Homepage icons**: Replaced Lucide dependency with inline SVG/Unicode fallbacks to shrink bundle size while debugging upstream build issues
31 - **Major architecture shift**: Removed HTTP API routes in favor of direct WebKit message bridge communication for better performance and reduced complexity38 - **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 system39 - **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 sharing40 - **Shadow DOM improvements**: Enhanced isolation with WeakSet tracking to prevent duplicate reset injection and global shadow host utility for component sharing
@@ -36,6 +43,8 @@ All notable changes to this project will be documented in this file.
36 - **Toast styling**: Migrated from Tailwind CSS classes to inline styles within component scope for better Shadow DOM compatibility and isolation43 - **Toast styling**: Migrated from Tailwind CSS classes to inline styles within component scope for better Shadow DOM compatibility and isolation
37 44
38 ### Fixed45 ### Fixed
46+- **Service worker residue**: Homepage clears stale caches and unregisters old service workers to avoid 404s for legacy `_app` assets
47+- **Keyboard debounce**: Native accelerator bridge filters duplicate shortcut events within 120ms for DOM and CGO handlers
39 - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher48 - **Ctrl+F shortcut**: Added missing 'f' key case in keyboard_cgo.go dispatcher
40 - **Browser freeze**: Removed infinite loop in mode switching reactive effects49 - **Browser freeze**: Removed infinite loop in mode switching reactive effects
41 - **State persistence**: Proper cleanup when switching between Ctrl+L and Ctrl+F modes50 - **State persistence**: Proper cleanup when switching between Ctrl+L and Ctrl+F modes

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close