Fix WatchOS 8 compatibility

This commit is contained in:
Djorkaeff Alexandre 2024-01-23 16:37:35 -03:00
parent e638759afb
commit 7281d84d9f
8 changed files with 7 additions and 86 deletions

View File

@ -1,28 +0,0 @@
import Combine
extension Publisher {
func retryWithDelay<S>(
retries: Int,
delay: S.SchedulerTimeType.Stride,
scheduler: S
) -> AnyPublisher<Output, Failure> where S: Scheduler {
self
.delayIfFailure(for: delay, scheduler: scheduler)
.retry(retries)
.eraseToAnyPublisher()
}
private func delayIfFailure<S>(
for delay: S.SchedulerTimeType.Stride,
scheduler: S
) -> AnyPublisher<Output, Failure> where S: Scheduler {
self.catch { error in
Future { completion in
scheduler.schedule(after: scheduler.now.advanced(by: delay)) {
completion(.failure(error))
}
}
}
.eraseToAnyPublisher()
}
}

View File

@ -91,7 +91,6 @@ extension ServersLoader: ServersLoading {
}
}
}
.retryWithDelay(retries: 3, delay: 1, scheduler: DispatchQueue.global())
.eraseToAnyPublisher()
}
}

View File

@ -11,8 +11,7 @@ struct MessageComposerView: View {
HStack {
Spacer()
Text("This room is read only")
.font(.caption)
.fontWeight(.bold)
.font(.caption.bold())
.foregroundStyle(.white)
.multilineTextAlignment(.center)
Spacer()

View File

@ -55,8 +55,7 @@ struct MessageView: View {
HStack(alignment: .center) {
Text(viewModel.sender ?? "")
.lineLimit(1)
.font(.caption)
.fontWeight(.bold)
.font(.caption.bold())
.foregroundStyle(.primary)
Text(viewModel.messageFormatter.time() ?? "")
.lineLimit(1)
@ -66,9 +65,8 @@ struct MessageView: View {
}
if let text = viewModel.messageFormatter.info() {
Text(text)
.font(.caption)
.font(.caption.italic())
.foregroundStyle(.primary)
.italic()
} else if let text = viewModel.message.msg {
Text(text)
.font(.caption)

View File

@ -18,14 +18,12 @@ struct RoomView: View {
}
Text(viewModel.formatter.title ?? "")
.lineLimit(1)
.font(.caption)
.fontWeight(isUnread ? .bold : .medium)
.font(.caption.weight(isUnread ? .bold : .medium))
.foregroundStyle(.primary)
Spacer()
Text(viewModel.updatedAt ?? "")
.lineLimit(1)
.font(.footnote)
.fontWeight(isUnread ? .bold : .medium)
.font(.footnote.weight(isUnread ? .bold : .medium))
.foregroundStyle(isUnread ? .blue : .primary)
}
HStack(alignment: .top) {
@ -36,8 +34,7 @@ struct RoomView: View {
Spacer()
if isUnread, viewModel.room.unread > 0 {
Text(String(viewModel.room.unread))
.font(.footnote)
.fontWeight(.bold)
.font(.footnote.bold())
.padding(6)
.background(
Circle()

View File

@ -6,8 +6,7 @@ struct ServerView: View {
var body: some View {
VStack(alignment: .leading) {
Text(server.name)
.font(.caption)
.fontWeight(.bold)
.font(.caption.bold())
.foregroundStyle(.primary)
Text(server.url.host ?? "")
.font(.caption)

View File

@ -1,35 +0,0 @@
import SwiftUI
struct FontWeightModifier: ViewModifier {
@Environment(\.font) var font
private let weight: Font.Weight
init(_ weight: Font.Weight) {
self.weight = weight
}
func body(content: Content) -> some View {
content
.font(font?.weight(weight))
}
}
struct ItalicModifier: ViewModifier {
@Environment(\.font) var font
func body(content: Content) -> some View {
content
.font(font?.italic())
}
}
extension View {
func fontWeight(_ weight: Font.Weight) -> some View {
modifier(FontWeightModifier(weight))
}
func italic() -> some View {
modifier(ItalicModifier())
}
}

View File

@ -79,7 +79,6 @@
1E470E832513A71E00E3DD1D /* RocketChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E470E822513A71E00E3DD1D /* RocketChat.swift */; };
1E4AFC152B5AF09800E2AA7D /* Dependency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4AFC142B5AF09800E2AA7D /* Dependency.swift */; };
1E4AFC172B5AF09C00E2AA7D /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4AFC162B5AF09C00E2AA7D /* Store.swift */; };
1E4AFC1B2B5AFC6A00E2AA7D /* Publisher+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4AFC1A2B5AFC6A00E2AA7D /* Publisher+Extensions.swift */; };
1E4AFC212B5B1AA000E2AA7D /* AppView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4AFC202B5B1AA000E2AA7D /* AppView.swift */; };
1E4AFC272B5B23C600E2AA7D /* RetryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4AFC262B5B23C600E2AA7D /* RetryView.swift */; };
1E51D962251263CD00DC95DE /* MessageType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51D961251263CD00DC95DE /* MessageType.swift */; };
@ -88,7 +87,6 @@
1E598AE725150660002BDFBD /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE625150660002BDFBD /* Data+Extensions.swift */; };
1E598AE925151A63002BDFBD /* SendMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE825151A63002BDFBD /* SendMessage.swift */; };
1E638E992B5F0A2900E645E4 /* ChatScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E638E982B5F0A2900E645E4 /* ChatScrollView.swift */; };
1E638E9C2B5F0CFD00E645E4 /* ViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E638E9B2B5F0CFD00E645E4 /* ViewModifier.swift */; };
1E638E9E2B5F0F5800E645E4 /* URL+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E638E9D2B5F0F5800E645E4 /* URL+Extensions.swift */; };
1E67380424DC529B0009E081 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E67380324DC529B0009E081 /* String+Extensions.swift */; };
1E680ED92512990700C9257A /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E680ED82512990700C9257A /* Request.swift */; };
@ -394,7 +392,6 @@
1E470E822513A71E00E3DD1D /* RocketChat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RocketChat.swift; sourceTree = "<group>"; };
1E4AFC142B5AF09800E2AA7D /* Dependency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dependency.swift; sourceTree = "<group>"; };
1E4AFC162B5AF09C00E2AA7D /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = "<group>"; };
1E4AFC1A2B5AFC6A00E2AA7D /* Publisher+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Publisher+Extensions.swift"; sourceTree = "<group>"; };
1E4AFC202B5B1AA000E2AA7D /* AppView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppView.swift; sourceTree = "<group>"; };
1E4AFC262B5B23C600E2AA7D /* RetryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RetryView.swift; sourceTree = "<group>"; };
1E51D961251263CD00DC95DE /* MessageType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageType.swift; sourceTree = "<group>"; };
@ -403,7 +400,6 @@
1E598AE625150660002BDFBD /* Data+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Extensions.swift"; sourceTree = "<group>"; };
1E598AE825151A63002BDFBD /* SendMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendMessage.swift; sourceTree = "<group>"; };
1E638E982B5F0A2900E645E4 /* ChatScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatScrollView.swift; sourceTree = "<group>"; };
1E638E9B2B5F0CFD00E645E4 /* ViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewModifier.swift; sourceTree = "<group>"; };
1E638E9D2B5F0F5800E645E4 /* URL+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Extensions.swift"; sourceTree = "<group>"; };
1E6737FF24DC52660009E081 /* NotificationService-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NotificationService-Bridging-Header.h"; sourceTree = "<group>"; };
1E67380324DC529B0009E081 /* String+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = "<group>"; };
@ -665,7 +661,6 @@
children = (
1E29A3092B585B370093C03C /* Data+Extensions.swift */,
1E29A30B2B585D1D0093C03C /* String+Extensions.swift */,
1E4AFC1A2B5AFC6A00E2AA7D /* Publisher+Extensions.swift */,
1E638E9D2B5F0F5800E645E4 /* URL+Extensions.swift */,
);
path = Extensions;
@ -800,7 +795,6 @@
1E4AFC262B5B23C600E2AA7D /* RetryView.swift */,
1EDB30F12B5B453A00532C7E /* LoggedInView.swift */,
1E638E982B5F0A2900E645E4 /* ChatScrollView.swift */,
1E638E9B2B5F0CFD00E645E4 /* ViewModifier.swift */,
);
path = Views;
sourceTree = "<group>";
@ -1872,7 +1866,6 @@
1E9A716F2B59CBCA00477BA2 /* AttachmentView.swift in Sources */,
1E29A3002B585B070093C03C /* JSONAdapter.swift in Sources */,
1E29A3022B585B070093C03C /* DateCodingStrategy.swift in Sources */,
1E4AFC1B2B5AFC6A00E2AA7D /* Publisher+Extensions.swift in Sources */,
1E4AFC272B5B23C600E2AA7D /* RetryView.swift in Sources */,
1ED033B62B55B4A5004F4930 /* ServerListView.swift in Sources */,
1E29A3202B5871C80093C03C /* RoomFormatter.swift in Sources */,
@ -1899,7 +1892,6 @@
1E29A2FB2B585B070093C03C /* MessagesRequest.swift in Sources */,
1E29A31D2B5871B60093C03C /* Date+Extensions.swift in Sources */,
1E29A2F62B585B070093C03C /* UserResponse.swift in Sources */,
1E638E9C2B5F0CFD00E645E4 /* ViewModifier.swift in Sources */,
1ED033AE2B55B1CC004F4930 /* Default.xcdatamodeld in Sources */,
1ED033BF2B55BF94004F4930 /* Storage.swift in Sources */,
1E29A2F82B585B070093C03C /* MessageResponse.swift in Sources */,