v0.12.1 1453d21

history of main.go at v0.12.1

2025-10-18

f9090e3fix: show CLI help when running without arguments GPG Unverifiedbnema

2025-09-15

5e2466erefactor(assets): update embedded asset paths from frontend/dist to assets/gui bamen

2025-09-13

ed52bf7feat(main): add early logging initialization and asset embedding bamen

2025-09-11

0b7f97erefactor(main): simplify entry point to 61 lines with modular architecture bamen
1ea141erefactor(main): extract CLI and browser logic to separate app modules bamen
bd1240afix(twitch): remove codec interference preventing theater mode and fullscreen bamen
9ac4339feat(codec): Introduce codec preferences for media playback bamen
52db0acfeat(ui): add page refresh shortcuts and fix zoom toaster behavior bamen

2025-09-12

3d1723efeat(video): add comprehensive VA-API/VDPAU hardware video acceleration with auto GPU detection bamen
f146a6efeat(logging): add comprehensive XDG-compliant logging system with C output capture bamen

2025-09-10

0220350feat(zoom): integrate toast notifications with zoom level changes bamen
c1b1192chore(lint): fix multiple linter issues across codebase bamen
859ffdafeat(browser): implement Ctrl+Shift+C URL copy with reusable toast system Brice
b9db1dffix(webkit): implement graceful shutdown on window close with GTK4 close-request signal handler and OS signal handling to prevent process hanging Brice

2025-09-09

76aa55bfavicon(homepage): move SVG to frontend build (dist/favicon.svg) and serve via scheme; remove hardcoded SVG from main.go; map favicon.ico -> favicon.svg bamen
930ae39shortcuts: de-duplicate Ctrl/Cmd+F registration (keep WebKit layer); main.go no longer registers find shortcut bamen
386dfa2find: add Ctrl/Cmd+F find-in-page using omnibox component; native accelerator + JS capture; yellow highlights and match list; update changelog bamen
aedb969webkit: opt-in memory optimization with performance-first defaults; harden CGO wrappers; remove deprecated offline cache APIs; add env-based memory controls; update specs and tests bamen
2322eddfix(zoom): persist per-domain on change and log load/save\n\n- Add zoom-changed handler and dispatch from SetZoom\n- Save zoom to SQLite per domain on every change; log success\n- Load and log zoom on navigation and initial startup\n- Expose ZoomKeyForLog for consistent log formatting bamen
85e3d05feat(webkitgtk6): migrate to WebKitGTK 6 (GTK4), finalize UCM, add native zoom + GTK4 input, persistent cookies/cache via NetworkSession; runtime theme sync; rendering-mode flag and status API; media safe defaults; update README and CLAUDE; remove JS fallback bridge Brice
0389298feat(webkit): migrate to native WebKit2GTK backend, add dumb:// scheme + /api, UCM omnibox, persistent storage, theme + fonts; drop Wails runtime; debounce accelerators; homepage uses first‑party API; persist titles; per-domain zoom\n\n- Native WebKit2GTK CGO bindings (webview/window/zoom/script/keyboard)\n- Persistent WebsiteDataManager + cookies.sqlite; custom dumb:// scheme\n- dumb://api endpoints: /config, /history/recent, /history/search, /history/stats\n- Inject omnibox + theme at document-start via UserContentManager\n- Keyboard/mouse controls: zoom in/out/reset, F12, mouse 8/9 back/forward\n- Debounce accelerators to avoid duplicate triggers\n- Homepage switched to /api fetches; removed @wailsio/runtime + bindings\n- Configurable default fonts (Fira Sans/Code) + default size\n- Persist page titles; homepage shows title or host fallback\n- Per-domain zoom, reapplied on navigation; URI tracking\n- Added detailed scheme/API logs; fixed asset resolution for dumb://homepage\n- Updated specs to mark T020, T025, T041 complete bamen
1dfcc1bfeat(browser): implement global keyboard controls with script injection bamen

2025-09-08

f83599bfeat(wails): integrate Wails v3-alpha browser with unified CLI+GUI architecture bamen

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