diff --git a/Sources/Kapture/CaptureController.swift b/Sources/Kapture/CaptureController.swift
index 910aa0c..a584dec 100644
--- a/Sources/Kapture/CaptureController.swift
+++ b/Sources/Kapture/CaptureController.swift
@@ -10,10 +10,21 @@ final class CaptureController: NSObject {
private var previousApp: NSRunningApplication?
private var overlayIDs: [Int] = []
+ /// Session event log for debugging (dumped via Copy Diagnostics).
+ static var sessionLog: [String] = []
+ static func log(_ line: String) {
+ sessionLog.append(line)
+ if sessionLog.count > 100 { sessionLog.removeFirst() }
+ NSLog("[Kapture] \(line)")
+ }
+
/// Diagnostic snapshot for "Copy Diagnostics" menu item.
func diagnostics() -> String {
var lines: [String] = []
- lines.append("Kapture diagnostics")
+ lines.append("Kapture diagnostics — version \(Bundle.main.infoDictionary?["CFBundleShortVersionString"] ?? "?")")
+ lines.append("--- session log (newest last) ---")
+ lines.append(contentsOf: Self.sessionLog)
+ lines.append("--- screens ---")
for (i, s) in NSScreen.screens.enumerated() {
let scale = s.backingScaleFactor
let cgID = (s.deviceDescription[NSDeviceDescriptionKey("NSScreenNumber")] as? NSNumber)?.uint32Value ?? 0
diff --git a/build-app.sh b/build-app.sh
index e76d97d..3efc363 100755
--- a/build-app.sh
+++ b/build-app.sh
@@ -108,9 +108,9 @@ cat > "$APP/Contents/Info.plist" <<'PLIST'
CFBundleIconFile
Icon
CFBundleShortVersionString
- 1.6.0
+ 1.6.1
CFBundleVersion
- 60
+ 61
LSUIElement
NSHighResolutionCapable