diff --git a/desktop/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt b/desktop/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt index df3c8b2..a6f3aff 100644 --- a/desktop/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt +++ b/desktop/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt @@ -542,6 +542,12 @@ class DesktopState(private val appDir: File = defaultAppDir()) { saveReport(DetailUi(file = f, transcript = transcript, summary = summary)) true } catch (e: Exception) { + // Surface pump failures for diagnosis instead of swallowing them. + runCatching { + File(appDir, "pump-error.log").appendText( + "${java.time.Instant.now()} ${f.name}: $e\n", + ) + } false } } diff --git a/desktop/app/src/main/kotlin/com/shonar/desktop/Screens.kt b/desktop/app/src/main/kotlin/com/shonar/desktop/Screens.kt index 82c0456..da1c285 100644 --- a/desktop/app/src/main/kotlin/com/shonar/desktop/Screens.kt +++ b/desktop/app/src/main/kotlin/com/shonar/desktop/Screens.kt @@ -75,6 +75,9 @@ private fun chooseFolder(): File? { dialogTitle = "Choose your recordings folder" fileSelectionMode = JFileChooser.DIRECTORIES_ONLY isAcceptAllFileFilterUsed = false + // Without an explicit size the dialog comes up tiny on HiDPI + // compositors (and there is no resize handle), so pin a usable one. + preferredSize = java.awt.Dimension(1040, 700) } return if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) chooser.selectedFile else null }