Skip to content
Snippets Groups Projects
Commit c6d1b3c4 authored by Bruno Muniz's avatar Bruno Muniz :apple:
Browse files

Merge branch 'dev' into 'main'

Releasing 1.1.6 (219)

See merge request elixxir/client-ios!77
parents 9ff96751 7112df95
Branches main
No related tags found
1 merge request!77Releasing 1.1.6 (219)
......@@ -57,6 +57,8 @@ struct DependencyRegistrator {
container.register(XXLogger.noop)
container.register(CrashReporter.noop)
container.register(VersionChecker.mock)
container.register(ReportingStatus.mock())
container.register(SendReport.mock())
container.register(XXNetwork<BindingsMock>() as XXNetworking)
container.register(MockNetworkMonitor() as NetworkMonitoring)
container.register(KeyObjectStore.userDefaults)
......@@ -82,6 +84,7 @@ struct DependencyRegistrator {
container.register(CrashReporter.live)
container.register(VersionChecker.live())
container.register(ReportingStatus.live())
container.register(SendReport.live)
container.register(XXNetwork<BindingsClient>() as XXNetworking)
container.register(NetworkMonitor() as NetworkMonitoring)
......@@ -105,7 +108,6 @@ struct DependencyRegistrator {
container.register(Voxophone())
container.register(BackupService())
container.register(MakeAppScreenshot.live)
container.register(SendReport.live)
container.register(FetchBannedList.live)
container.register(ProcessBannedList.live)
container.register(MakeReportDrawer.live)
......
......@@ -530,12 +530,10 @@ extension SingleChatController: KeyboardListenerDelegate {
}
func keyboardWillChangeFrame(info: KeyboardInfo) {
let keyWindow: UIWindow? = UIApplication.shared.connectedScenes
.filter { $0.activationState == .foregroundActive }
.compactMap { $0 as? UIWindowScene }
.first?
.windows
.first(where: \.isKeyWindow)
let keyWindow = UIApplication.shared
.connectedScenes
.flatMap { ($0 as? UIWindowScene)?.windows ?? [] }
.first { $0.isKeyWindow }
guard let keyWindow = keyWindow else {
fatalError("[keyboardWillChangeFrame]: Couldn't get key window")
......
......@@ -122,7 +122,12 @@ public final class ChatInputView: UIToolbar {
.map(\.text)
.sink { [unowned self] in
if text.textView.markedTextRange == nil {
let range = text.textView.selectedTextRange
text.textView.text = $0
if let range = range {
text.textView.selectedTextRange = range
}
} else if $0 == "" {
text.textView.text = $0
}
......
......@@ -120,7 +120,6 @@ public final class BindingsMock: BindingsInterface {
self?.requestsSubject.send(.carlRequested)
self?.requestsSubject.send(.angelinaRequested)
self?.requestsSubject.send(.elonRequested)
self?.groupRequestsSubject.send(.mockGroup)
DispatchQueue.global().asyncAfter(deadline: .now() + 1) { [weak self] in
self?.confirmationsSubject.send(.georgeDiscovered)
......
......@@ -35,4 +35,17 @@ extension ReportingStatus {
}
)
}
public static func mock(
isEnabled: Bool = false,
isOptional: Bool = true
) -> ReportingStatus {
let isEnabledSubject = CurrentValueSubject<Bool, Never>(isEnabled)
return ReportingStatus(
isOptional: { isOptional },
isEnabled: { isEnabledSubject.value },
isEnabledPublisher: { isEnabledSubject.eraseToAnyPublisher() },
enable: { isEnabledSubject.send($0) }
)
}
}
......@@ -37,6 +37,18 @@ extension SendReport {
}
task.resume()
}
public static func mock(
result: Result<Void, Error> = .success(())
) -> SendReport {
SendReport { report, completion in
print("[SendReport.mock] Sending report: \(report)")
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
print("[SendReport.mock] Sending report finished")
completion(result)
}
}
}
}
extension SendReport {
......
......@@ -51,6 +51,7 @@ public final class SearchComponent: UIView {
rightButton.setContentCompressionResistancePriority(.required, for: .horizontal)
inputField.delegate = self
inputField.autocapitalizationType = .none
inputField.textColor = Asset.neutralActive.color
inputField.font = Fonts.Mulish.regular.font(size: 16.0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment