v0.12.0 d035193

2025-10-12

a013725fix(workspace): whitelist focus-worthy script messages bamen
8a3525bfix(workspace): stop focusing on workspace bridge events bamen
0e1c397fix(gui): track workspace focus events for pane shortcuts bamen
05647bbfix(workspace): ignore pane-mode from inactive panes bamen
bf83908fix(workspace): prevent script messages stealing focus bamen
b511179chore(changelog): add popup refactoring changes bamen
6afa5b6docs: add popup refactoring plan bamen
964c849test(browser): add popup lifecycle unit tests bamen
9f96981refactor(messaging): remove deprecated window.open handling bamen
4c93f21refactor(browser): implement native popup lifecycle in workspace bamen
504ed69refactor(config): add popup behavior configuration bamen
c21700drefactor(gui): remove JavaScript window.open interception bamen
dbdc6c0feat(webkit): add native popup lifecycle support bamen
ce336d0deps(gotk4): replace with forked version for popup support bamen

2025-10-09

e59ccc8test: add workspace navigation and keyboard bridge unit tests bamen
26523d5feat(webkit): add workspace navigation callback system bamen
fdb86d5fix(css): eliminate window border double-thickness bamen
a4698c6refactor(browser): prevent GTK bloom filter corruption bamen
3a7535cfix(browser): add nil checks to NavigateStack bamen
73bdac9fix(browser): prevent focus stealing after pane split bamen
36a2a06fix(browser): correct printf format specifiers for WebView.ID() bamen
9f75a78test(browser): fix IsDuplicate test calls with isActiveTarget parameter bamen
30663dffeat(browser): add Ctrl+T no-op handler for future tab support bamen
00b77e6refactor(keyboard): use declarative routing table for shortcut handling bamen
3f10f36refactor(browser): simplify border API and improve deduplication logic bamen
a6d29c6fix(browser): prevent GTK bloom filter crash with CSS class guards and hover debouncing bamen
57752f1fix(browser): fix pane borders visibility and keyboard shortcut conflicts bamen

2025-10-10

58f535afix(browser): fix pane close operation in gotk4 migration bamen
a1a9d2drefactor(webkit): fix workspace WebView architecture for GTK4 bamen

2025-10-09

3562591refactor(webkit): complete JavaScript bridge and GTK4 keyboard integration bamen

2025-10-08

4be3d7efix(webkit): inject palette config and GTK theme at document-start bamen
a999d8afeat(webkit): implement UserContentManager with GUI script injection bamen
737b447feat(browser): add persistence config and appearance injection bamen
8d33e03feat(webkit): implement persistent storage for cookies and session data bamen
7a8b759refactor(browser): simplify webview.go for gotk4 webkit.Config bamen
2ffecd9fix(shortcuts): migrate window_shortcuts.go to gotk4 API bamen
042e3defix(workspace): migrate workspace_popup.go to gotk4 API bamen
f6d1269refactor(scheme): migrate SchemeHandler to gotk4 URISchemeRequest API bamen
56de592fix(browser): fix quick wins - shortcuts, diagnostics, geometry validator bamen
173610cfeat(webkit): add WebView ID string conversion helpers bamen
4643f94refactor(browser): migrate stacked_panes.go to gotk4 API bamen
ca280a9refactor(browser): migrate workspace_manager.go to gotk4 API bamen
2b5245erefactor(browser): fix workspace_navigation widget method calls bamen
7f3cf6drefactor(browser): fix focus_state_machine widget method calls bamen
70d31c4refactor(browser): replace direct widget calls with webkit helpers bamen
4d269e2refactor(webkit): complete gotk4 migration for core webkit package bamen

2025-10-09

f92f507refactor(browser): complete workspace_pane_ops.go migration to gotk4 bamen
364f051refactor(browser): migrate workspace_utils.go to gotk4 API bamen
99570carefactor(browser): migrate workspace_navigation.go to gotk4 API bamen
44a6914refactor(browser): migrate workspace_manager.go to gotk4 API 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