diff --git a/README.md b/README.md index 589b862..92b95f5 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ The binary is written to: ```text # GUI executable produced by scripts\build-windows.bat. -dist\windows\pysentry-0.2.4-windows-amd64.exe +dist\windows\pysentry-0.2.5-windows-amd64.exe ``` Linux: @@ -101,7 +101,7 @@ The binary is written to: ```text # Linux executable produced by scripts/build-linux.sh. -dist/linux/pysentry-0.2.4-linux-amd64 +dist/linux/pysentry-0.2.5-linux-amd64 ``` Linux using Docker: @@ -118,7 +118,7 @@ The binary is copied to: ```text # Linux executable copied out of the Docker build image. -dist\linux\pysentry-0.2.4-linux-amd64 +dist\linux\pysentry-0.2.5-linux-amd64 ``` Release build from Linux: @@ -143,13 +143,13 @@ The binaries are copied to: ```text # Linux artifact. -dist/linux/pysentry-0.2.4-linux-amd64 +dist/linux/pysentry-0.2.5-linux-amd64 # Linux arm64 artifact. -dist/linux/pysentry-0.2.4-linux-arm64 +dist/linux/pysentry-0.2.5-linux-arm64 # Windows artifact cross-compiled from Linux. -dist/windows/pysentry-0.2.4-windows-amd64.exe +dist/windows/pysentry-0.2.5-windows-amd64.exe ``` ## Run From Source @@ -175,6 +175,42 @@ Linux: CGO_ENABLED=1 go run ./cmd/pysentry ``` +## Troubleshooting + +### Windows, VirtualBox, RDP, And OpenGL + +PySentry uses [Fyne](https://fyne.io/), and Fyne uses GLFW/OpenGL to create the +desktop window. In a Windows virtual machine, especially when the session is +opened through RDP inside VirtualBox, the available video driver can fail OpenGL +initialization. + +Typical error: + +```text +Fyne error: window creation error +Cause: APIUnavailable: WGL: The driver does not appear to support OpenGL +At: fyne.io/fyne/v2@v2.5.3/internal/driver/glfw/driver.go:149 +``` + +Known workaround: + +1. Download a Windows Mesa build from + [mesa-dist-win](https://github.com/pal1000/mesa-dist-win/releases). +2. Open the downloaded archive and use the `x64` build. +3. Copy the Mesa OpenGL DLL files from `x64` into the same directory as the + PySentry `.exe`, for example: + +```text +dist\windows\ + pysentry-0.2.5-windows-amd64.exe + opengl32.dll + ... +``` + +This makes Windows load Mesa's software OpenGL implementation next to the +application binary, which lets the Fyne window start even when the VirtualBox/RDP +driver does not provide usable OpenGL. + ## Storage PySentry creates its runtime files next to the executable by default. @@ -293,7 +329,7 @@ Linux: [Desktop Entry] Type=Application Name=PySentry -Exec=/opt/pysentry/pysentry-0.2.4-linux-amd64 --start-in-tray +Exec=/opt/pysentry/pysentry-0.2.5-linux-amd64 --start-in-tray Terminal=false ``` diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index ef64ad6..42c92c1 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,6 +2,15 @@ All notable PySentry changes are recorded in this file. +## 0.2.5 - 2026-06-16 + +- Stabilized the Jobs details panel so long selected-job fields do not resize the right pane or application window. +- Switched Windows autostart from `HKCU Run` entries to a Startup folder shortcut, fixing executable paths that contain spaces. +- Added `--start-in-tray` autostart launches for Windows and Linux so sign-in startup does not open the main window. +- Added Windows shortcut tests and Linux autostart desktop-entry tests for the new startup-in-tray behavior. +- Updated autostart documentation and architecture notes for the Startup shortcut and XDG desktop-entry behavior. +- Documented the Windows VirtualBox/RDP OpenGL startup failure and the Mesa software OpenGL workaround. + ## 0.2.4 - 2026-06-16 - Prevented repeated application launches by forwarding a second start attempt to the already running instance. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 7bd7d2d..3518e43 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -38,6 +38,16 @@ Cleanup checklist: - Recheck `.gitignore`, Docker scripts, and packaging scripts for rules or branches that only supported early experiments. +## Tray Interaction + +Improve tray icon interaction after choosing a tray backend path. + +- Add double-click on the tray icon to show and focus the main window. +- Current Fyne 2.5.3 desktop tray API exposes menu and icon setup, but does not + expose click or double-click callbacks for the tray icon itself. +- Revisit when Fyne exposes this callback, or evaluate a small platform-specific + tray integration if the behavior becomes important enough. + ## Delivery And Packaging Keep a single portable binary as the baseline delivery format. It is simple to diff --git a/src/core/version.go b/src/core/version.go index 0f8795a..94d075e 100644 --- a/src/core/version.go +++ b/src/core/version.go @@ -3,4 +3,4 @@ package core // Version is the application version shown in the GUI and used by build // scripts in artifact names. It is a var rather than a const so release builds // can override it with Go ldflags when CI tags a build. -var Version = "0.2.4" +var Version = "0.2.5"