detached 1721466

chore(cef): adopt reliable OSR input stack

commit
1721466378c4350abe841ab33a18ae9e26b70552
author
brice · · 2026-07-26 16:19 UTC
parent
a405b8e
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
3 files · +12 -8
M go.mod +2 -2
@@ -6,8 +6,8 @@ require (
66 github.com/a-h/templ v0.3.1020
77 github.com/andybalholm/brotli v1.2.2
88 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.14.1
10- github.com/bnema/purego-cef2gtk v0.8.5
9+ github.com/bnema/purego-cef v0.14.2
10+ github.com/bnema/purego-cef2gtk v0.9.0
1111 github.com/bnema/purego-pipewire v0.1.5
1212 github.com/bnema/purego-sqlite v0.1.4
1313 github.com/bnema/purego-webp v0.2.1
@@ -6,8 +6,8 @@ require (
6 github.com/a-h/templ v0.3.10206 github.com/a-h/templ v0.3.1020
7 github.com/andybalholm/brotli v1.2.27 github.com/andybalholm/brotli v1.2.2
8 github.com/bnema/purego v0.11.0-bnema.48 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.14.19+ github.com/bnema/purego-cef v0.14.2
10- github.com/bnema/purego-cef2gtk v0.8.510+ github.com/bnema/purego-cef2gtk v0.9.0
11 github.com/bnema/purego-pipewire v0.1.511 github.com/bnema/purego-pipewire v0.1.5
12 github.com/bnema/purego-sqlite v0.1.412 github.com/bnema/purego-sqlite v0.1.4
13 github.com/bnema/purego-webp v0.2.113 github.com/bnema/purego-webp v0.2.1
M go.sum +4 -4 generated file: collapsed
M internal/infrastructure/cef/first_presentation_collector_test.go +6 -2
@@ -118,6 +118,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
118118 binary := filepath.Join(temp, "dumber")
119119 require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
120120
121+ const upstreamVersion = "v0.8.5-0.20300102030405-bbd397409ebe"
122+ const upstreamRevision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
123+ goBin := collectorProvenanceGo(t, temp, upstreamVersion, upstreamRevision, "")
121124 output := filepath.Join(temp, "artifacts")
122125 cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
123126 cmd.Dir = repoRoot
@@ -129,6 +132,7 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
129132 "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
130133 "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
131134 "DUMBER_MACHINE_GPU_PROFILE=integrated-gpu",
135+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
132136 )
133137 result, err := cmd.CombinedOutput()
134138 require.NoErrorf(t, err, "collector failed: %s", result)
@@ -144,9 +148,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
144148 }
145149 for _, required := range []string{
146150 `"measured_source_revision"`,
147- `"version": "v0.8.5"`,
151+ `"version": "` + upstreamVersion + `"`,
148152 `"tag": "v0.8.5"`,
149- `"revision": "b9fb46ef5c04ca0993943c5ca4b6f0fe83583304"`,
153+ `"revision": "` + upstreamRevision + `"`,
150154 } {
151155 require.Contains(t, artifacts.String(), required)
152156 }
@@ -118,6 +118,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
118 binary := filepath.Join(temp, "dumber")118 binary := filepath.Join(temp, "dumber")
119 require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))119 require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
120 120
121+ const upstreamVersion = "v0.8.5-0.20300102030405-bbd397409ebe"
122+ const upstreamRevision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
123+ goBin := collectorProvenanceGo(t, temp, upstreamVersion, upstreamRevision, "")
121 output := filepath.Join(temp, "artifacts")124 output := filepath.Join(temp, "artifacts")
122 cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))125 cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
123 cmd.Dir = repoRoot126 cmd.Dir = repoRoot
@@ -129,6 +132,7 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
129 "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,132 "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
130 "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",133 "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
131 "DUMBER_MACHINE_GPU_PROFILE=integrated-gpu",134 "DUMBER_MACHINE_GPU_PROFILE=integrated-gpu",
135+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
132 )136 )
133 result, err := cmd.CombinedOutput()137 result, err := cmd.CombinedOutput()
134 require.NoErrorf(t, err, "collector failed: %s", result)138 require.NoErrorf(t, err, "collector failed: %s", result)
@@ -144,9 +148,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
144 }148 }
145 for _, required := range []string{149 for _, required := range []string{
146 `"measured_source_revision"`,150 `"measured_source_revision"`,
147- `"version": "v0.8.5"`,151+ `"version": "` + upstreamVersion + `"`,
148 `"tag": "v0.8.5"`,152 `"tag": "v0.8.5"`,
149- `"revision": "b9fb46ef5c04ca0993943c5ca4b6f0fe83583304"`,153+ `"revision": "` + upstreamRevision + `"`,
150 } {154 } {
151 require.Contains(t, artifacts.String(), required)155 require.Contains(t, artifacts.String(), required)
152 }156 }

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