From ac168e856d29124f728a4c8f70f330363d968a8b Mon Sep 17 00:00:00 2001 From: Serhii Bykov Date: Sun, 23 Aug 2026 02:53:30 +0200 Subject: [PATCH] fix(keyboard): round preview sizes to whole points --- .../Keyboard/KeyboardVisualizerGroupView.swift | 9 ++++++++- .../Settings/Keyboard/KeyboardSettingsPreviewTests.swift | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Apps/Keyty/Sources/Keyty/Features/Visualizers/Keyboard/KeyboardVisualizerGroupView.swift b/Apps/Keyty/Sources/Keyty/Features/Visualizers/Keyboard/KeyboardVisualizerGroupView.swift index ceee61b8..1670afdc 100644 --- a/Apps/Keyty/Sources/Keyty/Features/Visualizers/Keyboard/KeyboardVisualizerGroupView.swift +++ b/Apps/Keyty/Sources/Keyty/Features/Visualizers/Keyboard/KeyboardVisualizerGroupView.swift @@ -71,7 +71,14 @@ extension KeyboardVisualizerGroupView { // MARK: - NSView extension KeyboardVisualizerGroupView { var preferredSize: NSSize { - NSSize(width: self.baseSize.width * self.scale, height: self.baseSize.height * self.scale) + let scaledSize = NSSize( + width: self.baseSize.width * self.scale, + height: self.baseSize.height * self.scale + ) + return NSSize( + width: max(0, scaledSize.width.rounded(.up)), + height: max(0, scaledSize.height.rounded(.up)) + ) } override var intrinsicContentSize: NSSize { diff --git a/Apps/Keyty/Tests/KeytyTests/Features/Settings/Keyboard/KeyboardSettingsPreviewTests.swift b/Apps/Keyty/Tests/KeytyTests/Features/Settings/Keyboard/KeyboardSettingsPreviewTests.swift index c7297d9e..b08137e1 100644 --- a/Apps/Keyty/Tests/KeytyTests/Features/Settings/Keyboard/KeyboardSettingsPreviewTests.swift +++ b/Apps/Keyty/Tests/KeytyTests/Features/Settings/Keyboard/KeyboardSettingsPreviewTests.swift @@ -9,6 +9,7 @@ import XCTest @testable import Keyty +@MainActor final class KeyboardSettingsPreviewTests: XCTestCase { private var store: InMemoryKeyValueStore! private var settings: KeyboardVisualizerSettings!