Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,18 +343,28 @@ Audio is recorded per source under your app-data `recordings/session-<id>/` fold
- **LLM "context deadline exceeded".** The endpoint didn't answer in time — check the
URL/port, that the server is up, and (for local servers) that the model finished
loading. The Settings dialog now explains common failures.
- **App crashes when dragging the window between monitors.** This was a WebView2 bug
that fired when a window crosses a DPI boundary (e.g. a 100 % screen → a 150 %
screen): WebView2 momentarily reports `RESOURCE_NOT_IN_CORRECT_STATE`, and older
Wails builds treated that transient COM error as fatal (`os.Exit`). It is fixed in
the Wails version this repo targets (`v3.0.0-alpha2.105`, which carries the fixes for
upstream issues
[#5544](https://github.com/wailsapp/wails/issues/5544)/[#5580](https://github.com/wailsapp/wails/issues/5580)
and [#5605](https://github.com/wailsapp/wails/issues/5605)). If you still see the
crash:
- **App crashes when dragging the window between monitors.** This was a WebView2 bug:
while the window is moving to another monitor the WebView2 controller is briefly in a
transitional state, and `Chromium.Focus()` called `controller.MoveFocus()`
unconditionally — which returns `ERROR_INVALID_STATE` (`0x8007139F`). Older Wails
builds treated that transient COM error as fatal (`os.Exit(1)`), taking the whole
process down. (It reproduces on same-DPI setups too, not only across a DPI boundary.)
Note that Parley's panic logging could never catch this — `os.Exit(1)` bypasses
deferred funcs and `recover()`, which is why the crash left no trace in `parley.log`.

The crash fix is upstream issue
[#5650](https://github.com/wailsapp/wails/issues/5650) /
[#5568](https://github.com/wailsapp/wails/pull/5568), shipped in `webview2 v1.0.25`
(first bundled in Wails `v3.0.0-alpha2.106`). A follow-on mixed-DPI bug where content
shrinks then disappears after a cross-DPI drag
([#5677](https://github.com/wailsapp/wails/issues/5677) /
[#5689](https://github.com/wailsapp/wails/pull/5689)) was fixed in
`v3.0.0-alpha2.109`. This repo now targets **`v3.0.0-alpha2.109`** (pins
`webview2 v1.0.27`), which carries both fixes. If you still see the crash:
1. **Rebuild clean** so the fixed library is actually linked:
`go clean -cache && rm -rf bin && wails3 build`. Confirm the resolved version with
`go list -m github.com/wailsapp/wails/v3` (expect `…alpha2.105`).
`go clean -cache && rm -rf bin && wails3 build`. Confirm the resolved versions with
`go list -m github.com/wailsapp/wails/v3` (expect `…alpha2.109`) and
`go list -m github.com/wailsapp/wails/webview2` (expect `v1.0.27`, must be ≥ v1.0.25).
2. **Update the WebView2 Runtime** on the machine (old Evergreen runtimes mishandle
the DPI transition).
3. If it persists, it's likely a different un-converted WebView2 call site — grab the
Expand Down
33 changes: 24 additions & 9 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.25.0

require (
github.com/gen2brain/malgo v0.11.25
github.com/wailsapp/wails/v3 v3.0.0-alpha2.105
github.com/wailsapp/wails/v3 v3.0.0-alpha2.109
github.com/zalando/go-keyring v0.2.8
golang.org/x/sys v0.44.0
modernc.org/sqlite v1.53.0
Expand All @@ -15,7 +15,6 @@ require (
github.com/coder/websocket v1.8.14 // indirect
github.com/danieljoos/wincred v1.2.3 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/ebitengine/purego v0.9.1 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/godbus/dbus/v5 v5.2.2 // indirect
github.com/google/uuid v1.6.0 // indirect
Expand All @@ -24,7 +23,7 @@ require (
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/ncruces/go-strftime v1.0.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/wailsapp/wails/webview2 v1.0.24 // indirect
github.com/wailsapp/wails/webview2 v1.0.27 // indirect
modernc.org/libc v1.73.4 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
Expand Down
10 changes: 4 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/ebitengine/purego v0.9.1 h1:a/k2f2HQU3Pi399RPW1MOaZyhKJL9w/xFpKAg4q1s0A=
github.com/ebitengine/purego v0.9.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/gen2brain/malgo v0.11.25 h1:g0eMVeZIBvMRBbkVSR8p7ZafGFbxBcQERPa1GKHkg34=
github.com/gen2brain/malgo v0.11.25/go.mod h1:xLVG3ROA33Bzol1quF3e4ehqcFuqh8QK4B8T6LQUs/M=
github.com/go-json-experiment/json v0.0.0-20251027170946-4849db3c2f7e h1:Lf/gRkoycfOBPa42vU2bbgPurFong6zXeFtPoxholzU=
Expand Down Expand Up @@ -44,10 +42,10 @@ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/wailsapp/wails/v3 v3.0.0-alpha2.105 h1:KV2zqL9fOnX7o8goTwBAwBSfyT6MoZCTWofe3jSbOHM=
github.com/wailsapp/wails/v3 v3.0.0-alpha2.105/go.mod h1:GRW1qYl54Zi/w1mjCzDrMiy76g2BLfNlpqF640hgMf0=
github.com/wailsapp/wails/webview2 v1.0.24 h1:uULnjCSaRfMlU84mS3kjLgPsRosEOIusVK1nFOHZHzs=
github.com/wailsapp/wails/webview2 v1.0.24/go.mod h1:sdf+s0nAdxlzVWf9SCxC15XaxnQPJeY+uU1Ucn3jHQM=
github.com/wailsapp/wails/v3 v3.0.0-alpha2.109 h1:I2LX0NEzFn/p5yLJj53V3HzZ+5IWTNIEfU1BoWWGQWk=
github.com/wailsapp/wails/v3 v3.0.0-alpha2.109/go.mod h1:wrdvmyeCsB/K3YqJDoH8E3MwcN8NXAMnEFaDTW46w60=
github.com/wailsapp/wails/webview2 v1.0.27 h1:wjgAi/I8BBZ7kUGU8um3XF3ILEfzr96Q2Q1G4GPjMns=
github.com/wailsapp/wails/webview2 v1.0.27/go.mod h1:zdM4jcO1IaC61RiJL5F1BzgoqBHFIdacz8gPr5exr0o=
github.com/zalando/go-keyring v0.2.8 h1:6sD/Ucpl7jNq10rM2pgqTs0sZ9V3qMrqfIIy5YPccHs=
github.com/zalando/go-keyring v0.2.8/go.mod h1:tsMo+VpRq5NGyKfxoBVjCuMrG47yj8cmakZDO5QGii0=
golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
Expand Down
7 changes: 5 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,11 @@ func main() {
}
// Any panic that unwinds to the main goroutine (e.g. inside the Wails event
// loop) is written to the log with a full stack before the process dies, so a
// reproducible crash — like the multi-monitor drag — leaves a diagnosable
// trail instead of vanishing silently in a windowless GUI build.
// reproducible crash leaves a diagnosable trail instead of vanishing silently
// in a windowless GUI build. Note this does NOT catch the historic
// multi-monitor-drag crash: that was an os.Exit(1) from inside WebView2's
// error callback (upstream wails #5650), which bypasses deferred funcs and
// recover entirely — fixed by the alpha2.109 dependency bump, not here.
defer logPanic()

db, err := store.Open(dbPath())
Expand Down
Loading