Refactor Rageshake URL and Target configuration. (#4337)

* Move the rageshakeURL configuration from the BugReportService to AppSettings.

* Refactor Target to return a handle when configuring.

This helps with reconfiguration and removes the @MainActor constraint.
This commit is contained in:
Doug
2025-07-22 10:19:26 +01:00
committed by GitHub
parent 97f517129f
commit 82c659f3da
17 changed files with 241 additions and 179 deletions
@@ -1995,47 +1995,6 @@ class BugReportServiceMock: BugReportServiceProtocol, @unchecked Sendable {
var underlyingCrashedLastRun: Bool!
var lastCrashEventID: String?
//MARK: - applyConfiguration
var applyConfigurationUnderlyingCallsCount = 0
var applyConfigurationCallsCount: Int {
get {
if Thread.isMainThread {
return applyConfigurationUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = applyConfigurationUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
applyConfigurationUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
applyConfigurationUnderlyingCallsCount = newValue
}
}
}
}
var applyConfigurationCalled: Bool {
return applyConfigurationCallsCount > 0
}
var applyConfigurationReceivedConfiguration: RageshakeConfiguration?
var applyConfigurationReceivedInvocations: [RageshakeConfiguration] = []
var applyConfigurationClosure: ((RageshakeConfiguration) -> Void)?
func applyConfiguration(_ configuration: RageshakeConfiguration) {
applyConfigurationCallsCount += 1
applyConfigurationReceivedConfiguration = configuration
DispatchQueue.main.async {
self.applyConfigurationReceivedInvocations.append(configuration)
}
applyConfigurationClosure?(configuration)
}
//MARK: - submitBugReport
var submitBugReportProgressListenerUnderlyingCallsCount = 0