diff --git a/Magic Switch/Info.plist b/Magic Switch/Info.plist
index 89169b2..0e68580 100644
--- a/Magic Switch/Info.plist
+++ b/Magic Switch/Info.plist
@@ -33,6 +33,8 @@
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
+ LSApplicationCategoryType
+ public.app-category.utilities
LSMinimumSystemVersion
$(MACOSX_DEPLOYMENT_TARGET)
LSUIElement
diff --git a/Magic Switch/Model/Store/BluetoothPeripheralStore.swift b/Magic Switch/Model/Store/BluetoothPeripheralStore.swift
index 73a0c12..ea50910 100644
--- a/Magic Switch/Model/Store/BluetoothPeripheralStore.swift
+++ b/Magic Switch/Model/Store/BluetoothPeripheralStore.swift
@@ -690,7 +690,7 @@ final class BluetoothPeripheralStore: NSObject, ObservableObject, BluetoothPerip
guard validateBluetoothState() else { return }
guard validateDeviceExists(peripheral) else { return }
- var newPeripheral = peripheral
+ let newPeripheral = peripheral
peripherals.append(newPeripheral)
// Resolve the new row's live connection state (and register its disconnect
// observer) right away. Without this the row reads `.disconnected` until
@@ -1617,7 +1617,8 @@ final class BluetoothPeripheralStore: NSObject, ObservableObject, BluetoothPerip
return
}
- DispatchQueue.main.async {
+ DispatchQueue.main.async { [weak self] in
+ guard let self = self else { return }
// Identity, not just address, decides staleness: the newest attempt may
// not have installed its own pair yet (its preflight is still on the
// Bluetooth queue, or its peer round trip is in flight), so reading the