Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec8845ebc6 | ||
|
|
78450a85bb | ||
|
|
e440f3489b |
110
Soyuz.xcodeproj/xcshareddata/xcschemes/Soyuz.xcscheme
Normal file
110
Soyuz.xcodeproj/xcshareddata/xcschemes/Soyuz.xcscheme
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1430"
|
||||||
|
version = "2.2">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "NO"
|
||||||
|
buildForProfiling = "NO"
|
||||||
|
buildForArchiving = "NO"
|
||||||
|
buildForAnalyzing = "NO">
|
||||||
|
<AutocreatedTestPlanReference>
|
||||||
|
</AutocreatedTestPlanReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E180B5E42992CD9100425DB0"
|
||||||
|
BuildableName = "Soyuz.app"
|
||||||
|
BlueprintName = "Soyuz"
|
||||||
|
ReferencedContainer = "container:Soyuz.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
<Testables>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO"
|
||||||
|
parallelizable = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E180B5FA2992CD9300425DB0"
|
||||||
|
BuildableName = "SoyuzTests.xctest"
|
||||||
|
BlueprintName = "SoyuzTests"
|
||||||
|
ReferencedContainer = "container:Soyuz.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO"
|
||||||
|
parallelizable = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E180B6042992CD9300425DB0"
|
||||||
|
BuildableName = "SoyuzUITests.xctest"
|
||||||
|
BlueprintName = "SoyuzUITests"
|
||||||
|
ReferencedContainer = "container:Soyuz.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E180B5E42992CD9100425DB0"
|
||||||
|
BuildableName = "Soyuz.app"
|
||||||
|
BlueprintName = "Soyuz"
|
||||||
|
ReferencedContainer = "container:Soyuz.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E180B5E42992CD9100425DB0"
|
||||||
|
BuildableName = "Soyuz.app"
|
||||||
|
BlueprintName = "Soyuz"
|
||||||
|
ReferencedContainer = "container:Soyuz.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Bucket
|
||||||
|
uuid = "DAF8C4E2-B59F-4B82-AB85-13AA83C729BF"
|
||||||
|
type = "1"
|
||||||
|
version = "2.0">
|
||||||
|
<Breakpoints>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "6CE8E079-8C71-49E3-9075-ED84DAB3B1D8"
|
||||||
|
shouldBeEnabled = "No"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "SoyuzTests/MoonrakerSocketManagerTests.swift"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "70"
|
||||||
|
endingLineNumber = "70"
|
||||||
|
landmarkName = "setUp()"
|
||||||
|
landmarkType = "7">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.RuntimeIssueBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "01C24E12-6569-4AD6-87E9-63E4F37C4228"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
breakpointStackSelectionBehavior = "1"
|
||||||
|
type = "65535">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "E4DF5E8F-D6D9-450A-AD85-DB4722F31364"
|
||||||
|
shouldBeEnabled = "No"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "SoyuzTests/MoonrakerSocketManagerTests.swift"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "72"
|
||||||
|
endingLineNumber = "72"
|
||||||
|
landmarkName = "setUp()"
|
||||||
|
landmarkType = "7">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "A14A53F8-609B-4A4E-8B15-208CD58339E0"
|
||||||
|
shouldBeEnabled = "No"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "Soyuz/Views/SoyuzMenuBarExtraView.swift"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "14"
|
||||||
|
endingLineNumber = "14"
|
||||||
|
landmarkName = "SoyuzMenuBarExtraView"
|
||||||
|
landmarkType = "14">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "BC514915-414C-4AB7-86D8-F96569D06369"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
symbolName = "__nwlog_err_simulate_crash"
|
||||||
|
moduleName = "">
|
||||||
|
<Locations>
|
||||||
|
<Location
|
||||||
|
uuid = "BC514915-414C-4AB7-86D8-F96569D06369 - 2fd95423b9cea3ab"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
symbolName = "__nwlog_err_simulate_crash"
|
||||||
|
moduleName = "Network"
|
||||||
|
usesParentBreakpointCondition = "Yes"
|
||||||
|
offsetFromSymbolStart = "0">
|
||||||
|
</Location>
|
||||||
|
</Locations>
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
</Breakpoints>
|
||||||
|
</Bucket>
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// Persistence.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import CoreData
|
import CoreData
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// KlipperMonApp.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
@@ -16,11 +15,6 @@ struct SoyuzApp: App {
|
|||||||
@ObservedObject static var printerManager = MoonrakerSocketManager()
|
@ObservedObject static var printerManager = MoonrakerSocketManager()
|
||||||
|
|
||||||
var body: some Scene {
|
var body: some Scene {
|
||||||
// WindowGroup(id: "floating-stats") {
|
|
||||||
// KlipperMonMenuBarExtraView(currentMenuBarIcon: $currentIcon)
|
|
||||||
// .environment(\.managedObjectContext, persistenceController.container.viewContext)
|
|
||||||
// }
|
|
||||||
|
|
||||||
WindowGroup("Configuration", id: "soyuz_cfg", content: {
|
WindowGroup("Configuration", id: "soyuz_cfg", content: {
|
||||||
PrinterConfigView(printerManager: SoyuzApp.printerManager)
|
PrinterConfigView(printerManager: SoyuzApp.printerManager)
|
||||||
//.frame(minWidth: 300, maxWidth: 600, minHeight: 60, maxHeight: 100)
|
//.frame(minWidth: 300, maxWidth: 600, minHeight: 60, maxHeight: 100)
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// BonjourBrowser.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// Soyuz
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 3/20/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import Network
|
import Network
|
||||||
@@ -89,50 +88,3 @@ class BonjourBrowser: ObservableObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//class BonjourBrowser: ObservableObject {
|
|
||||||
// @Published var NDEngineResults: [NWBrowser.Result] = []
|
|
||||||
//
|
|
||||||
// private let nwBrowser: NetworkDiscoveryEngine
|
|
||||||
// var connection: NWConnection!
|
|
||||||
//
|
|
||||||
// // TEMPORARY
|
|
||||||
//// var bonjourListener: NWListener?
|
|
||||||
//
|
|
||||||
// init(browser: NetworkDiscoveryEngine = NWBrowser(for: .bonjourWithTXTRecord(type: "_moonraker._tcp", domain: "local."), using: .tcp)) {
|
|
||||||
// nwBrowser = browser
|
|
||||||
// // Bonjour browser results changed handler
|
|
||||||
// nwBrowser.setBrowseResultsChangedHandler({ (newResults, changes) in
|
|
||||||
// print("[update] Results changed.")
|
|
||||||
// self.NDEngineResults.removeAll()
|
|
||||||
// newResults.forEach { result in
|
|
||||||
// print(result)
|
|
||||||
// self.NDEngineResults.append(result)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// // Bonjour browser state update handler
|
|
||||||
// nwBrowser.setStateUpdateHandler({ newState in
|
|
||||||
// switch newState {
|
|
||||||
// case .failed(let error):
|
|
||||||
// print("[error] nwbrowser: \(error)")
|
|
||||||
// case .ready:
|
|
||||||
// print("[ready] nwbrowser")
|
|
||||||
// case .setup:
|
|
||||||
// print("[setup] nwbrowser")
|
|
||||||
// default:
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// nwBrowser.startScan(queue: DispatchQueue.main)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// func startScanning(queue: DispatchQueue.main) {
|
|
||||||
// if(self.nwBrowser.state == NWBrowser.State.cancelled) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// self.nwBrowser.startScan(queue)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// MoonrakerSocketManager.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import Network
|
import Network
|
||||||
@@ -69,11 +68,6 @@ class MoonrakerSocketManager: ObservableObject, WebSocketDelegate {
|
|||||||
print("\(key): \(value)")
|
print("\(key): \(value)")
|
||||||
})
|
})
|
||||||
|
|
||||||
// if isConnected == true {
|
|
||||||
// connection?.cancel()
|
|
||||||
// socket?.disconnect()
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
if connection == nil || connection?.state == .cancelled {
|
if connection == nil || connection?.state == .cancelled {
|
||||||
connection = NWConnection(to: endpoint, using: .tcp)
|
connection = NWConnection(to: endpoint, using: .tcp)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// PrinterObjectsQuery.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// UserNotificationProtocol.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// Soyuz
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by Madeline Pace on 5/28/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import UserNotifications
|
import UserNotifications
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// PrinterConfigView.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/8/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
import Network
|
import Network
|
||||||
@@ -13,11 +12,8 @@ struct PrinterConfigView: View {
|
|||||||
@ObservedObject var printerManager: MoonrakerSocketManager
|
@ObservedObject var printerManager: MoonrakerSocketManager
|
||||||
@ObservedObject var bonjourBrowser = BonjourBrowser()
|
@ObservedObject var bonjourBrowser = BonjourBrowser()
|
||||||
|
|
||||||
//@State var bonjourBrowser = NWBrowser(for: .bonjourWithTXTRecord(type: "_moonraker._tcp", domain: "local."), using: .tcp)
|
|
||||||
|
|
||||||
@Environment(\.openURL) private var openURL
|
@Environment(\.openURL) private var openURL
|
||||||
|
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
VStack {
|
||||||
if(printerManager.isConnected) {
|
if(printerManager.isConnected) {
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// KlipperMonMenuBarExtraView.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMon
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
import UserNotifications
|
import UserNotifications
|
||||||
@@ -77,7 +76,6 @@ struct SoyuzMenuBarExtraView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//.frame(minWidth: 220, minHeight: 100)
|
|
||||||
// Footer information
|
// Footer information
|
||||||
HStack {
|
HStack {
|
||||||
Button {
|
Button {
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// BonjourBrowserTests.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// SoyuzTests
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 3/24/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
import Network
|
import Network
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// MoonrakerSocketManagerTests.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// SoyuzTests
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/21/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
import Starscream
|
import Starscream
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// KlipperMonTests.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMonTests
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
@testable import Soyuz
|
@testable import Soyuz
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// KlipperMonUITests.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMonUITests
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//
|
/*
|
||||||
// KlipperMonUITestsLaunchTests.swift
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
// KlipperMonUITests
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
//
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
// Created by maddiefuzz on 2/7/23.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user