From 799e34a29398913f091ea92d639fb816d12a4677 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Wed, 18 Dec 2024 16:22:38 +0000 Subject: [PATCH 01/15] Add snapshot postfix to v4.69.0 --- .../StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift index 3d96d2d1..3bc005b1 100644 --- a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift +++ b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift @@ -7,5 +7,5 @@ import Foundation enum SystemEnvironment { /// A Stream Chat version. - public static let version: String = "4.69.0" + public static let version: String = "4.69.0-SNAPSHOT" } From b42e80c8c3e2872c044f4d140015c162bd739121 Mon Sep 17 00:00:00 2001 From: Stream SDK Bot <60655709+Stream-SDK-Bot@users.noreply.github.com> Date: Thu, 2 Jan 2025 06:42:01 +0000 Subject: [PATCH 02/15] [CI] Update Copyright (#701) --- DemoAppSwiftUI/AppDelegate.swift | 2 +- DemoAppSwiftUI/AppleMessageComposerView.swift | 2 +- DemoAppSwiftUI/ChannelHeader/BlockedUsersView.swift | 2 +- DemoAppSwiftUI/ChannelHeader/BlockedUsersViewModel.swift | 2 +- DemoAppSwiftUI/ChannelHeader/ChannelListQueryIdentifier.swift | 2 +- DemoAppSwiftUI/ChannelHeader/ChooseChannelQueryView.swift | 2 +- DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift | 2 +- DemoAppSwiftUI/ChannelHeader/NewChatView.swift | 2 +- DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift | 2 +- DemoAppSwiftUI/CreateGroupView.swift | 2 +- DemoAppSwiftUI/CreateGroupViewModel.swift | 2 +- DemoAppSwiftUI/CustomAttachment.swift | 2 +- DemoAppSwiftUI/CustomComposerAttachmentView.swift | 2 +- DemoAppSwiftUI/DemoAppSwiftUIApp.swift | 2 +- DemoAppSwiftUI/DemoUser.swift | 2 +- DemoAppSwiftUI/GroupNameView.swift | 2 +- DemoAppSwiftUI/LaunchAnimationState.swift | 2 +- DemoAppSwiftUI/LaunchScreen.swift | 2 +- DemoAppSwiftUI/Localizable.strings | 2 +- DemoAppSwiftUI/LoginView.swift | 2 +- DemoAppSwiftUI/LoginViewModel.swift | 2 +- DemoAppSwiftUI/NotificationsHandler.swift | 2 +- DemoAppSwiftUI/PinChannelHelpers.swift | 2 +- DemoAppSwiftUI/SceneDelegate.swift | 2 +- DemoAppSwiftUI/UserRepository.swift | 2 +- DemoAppSwiftUI/ViewFactoryExamples.swift | 2 +- DemoAppSwiftUI/WhatsAppChannelHeader.swift | 2 +- DemoAppSwiftUI/iMessagePocView.swift | 2 +- Scripts/GenerateSPMFileLists.swift | 2 +- Sources/StreamChatSwiftUI/Appearance.swift | 2 +- .../ChatChannel/ChannelControllerFactory.swift | 2 +- .../ChannelHeader/ChatChannelHeaderViewModifier.swift | 2 +- .../ChannelHeader/MessageThreadHeaderViewModifier.swift | 2 +- .../ChatChannel/ChannelHeader/TypingIndicatorPlacement.swift | 2 +- .../ChatChannel/ChannelInfo/AddUsersView.swift | 2 +- .../ChatChannel/ChannelInfo/AddUsersViewModel.swift | 2 +- .../ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift | 2 +- .../ChatChannel/ChannelInfo/ChatChannelInfoView.swift | 2 +- .../ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift | 2 +- .../ChatChannel/ChannelInfo/ChatInfoParticipantsView.swift | 2 +- .../ChatChannel/ChannelInfo/FileAttachmentsView.swift | 2 +- .../ChatChannel/ChannelInfo/FileAttachmentsViewModel.swift | 2 +- .../ChatChannel/ChannelInfo/MediaAttachmentsView.swift | 2 +- .../ChatChannel/ChannelInfo/MediaAttachmentsViewModel.swift | 2 +- .../ChatChannel/ChannelInfo/PinnedMessagesView.swift | 2 +- .../ChatChannel/ChannelInfo/PinnedMessagesViewModel.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/ChatChannelDataSource.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/ChatChannelScreen.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift | 2 +- .../ChatChannel/Composer/AddedFileAttachmentsView.swift | 2 +- .../ChatChannel/Composer/AddedImageAttachmentsView.swift | 2 +- .../ChatChannel/Composer/AttachmentPickerTypeView.swift | 2 +- .../ChatChannel/Composer/AttachmentPickerView.swift | 2 +- .../ChatChannel/Composer/AttachmentUploadingStateView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift | 2 +- .../ChatChannel/Composer/ComposerHelperViews.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Composer/ComposerModels.swift | 2 +- .../ChatChannel/Composer/ComposerTextInputView.swift | 2 +- .../ChatChannel/Composer/DiscardAttachmentButton.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift | 2 +- .../ChatChannel/Composer/ImagePickerView.swift | 2 +- .../ChatChannel/Composer/MessageComposerView.swift | 2 +- .../Composer/MessageComposerViewModel+Recording.swift | 2 +- .../ChatChannel/Composer/MessageComposerViewModel.swift | 2 +- .../ChatChannel/Composer/PhotoAssetsUtils.swift | 2 +- .../ChatChannel/Composer/PhotoAttachmentPickerView.swift | 2 +- .../ChatChannel/Composer/SendInChannelView.swift | 2 +- .../ChatChannel/Composer/SendMessageButton.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Composer/SlowModeView.swift | 2 +- .../ChatChannel/Composer/Suggestions/CommandsConfig.swift | 2 +- .../Composer/Suggestions/CommandsContainerView.swift | 2 +- .../ChatChannel/Composer/Suggestions/CommandsHandler.swift | 2 +- .../Suggestions/InstantCommands/GiphyCommandHandler.swift | 2 +- .../Suggestions/InstantCommands/InstantCommandsHandler.swift | 2 +- .../Suggestions/InstantCommands/InstantCommandsView.swift | 2 +- .../Suggestions/InstantCommands/MuteCommandHandler.swift | 2 +- .../Suggestions/InstantCommands/TwoStepMentionCommand.swift | 2 +- .../Suggestions/InstantCommands/UnmuteCommandHandler.swift | 2 +- .../Composer/Suggestions/Mentions/MentionUsersView.swift | 2 +- .../Composer/Suggestions/Mentions/MentionsCommandHandler.swift | 2 +- .../ChatChannel/Composer/Suggestions/TypingSuggester.swift | 2 +- .../ChatChannel/Composer/TrailingComposerView.swift | 2 +- .../Composer/VoiceRecording/AddedVoiceRecordingsView.swift | 2 +- .../Composer/VoiceRecording/AudioSessionFeedbackGenerator.swift | 2 +- .../ChatChannel/Composer/VoiceRecording/LockedView.swift | 2 +- .../Composer/VoiceRecording/RecordingConstants.swift | 2 +- .../Composer/VoiceRecording/RecordingDurationView.swift | 2 +- .../ChatChannel/Composer/VoiceRecording/RecordingState.swift | 2 +- .../ChatChannel/Composer/VoiceRecording/RecordingTipView.swift | 2 +- .../ChatChannel/Composer/VoiceRecording/RecordingView.swift | 2 +- .../ChatChannel/Composer/VoiceRecording/RecordingWaveform.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Gallery/GridPhotosView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Gallery/ShareButtonView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Gallery/VideoPlayerView.swift | 2 +- .../ChatChannel/Gallery/ZoomableScrollView.swift | 2 +- .../AsyncVoiceMessages/AudioRecordingNameFormatter.swift | 2 +- .../MessageList/AsyncVoiceMessages/AudioVisualizationView.swift | 2 +- .../MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift | 2 +- .../AsyncVoiceMessages/VoiceRecordingContainerView.swift | 2 +- .../MessageList/AsyncVoiceMessages/WaveformView.swift | 2 +- .../ChatChannel/MessageList/BottomReactionsView.swift | 2 +- .../ChatChannel/MessageList/DeletedMessageView.swift | 2 +- .../ChatChannel/MessageList/FileAttachmentPreview.swift | 2 +- .../ChatChannel/MessageList/FileAttachmentView.swift | 2 +- .../ChatChannel/MessageList/GiphyAttachmentView.swift | 2 +- .../ChatChannel/MessageList/GiphyBadgeView.swift | 2 +- .../ChatChannel/MessageList/ImageAttachmentView.swift | 2 +- .../ChatChannel/MessageList/JumpToUnreadButton.swift | 2 +- .../ChatChannel/MessageList/LinkAttachmentView.swift | 2 +- .../ChatChannel/MessageList/LinkTextView.swift | 2 +- .../ChatChannel/MessageList/MessageAvatarView.swift | 2 +- .../ChatChannel/MessageList/MessageBubble.swift | 2 +- .../ChatChannel/MessageList/MessageContainerView.swift | 2 +- .../ChatChannel/MessageList/MessageIdBuilder.swift | 2 +- .../ChatChannel/MessageList/MessageListConfig.swift | 2 +- .../ChatChannel/MessageList/MessageListDateUtils.swift | 2 +- .../ChatChannel/MessageList/MessageListHelperViews.swift | 2 +- .../ChatChannel/MessageList/MessageListView.swift | 2 +- .../ChatChannel/MessageList/MessageRepliesView.swift | 2 +- .../ChatChannel/MessageList/MessageTypeResolver.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift | 2 +- .../ChatChannel/MessageList/Polls/PollAllOptionsView.swift | 2 +- .../ChatChannel/MessageList/Polls/PollAttachmentView.swift | 2 +- .../ChatChannel/MessageList/Polls/PollAttachmentViewModel.swift | 2 +- .../ChatChannel/MessageList/Polls/PollCommentsView.swift | 2 +- .../ChatChannel/MessageList/Polls/PollCommentsViewModel.swift | 2 +- .../ChatChannel/MessageList/Polls/PollOptionAllVotesView.swift | 2 +- .../MessageList/Polls/PollOptionAllVotesViewModel.swift | 2 +- .../ChatChannel/MessageList/Polls/PollResultsView.swift | 2 +- .../ChatChannel/MessageList/Polls/PollsConfig.swift | 2 +- .../ChatChannel/MessageList/Polls/PollsHelpers.swift | 2 +- .../ChatChannel/MessageList/QuotedMessageView.swift | 2 +- .../ChatChannel/MessageList/ReactionsIconProvider.swift | 2 +- .../ChatChannel/MessageList/SystemMessageView.swift | 2 +- .../ChatChannel/MessageList/VideoAttachmentView.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/MessageList/WebView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Polls/CreatePollView.swift | 2 +- .../ChatChannel/Polls/CreatePollViewModel.swift | 2 +- .../Reactions/MessageActions/DefaultMessageActions.swift | 2 +- .../Reactions/MessageActions/MessageActionsResolver.swift | 2 +- .../Reactions/MessageActions/MessageActionsView.swift | 2 +- .../Reactions/MessageActions/MessageActionsViewModel.swift | 2 +- .../ChatChannel/Reactions/ReactionUserView.swift | 2 +- .../ChatChannel/Reactions/ReactionsBubbleView.swift | 2 +- .../ChatChannel/Reactions/ReactionsHelperViews.swift | 2 +- .../ChatChannel/Reactions/ReactionsOverlayContainer.swift | 2 +- .../ChatChannel/Reactions/ReactionsOverlayView.swift | 2 +- .../ChatChannel/Reactions/ReactionsOverlayViewModel.swift | 2 +- .../ChatChannel/Reactions/ReactionsUsersView.swift | 2 +- .../StreamChatSwiftUI/ChatChannel/Reactions/ReactionsView.swift | 2 +- .../ChatChannel/Utils/ChatChannelExtensions.swift | 2 +- .../ChatChannel/Utils/ChatChannelHelpers.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/Utils/Throttler.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannel/Utils/URLExtensions.swift | 2 +- .../ChatChannelList/ChannelAvatarsMerger.swift | 2 +- .../StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift | 2 +- .../ChatChannelList/ChatChannelHelperViews.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift | 2 +- .../ChatChannelList/ChatChannelListHeader.swift | 2 +- .../StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift | 2 +- .../ChatChannelList/ChatChannelListScreen.swift | 2 +- .../StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift | 2 +- .../ChatChannelList/ChatChannelListViewModel.swift | 2 +- .../ChatChannelList/ChatChannelNavigatableListItem.swift | 2 +- .../ChatChannelList/ChatChannelSwipeableListItem.swift | 2 +- .../ChatChannelList/DefaultChannelActions.swift | 2 +- .../MoreChannelActionsFullScreenWrappingView.swift | 2 +- .../ChatChannelList/MoreChannelActionsView.swift | 2 +- .../ChatChannelList/MoreChannelActionsViewModel.swift | 2 +- Sources/StreamChatSwiftUI/ChatChannelList/NoChannelsView.swift | 2 +- .../StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift | 2 +- Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadList.swift | 2 +- .../ChatThreadList/ChatThreadListErrorBannerView.swift | 2 +- .../ChatThreadList/ChatThreadListFooterView.swift | 2 +- .../ChatThreadList/ChatThreadListHeaderView.swift | 2 +- .../ChatThreadList/ChatThreadListHeaderViewModifier.swift | 2 +- .../StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift | 2 +- .../ChatThreadList/ChatThreadListLoadingView.swift | 2 +- .../ChatThreadList/ChatThreadListNavigatableItem.swift | 2 +- .../StreamChatSwiftUI/ChatThreadList/ChatThreadListView.swift | 2 +- .../ChatThreadList/ChatThreadListViewModel.swift | 2 +- Sources/StreamChatSwiftUI/ChatThreadList/NoThreadsView.swift | 2 +- Sources/StreamChatSwiftUI/ColorPalette.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/ActionBannerView.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift | 2 +- .../StreamChatSwiftUI/CommonViews/AlertBannerViewModifier.swift | 2 +- .../CommonViews/DelayedRenderingViewModifier.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift | 2 +- .../CommonViews/FloatingBannerViewModifier.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/LoadingView.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/NoContentView.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/Shimmer.swift | 2 +- .../StreamChatSwiftUI/CommonViews/TitleWithCloseButton.swift | 2 +- Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift | 2 +- Sources/StreamChatSwiftUI/DefaultViewFactory.swift | 2 +- Sources/StreamChatSwiftUI/DependencyInjection.swift | 2 +- Sources/StreamChatSwiftUI/Fonts.swift | 2 +- .../StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift | 2 +- Sources/StreamChatSwiftUI/Images.swift | 2 +- Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift | 2 +- .../StreamChatSwiftUI/Resources/en.lproj/Localizable.strings | 2 +- Sources/StreamChatSwiftUI/SDKIdentifier.swift | 2 +- Sources/StreamChatSwiftUI/StreamChat.swift | 2 +- Sources/StreamChatSwiftUI/Utils.swift | 2 +- Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/AutoLayoutHelpers.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/Cache.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift | 2 +- .../StreamChatSwiftUI/Utils/Common/ChatClient+Extensions.swift | 2 +- .../StreamChatSwiftUI/Utils/Common/ChatMessage+Extensions.swift | 2 +- .../Utils/Common/ChatMessageReactionAppeareance.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/ChatUserNamer.swift | 2 +- .../Utils/Common/DateFormatter+Extensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/FileCDN.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/ImageCDN.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/ImageMerger.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift | 2 +- .../Utils/Common/NSLayoutConstraint+Extensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/NukeImageProcessor.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/OnLoadViewModifier.swift | 2 +- .../StreamChatSwiftUI/Utils/Common/Publisher+Extensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift | 2 +- .../Utils/Common/UIView+AccessibilityIdentifier.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Common/VideoPreviewLoader.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Errors.swift | 2 +- Sources/StreamChatSwiftUI/Utils/HideTabBarModifier.swift | 2 +- Sources/StreamChatSwiftUI/Utils/ImageLoading.swift | 2 +- Sources/StreamChatSwiftUI/Utils/KeyboardHandling.swift | 2 +- Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/LazyView.swift | 2 +- Sources/StreamChatSwiftUI/Utils/MessageCachingUtils.swift | 2 +- Sources/StreamChatSwiftUI/Utils/MessagePreviewFormatter.swift | 2 +- Sources/StreamChatSwiftUI/Utils/Modifiers.swift | 2 +- Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift | 2 +- Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift | 2 +- Sources/StreamChatSwiftUI/Utils/NukeImageLoader.swift | 2 +- Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift | 2 +- Sources/StreamChatSwiftUI/Utils/StreamLazyImage.swift | 2 +- Sources/StreamChatSwiftUI/Utils/StringExtensions.swift | 2 +- Sources/StreamChatSwiftUI/Utils/SwiftUI+UIAlertController.swift | 2 +- Sources/StreamChatSwiftUI/Utils/ViewExtensions.swift | 2 +- Sources/StreamChatSwiftUI/ViewFactory.swift | 2 +- Sources/StreamChatSwiftUI/ViewModelsFactory.swift | 2 +- .../Infrastructure/Mocks/APIClient_Mock.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Mocks/AnyEndpoint.swift | 2 +- .../Infrastructure/Mocks/CDNClient_Mock.swift | 2 +- .../Infrastructure/Mocks/ChatMessageControllerSUI_Mock.swift | 2 +- .../Infrastructure/Mocks/EventBatcherMock.swift | 2 +- .../Infrastructure/Mocks/EventNotificationCenterMock.swift | 2 +- .../Infrastructure/Mocks/ImageLoader_Mock.swift | 2 +- .../Infrastructure/Mocks/InternetConnectionMock.swift | 2 +- .../Infrastructure/Mocks/MockBackgroundTaskScheduler.swift | 2 +- .../Infrastructure/Mocks/MockNetworkURLProtocol.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift | 2 +- .../Infrastructure/Mocks/RequestRecorderURLProtocol.swift | 2 +- .../Infrastructure/Mocks/StreamChatUtilsMocks.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Mocks/TestRequest.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Mocks/VirtualTimer.swift | 2 +- .../Infrastructure/Mocks/WebSocketClient_Mock.swift | 2 +- .../Infrastructure/Mocks/WebSocketEngineMock.swift | 2 +- .../Infrastructure/Mocks/WebSocketPingControllerMock.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Shared/ChannelId.swift | 2 +- .../Infrastructure/Shared/ColorExtensions.swift | 2 +- .../Infrastructure/Shared/CustomAssertions/AssertAsync.swift | 2 +- .../Shared/CustomAssertions/AssertJSONEqual.swift | 2 +- .../Infrastructure/Shared/CustomAssertions/AssertResult.swift | 2 +- .../Infrastructure/Shared/JSONEncoder+Extensions.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Shared/MockFunc.swift | 2 +- .../Infrastructure/Shared/QueueAwareDelegate.swift | 2 +- .../Infrastructure/Shared/RandomDispatchQueue.swift | 2 +- .../Infrastructure/Shared/TemporaryData.swift | 2 +- .../Infrastructure/Shared/TestDispatchQueue.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Shared/TestError.swift | 2 +- .../Infrastructure/Shared/TestRunnerEnvironment.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Shared/UnwrapAsync.swift | 2 +- StreamChatSwiftUITests/Infrastructure/Shared/WaitFor.swift | 2 +- .../Infrastructure/Shared/XCTAssertEqual+Difference.swift | 2 +- .../Infrastructure/Shared/XCTestCase+MockJSON.swift | 2 +- .../Infrastructure/TestTools/ChatClient_Mock.swift | 2 +- .../Infrastructure/TestTools/ViewFrameUtils.swift | 2 +- .../Tests/ChatChannel/BottomReactionsView_Tests.swift | 2 +- .../Tests/ChatChannel/ChannelControllerFactory_Tests.swift | 2 +- .../Tests/ChatChannel/ChannelInfo/AddUsersViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/ChannelInfo/AddUsersView_Tests.swift | 2 +- .../Tests/ChatChannel/ChannelInfo/ChannelInfoMockUtils.swift | 2 +- .../ChannelInfo/ChatChannelInfoViewModel_Tests.swift | 2 +- .../ChatChannel/ChannelInfo/ChatChannelInfoView_Tests.swift | 2 +- .../ChannelInfo/FileAttachmentsViewModel_Tests.swift | 2 +- .../ChatChannel/ChannelInfo/FileAttachmentsView_Tests.swift | 2 +- .../ChannelInfo/MediaAttachmentsViewModel_Tests.swift | 2 +- .../ChatChannel/ChannelInfo/MediaAttachmentsView_Tests.swift | 2 +- .../ChatChannel/ChannelInfo/PinnedMessagesViewModel_Tests.swift | 2 +- .../ChatChannel/ChannelInfo/PinnedMessagesView_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelDataSource_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelExtensions_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelHeader_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelTestHelpers.swift | 2 +- .../Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/ChatChannelView_Tests.swift | 2 +- .../Tests/ChatChannel/ChatMessageBubbles_Tests.swift | 2 +- .../Tests/ChatChannel/ChatMessageIDs_Tests.swift | 2 +- .../Tests/ChatChannel/ChatMessage_AdjustedText_Tests.swift | 2 +- .../Tests/ChatChannel/CreatePollViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/CreatePollView_Tests.swift | 2 +- .../Tests/ChatChannel/GalleryView_Tests.swift | 2 +- .../Tests/ChatChannel/LazyImageExtensions_Tests.swift | 2 +- .../Tests/ChatChannel/MessageActionsViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/MessageActions_Tests.swift | 2 +- .../Tests/ChatChannel/MessageCachingUtils_Tests.swift | 2 +- .../Tests/ChatChannel/MessageComposerViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/MessageComposerView_Tests.swift | 2 +- .../Tests/ChatChannel/MessageContainerView_Tests.swift | 2 +- .../Tests/ChatChannel/MessageListDateUtils_Tests.swift | 2 +- .../Tests/ChatChannel/MessageListViewAvatars_Tests.swift | 2 +- .../ChatChannel/MessageListViewLastGroupHeader_Tests.swift | 2 +- .../Tests/ChatChannel/MessageListViewNewMessages_Tests.swift | 2 +- .../Tests/ChatChannel/MessageListView_Tests.swift | 2 +- .../Tests/ChatChannel/MessageReadIndicatorView_Tests.swift | 2 +- .../Tests/ChatChannel/MessageTypeResolver_Tests.swift | 2 +- .../Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift | 2 +- .../Tests/ChatChannel/MessageView_Tests.swift | 2 +- .../Tests/ChatChannel/PollAttachmentViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/PollAttachmentView_Tests.swift | 2 +- .../Tests/ChatChannel/PollCommentsViewModel_Tests.swift | 2 +- .../Tests/ChatChannel/QuotedMessageView_Tests.swift | 2 +- .../Tests/ChatChannel/ReactionsOverlayView_Tests.swift | 2 +- .../Tests/ChatChannel/ReactionsUsersView_Tests.swift | 2 +- .../Tests/ChatChannel/Suggestions/CommandsHandler_Tests.swift | 2 +- .../ChatChannel/Suggestions/InstantCommandsHandler_Tests.swift | 2 +- .../ChatChannel/Suggestions/InstantCommandsView_Tests.swift | 2 +- .../ChatChannel/Suggestions/MuteCommandHandler_Tests.swift | 2 +- .../Tests/ChatChannel/Suggestions/TestCommandsConfig.swift | 2 +- .../Tests/ChatChannel/Suggestions/TypingSuggester_Tests.swift | 2 +- .../Tests/ChatChannel/TypingIndicatorView_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/ChatChannel/WebView_Tests.swift | 2 +- .../Tests/ChatChannelList/ChannelHeaderLoader_Tests.swift | 2 +- .../Tests/ChatChannelList/ChatChannelListItemView_Tests.swift | 2 +- .../Tests/ChatChannelList/ChatChannelListTestHelpers.swift | 2 +- .../Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift | 2 +- .../Tests/ChatChannelList/ChatChannelListView_Tests.swift | 2 +- .../Tests/ChatChannelList/LoadingView_Tests.swift | 2 +- .../MoreChannelActionsFullScreenWrappingView_Tests.swift | 2 +- .../ChatChannelList/MoreChannelActionsViewModel_Tests.swift | 2 +- .../Tests/ChatChannelList/MoreChannelActionsView_Tests.swift | 2 +- .../Tests/ChatChannelList/NoChannelsView_Tests.swift | 2 +- .../Tests/ChatChannelList/SearchResultsView_Tests.swift | 2 +- .../Tests/ChatThreadList/ChatThreadListItemView_Tests.swift | 2 +- .../Tests/ChatThreadList/ChatThreadListViewModel_Tests.swift | 2 +- .../Tests/ChatThreadList/ChatThreadListView_Tests.swift | 2 +- .../Tests/CommonViews/AlertBannerViewModifier_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/StreamChatTestCase.swift | 2 +- .../Tests/Utils/AudioRecordingNameFormatter_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift | 2 +- .../Tests/Utils/ChatClientExtensions_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/ChatUserNamer_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/ImageCDN_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/PaddingsConfig_Tests.swift | 2 +- .../Tests/Utils/ReactionsIconProvider_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/SortReactions_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/StreamChat_Utils_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/StringExtensions_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/URLUtils_Tests.swift | 2 +- .../Tests/Utils/VideoDurationFormatter_Tests.swift | 2 +- StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift | 2 +- StreamChatSwiftUITestsApp/AppDelegate.swift | 2 +- StreamChatSwiftUITestsApp/CustomChannelHeader.swift | 2 +- StreamChatSwiftUITestsApp/InternetConnectionMonitor_Mock.swift | 2 +- StreamChatSwiftUITestsApp/StartPage.swift | 2 +- StreamChatSwiftUITestsApp/StreamChatSwiftUITestsAppApp.swift | 2 +- StreamChatSwiftUITestsApp/StreamChatWrapper.swift | 2 +- StreamChatSwiftUITestsApp/UserCredentials.swift | 2 +- StreamChatSwiftUITestsAppTests/Extensions/Bundle+Target.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/ChannelListPage.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/MessageListPage.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/Settings.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/SpringBoard.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/StartPage.swift | 2 +- StreamChatSwiftUITestsAppTests/Pages/ThreadPage.swift | 2 +- StreamChatSwiftUITestsAppTests/Robots/UserRobot+Asserts.swift | 2 +- StreamChatSwiftUITestsAppTests/Robots/UserRobot.swift | 2 +- StreamChatSwiftUITestsAppTests/StreamChatSwiftUITests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/Attachments_Tests.swift | 2 +- .../Tests/Base TestCase/StreamTestCase.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/ChannelList_Tests.swift | 2 +- .../Tests/Ephemeral_Messages_Tests.swift | 2 +- .../MessageDeliveryStatus+ChannelList_Tests.swift | 2 +- .../Message Delivery Status/MessageDeliveryStatus_Tests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/MessageList_Tests.swift | 2 +- .../Tests/PushNotification_Tests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/QuotedReply_Tests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/Reactions_Tests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/SlowMode_Tests.swift | 2 +- StreamChatSwiftUITestsAppTests/Tests/StreamTestCase+Tags.swift | 2 +- 402 files changed, 402 insertions(+), 402 deletions(-) diff --git a/DemoAppSwiftUI/AppDelegate.swift b/DemoAppSwiftUI/AppDelegate.swift index f2d27e2d..58b9b707 100644 --- a/DemoAppSwiftUI/AppDelegate.swift +++ b/DemoAppSwiftUI/AppDelegate.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Sentry diff --git a/DemoAppSwiftUI/AppleMessageComposerView.swift b/DemoAppSwiftUI/AppleMessageComposerView.swift index 8a857abf..2f1972c7 100644 --- a/DemoAppSwiftUI/AppleMessageComposerView.swift +++ b/DemoAppSwiftUI/AppleMessageComposerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/ChannelHeader/BlockedUsersView.swift b/DemoAppSwiftUI/ChannelHeader/BlockedUsersView.swift index d0176d69..19b33245 100644 --- a/DemoAppSwiftUI/ChannelHeader/BlockedUsersView.swift +++ b/DemoAppSwiftUI/ChannelHeader/BlockedUsersView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/DemoAppSwiftUI/ChannelHeader/BlockedUsersViewModel.swift b/DemoAppSwiftUI/ChannelHeader/BlockedUsersViewModel.swift index 2647962d..ea31c898 100644 --- a/DemoAppSwiftUI/ChannelHeader/BlockedUsersViewModel.swift +++ b/DemoAppSwiftUI/ChannelHeader/BlockedUsersViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/ChannelHeader/ChannelListQueryIdentifier.swift b/DemoAppSwiftUI/ChannelHeader/ChannelListQueryIdentifier.swift index e01d7e51..b8b21682 100644 --- a/DemoAppSwiftUI/ChannelHeader/ChannelListQueryIdentifier.swift +++ b/DemoAppSwiftUI/ChannelHeader/ChannelListQueryIdentifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/DemoAppSwiftUI/ChannelHeader/ChooseChannelQueryView.swift b/DemoAppSwiftUI/ChannelHeader/ChooseChannelQueryView.swift index b78c9a00..7e0e036d 100644 --- a/DemoAppSwiftUI/ChannelHeader/ChooseChannelQueryView.swift +++ b/DemoAppSwiftUI/ChannelHeader/ChooseChannelQueryView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift b/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift index e5f12ad6..13537020 100644 --- a/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift +++ b/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/ChannelHeader/NewChatView.swift b/DemoAppSwiftUI/ChannelHeader/NewChatView.swift index 642392c6..3b2b3e97 100644 --- a/DemoAppSwiftUI/ChannelHeader/NewChatView.swift +++ b/DemoAppSwiftUI/ChannelHeader/NewChatView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift b/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift index 765e8b29..a600027c 100644 --- a/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift +++ b/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/CreateGroupView.swift b/DemoAppSwiftUI/CreateGroupView.swift index d3e1eed1..132e4ce9 100644 --- a/DemoAppSwiftUI/CreateGroupView.swift +++ b/DemoAppSwiftUI/CreateGroupView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/CreateGroupViewModel.swift b/DemoAppSwiftUI/CreateGroupViewModel.swift index 977b7aea..c3884957 100644 --- a/DemoAppSwiftUI/CreateGroupViewModel.swift +++ b/DemoAppSwiftUI/CreateGroupViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/CustomAttachment.swift b/DemoAppSwiftUI/CustomAttachment.swift index 7f11bc7a..a2c3e5c5 100644 --- a/DemoAppSwiftUI/CustomAttachment.swift +++ b/DemoAppSwiftUI/CustomAttachment.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/CustomComposerAttachmentView.swift b/DemoAppSwiftUI/CustomComposerAttachmentView.swift index 2b566ce1..d2fbbc0a 100644 --- a/DemoAppSwiftUI/CustomComposerAttachmentView.swift +++ b/DemoAppSwiftUI/CustomComposerAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/DemoAppSwiftUI/DemoAppSwiftUIApp.swift b/DemoAppSwiftUI/DemoAppSwiftUIApp.swift index e7ab3f24..c89eb81a 100644 --- a/DemoAppSwiftUI/DemoAppSwiftUIApp.swift +++ b/DemoAppSwiftUI/DemoAppSwiftUIApp.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/DemoAppSwiftUI/DemoUser.swift b/DemoAppSwiftUI/DemoUser.swift index 12d53b5a..50352317 100644 --- a/DemoAppSwiftUI/DemoUser.swift +++ b/DemoAppSwiftUI/DemoUser.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/DemoAppSwiftUI/GroupNameView.swift b/DemoAppSwiftUI/GroupNameView.swift index 2f63b3a3..21acc932 100644 --- a/DemoAppSwiftUI/GroupNameView.swift +++ b/DemoAppSwiftUI/GroupNameView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/DemoAppSwiftUI/LaunchAnimationState.swift b/DemoAppSwiftUI/LaunchAnimationState.swift index 243150c1..4c584a30 100644 --- a/DemoAppSwiftUI/LaunchAnimationState.swift +++ b/DemoAppSwiftUI/LaunchAnimationState.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/DemoAppSwiftUI/LaunchScreen.swift b/DemoAppSwiftUI/LaunchScreen.swift index 5146e1a0..cb7db382 100644 --- a/DemoAppSwiftUI/LaunchScreen.swift +++ b/DemoAppSwiftUI/LaunchScreen.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/DemoAppSwiftUI/Localizable.strings b/DemoAppSwiftUI/Localizable.strings index 6ebc75d6..7a90b263 100644 --- a/DemoAppSwiftUI/Localizable.strings +++ b/DemoAppSwiftUI/Localizable.strings @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // "channel.name.and" = "and"; diff --git a/DemoAppSwiftUI/LoginView.swift b/DemoAppSwiftUI/LoginView.swift index a2ebf836..baeca29e 100644 --- a/DemoAppSwiftUI/LoginView.swift +++ b/DemoAppSwiftUI/LoginView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/DemoAppSwiftUI/LoginViewModel.swift b/DemoAppSwiftUI/LoginViewModel.swift index e6907017..e2bab8a7 100644 --- a/DemoAppSwiftUI/LoginViewModel.swift +++ b/DemoAppSwiftUI/LoginViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/NotificationsHandler.swift b/DemoAppSwiftUI/NotificationsHandler.swift index a586b971..404395b1 100644 --- a/DemoAppSwiftUI/NotificationsHandler.swift +++ b/DemoAppSwiftUI/NotificationsHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/PinChannelHelpers.swift b/DemoAppSwiftUI/PinChannelHelpers.swift index 73d11a23..2cb7ba94 100644 --- a/DemoAppSwiftUI/PinChannelHelpers.swift +++ b/DemoAppSwiftUI/PinChannelHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/SceneDelegate.swift b/DemoAppSwiftUI/SceneDelegate.swift index 7129a424..ac4aea44 100644 --- a/DemoAppSwiftUI/SceneDelegate.swift +++ b/DemoAppSwiftUI/SceneDelegate.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/DemoAppSwiftUI/UserRepository.swift b/DemoAppSwiftUI/UserRepository.swift index 3592f705..2369441c 100644 --- a/DemoAppSwiftUI/UserRepository.swift +++ b/DemoAppSwiftUI/UserRepository.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/DemoAppSwiftUI/ViewFactoryExamples.swift b/DemoAppSwiftUI/ViewFactoryExamples.swift index 34f986ed..751e2b75 100644 --- a/DemoAppSwiftUI/ViewFactoryExamples.swift +++ b/DemoAppSwiftUI/ViewFactoryExamples.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/WhatsAppChannelHeader.swift b/DemoAppSwiftUI/WhatsAppChannelHeader.swift index a92700ec..05e16b24 100644 --- a/DemoAppSwiftUI/WhatsAppChannelHeader.swift +++ b/DemoAppSwiftUI/WhatsAppChannelHeader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/DemoAppSwiftUI/iMessagePocView.swift b/DemoAppSwiftUI/iMessagePocView.swift index bdcdaaab..bb44a894 100644 --- a/DemoAppSwiftUI/iMessagePocView.swift +++ b/DemoAppSwiftUI/iMessagePocView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Scripts/GenerateSPMFileLists.swift b/Scripts/GenerateSPMFileLists.swift index ccdac174..e49785bc 100755 --- a/Scripts/GenerateSPMFileLists.swift +++ b/Scripts/GenerateSPMFileLists.swift @@ -1,5 +1,5 @@ // -// Copyright © 2021 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // // This script is used to generate list of excluded source files for StreamChat and StreamChatUI in Package.swift. diff --git a/Sources/StreamChatSwiftUI/Appearance.swift b/Sources/StreamChatSwiftUI/Appearance.swift index 6300172b..d8a1c7ee 100644 --- a/Sources/StreamChatSwiftUI/Appearance.swift +++ b/Sources/StreamChatSwiftUI/Appearance.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelControllerFactory.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelControllerFactory.swift index da9795b8..f8e2e89f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelControllerFactory.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelControllerFactory.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift index fe4570fc..5e7c26e6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/MessageThreadHeaderViewModifier.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/MessageThreadHeaderViewModifier.swift index 4ca14633..b2d9946e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/MessageThreadHeaderViewModifier.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/MessageThreadHeaderViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/TypingIndicatorPlacement.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/TypingIndicatorPlacement.swift index ed099e7e..e82a8597 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/TypingIndicatorPlacement.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/TypingIndicatorPlacement.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersView.swift index ecbf8b46..631fb487 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersViewModel.swift index feb45bdd..d463cc01 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/AddUsersViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift index 02c5395e..e8d8f137 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift index d6438a3a..41ccfa3a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift index e28333e6..7769de40 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatInfoParticipantsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatInfoParticipantsView.swift index 94d67618..27f04644 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatInfoParticipantsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatInfoParticipantsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsView.swift index 60f96dc3..b784c2c2 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsViewModel.swift index 2a9c0ee8..cfc1b9e6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/FileAttachmentsViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsView.swift index 2296c128..f78606b9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsViewModel.swift index 22f8eca9..bca7fb37 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/MediaAttachmentsViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift index 35ec5cc6..5421bd47 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesViewModel.swift index 1253f640..7fe257e8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelDataSource.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelDataSource.swift index 18732d35..9d4af175 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelDataSource.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelDataSource.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelScreen.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelScreen.swift index fc9d4371..f06ff0b5 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelScreen.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelScreen.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift index a29ec964..a847fa10 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift index 5ee41f5b..4c3bd44a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedFileAttachmentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedFileAttachmentsView.swift index 901cbaa7..4a614d66 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedFileAttachmentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedFileAttachmentsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedImageAttachmentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedImageAttachmentsView.swift index 5cff4ef2..0cf0d1cf 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedImageAttachmentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AddedImageAttachmentsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerTypeView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerTypeView.swift index b4853153..1bbf484c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerTypeView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerTypeView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerView.swift index 5467b49c..bf8513bb 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentPickerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Photos diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentUploadingStateView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentUploadingStateView.swift index 09fd5348..37fe3a7a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentUploadingStateView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/AttachmentUploadingStateView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift index 12b12324..3c3225cf 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerHelperViews.swift index d845abc2..f1b545e9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerHelperViews.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerModels.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerModels.swift index 664f0b86..afb470c7 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerModels.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerModels.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift index fd847222..48fea75a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/DiscardAttachmentButton.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/DiscardAttachmentButton.swift index fdb6b77e..943316a8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/DiscardAttachmentButton.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/DiscardAttachmentButton.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift index 9ab15606..e5386c04 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ImagePickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ImagePickerView.swift index d398e09e..0d531b8c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ImagePickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ImagePickerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVFoundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift index acafd934..7288d86f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel+Recording.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel+Recording.swift index 24092f01..977d1953 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel+Recording.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel+Recording.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel.swift index 10e77217..9f683b01 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAssetsUtils.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAssetsUtils.swift index 8a5eac1a..388b29aa 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAssetsUtils.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAssetsUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Photos diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift index aaab8572..79a9665a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Photos diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift index 61891f59..b8d8f4f2 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendMessageButton.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendMessageButton.swift index 4a878dab..e5d4da87 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendMessageButton.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendMessageButton.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SlowModeView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SlowModeView.swift index cc503807..05ea7722 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SlowModeView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SlowModeView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsConfig.swift index ccb9ffb6..8b344a16 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsConfig.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsContainerView.swift index 2d68502e..1a848c2f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsContainerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsHandler.swift index 091bf2aa..44f9e433 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/CommandsHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/GiphyCommandHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/GiphyCommandHandler.swift index a1510a13..10c90dc9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/GiphyCommandHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/GiphyCommandHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsHandler.swift index 0590d2a2..319d1bc0 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift index 5556ed71..6597059a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/MuteCommandHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/MuteCommandHandler.swift index 7f0f78fc..478e8c69 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/MuteCommandHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/MuteCommandHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/TwoStepMentionCommand.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/TwoStepMentionCommand.swift index cfdb9719..a1bebbcb 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/TwoStepMentionCommand.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/TwoStepMentionCommand.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/UnmuteCommandHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/UnmuteCommandHandler.swift index 58ce94c2..22920a71 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/UnmuteCommandHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/UnmuteCommandHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift index 7673fe9d..f7dca4ce 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionsCommandHandler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionsCommandHandler.swift index bf3c5bb6..4620e608 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionsCommandHandler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionsCommandHandler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/TypingSuggester.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/TypingSuggester.swift index d594db82..c6b54e10 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/TypingSuggester.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/TypingSuggester.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/TrailingComposerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/TrailingComposerView.swift index ebc0ad31..0e33cf99 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/TrailingComposerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/TrailingComposerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift index 1d4bef7f..185d5543 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AudioSessionFeedbackGenerator.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AudioSessionFeedbackGenerator.swift index ef6d5df1..aae6daca 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AudioSessionFeedbackGenerator.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AudioSessionFeedbackGenerator.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/LockedView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/LockedView.swift index 752b9a05..e3173507 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/LockedView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/LockedView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingConstants.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingConstants.swift index 822b58f3..a725336d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingConstants.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingConstants.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingDurationView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingDurationView.swift index 6c8b5f11..030318b6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingDurationView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingDurationView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingState.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingState.swift index be7a3918..dd764fdf 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingState.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingState.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingTipView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingTipView.swift index e0c7ecae..6f4a94f4 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingTipView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingTipView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingView.swift index e89fa7ec..274b70c9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingWaveform.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingWaveform.swift index 6db6e94c..a26dc3de 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingWaveform.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/RecordingWaveform.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift index 633fc626..7ecd4762 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVKit diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GridPhotosView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GridPhotosView.swift index 1054a600..ee28dd97 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GridPhotosView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GridPhotosView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ShareButtonView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ShareButtonView.swift index 87562f74..bc607193 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ShareButtonView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ShareButtonView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/VideoPlayerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/VideoPlayerView.swift index 665de463..2a3255c3 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/VideoPlayerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/VideoPlayerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVKit diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ZoomableScrollView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ZoomableScrollView.swift index 0bc18034..81cfc2d9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ZoomableScrollView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/ZoomableScrollView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift index 3f1b1b2e..ce47dd51 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift index c61d1f93..d618fb8f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVFoundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift index 817dbc75..94229754 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift index 17ca91aa..8dc2b2f6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/WaveformView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/WaveformView.swift index e5279ec0..7b1b5630 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/WaveformView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/WaveformView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/BottomReactionsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/BottomReactionsView.swift index b3962042..3899e310 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/BottomReactionsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/BottomReactionsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift index 819d6b33..1d76a477 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentPreview.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentPreview.swift index 0ccb4b58..2bf4726a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentPreview.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentPreview.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift index 9d19f207..aad6ca26 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift index 5acda82c..f6d13a31 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyBadgeView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyBadgeView.swift index dc3dd4cb..0c2a8051 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyBadgeView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyBadgeView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift index b6739bf2..553fe025 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/JumpToUnreadButton.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/JumpToUnreadButton.swift index 61adaebe..1e2b353e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/JumpToUnreadButton.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/JumpToUnreadButton.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkAttachmentView.swift index cc2e2537..ec8f3714 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkTextView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkTextView.swift index ddc52a94..ec689c9b 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkTextView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/LinkTextView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageAvatarView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageAvatarView.swift index ff7319da..0c996ec4 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageAvatarView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageAvatarView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift index be02ade5..16213d69 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift index 594fb3bf..e2ff8568 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVKit diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageIdBuilder.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageIdBuilder.swift index 96ca06c6..2689cea3 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageIdBuilder.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageIdBuilder.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift index b0236fda..b4778774 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import CoreGraphics diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift index 9e0d35d9..02d8d24d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift index 370841b2..0b0513a9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift index aebc4132..45d303c9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift index 69dcd7ab..b0bedcb8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageTypeResolver.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageTypeResolver.swift index bc1866be..9506ca10 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageTypeResolver.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageTypeResolver.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift index 169ad667..f3d6d78c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAllOptionsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAllOptionsView.swift index e52fa6a8..3a82a9c6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAllOptionsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAllOptionsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift index f56d82d9..39fcb92c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentViewModel.swift index bf3e3ace..54570014 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift index a12de586..7edfec01 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsViewModel.swift index 34569209..feb44223 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesView.swift index 283a8117..8ced5530 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesViewModel.swift index 5fbf7de5..810b26c6 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollOptionAllVotesViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollResultsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollResultsView.swift index de710fbe..4cc4b781 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollResultsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollResultsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsConfig.swift index 84f41f47..738b0436 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsConfig.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift index e5c8a9bf..a902ca2e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift index 1c13244a..a092e965 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift index 3417c95a..f35acc90 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/SystemMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/SystemMessageView.swift index e4a509ec..7b74198f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/SystemMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/SystemMessageView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift index cf468f38..4c959329 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVKit diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/WebView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/WebView.swift index 5faea959..696a12be 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/WebView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/WebView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollView.swift index e98d4805..770074a8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollViewModel.swift index 4136cf9a..102dd6df 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Polls/CreatePollViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift index 81377c3f..9eaca98e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsResolver.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsResolver.swift index 96bdc444..77f5303d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsResolver.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsResolver.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsView.swift index 5336ae72..3b65b0d5 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsViewModel.swift index 91c09ef6..40506565 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/MessageActionsViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift index a480eaed..1827bc76 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsBubbleView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsBubbleView.swift index ead0e53b..d536d567 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsBubbleView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsBubbleView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsHelperViews.swift index f788fdf3..1df6fd97 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsHelperViews.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift index ca6786ce..d5658b8b 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayView.swift index 1741728e..3e946282 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayViewModel.swift index 9b594286..3aa4c587 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift index 93b8f387..bbbe9976 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsView.swift index 0e96fb3a..e8e4c2b0 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift index c7174615..78d5a522 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelHelpers.swift b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelHelpers.swift index e03704ce..7d3ad83d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelHelpers.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Utils/Throttler.swift b/Sources/StreamChatSwiftUI/ChatChannel/Utils/Throttler.swift index 18ec6ede..95ba1eee 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Utils/Throttler.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Utils/Throttler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Utils/URLExtensions.swift b/Sources/StreamChatSwiftUI/ChatChannel/Utils/URLExtensions.swift index 6414c865..6e8cbe53 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Utils/URLExtensions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Utils/URLExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelAvatarsMerger.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelAvatarsMerger.swift index 8f85e007..27101bb7 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelAvatarsMerger.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelAvatarsMerger.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift index 93a1b6ef..ad370843 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelHelperViews.swift index d49384f6..c4e0a5da 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelHelperViews.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift index a92820fd..cf551ce8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListHeader.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListHeader.swift index 85ccb1e5..be95a5d9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListHeader.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListHeader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift index 2da9efbb..1eaa1c0b 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListScreen.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListScreen.swift index 8250c5e6..6d4f9fea 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListScreen.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListScreen.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift index d340e49c..12eb499e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift index ca892b58..a2f58f22 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelNavigatableListItem.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelNavigatableListItem.swift index 78027755..8a6f22fd 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelNavigatableListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelNavigatableListItem.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelSwipeableListItem.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelSwipeableListItem.swift index ef70e947..4f3d87b8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelSwipeableListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelSwipeableListItem.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/DefaultChannelActions.swift b/Sources/StreamChatSwiftUI/ChatChannelList/DefaultChannelActions.swift index 51c587ce..9887a777 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/DefaultChannelActions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/DefaultChannelActions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsFullScreenWrappingView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsFullScreenWrappingView.swift index c5a73eb7..5922ce60 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsFullScreenWrappingView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsFullScreenWrappingView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsView.swift index 1e1a0cde..c847a92e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift index 557296fa..b24030e8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/NoChannelsView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/NoChannelsView.swift index bd8cc8ac..a2920c26 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/NoChannelsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/NoChannelsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift index 5af48672..c3b8199c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadList.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadList.swift index f4bc23ae..27501687 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadList.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadList.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListErrorBannerView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListErrorBannerView.swift index 69fe3ed3..500dcf20 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListErrorBannerView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListErrorBannerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListFooterView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListFooterView.swift index a49c0f6c..18138b46 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListFooterView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListFooterView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderView.swift index 9fa48df0..6d1bb866 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderViewModifier.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderViewModifier.swift index 3cf16a45..5b7bf012 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderViewModifier.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListHeaderViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift index 5395b98c..60a0a071 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListLoadingView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListLoadingView.swift index c980308d..bbb9066c 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListLoadingView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListLoadingView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListNavigatableItem.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListNavigatableItem.swift index 44b3191e..07d80cd9 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListNavigatableItem.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListNavigatableItem.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListView.swift index ed5802dc..1fad8d2c 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListViewModel.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListViewModel.swift index 0eb14a17..23c0a5a2 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListViewModel.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/NoThreadsView.swift b/Sources/StreamChatSwiftUI/ChatThreadList/NoThreadsView.swift index 791bdbb3..595b42e3 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/NoThreadsView.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/NoThreadsView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ColorPalette.swift b/Sources/StreamChatSwiftUI/ColorPalette.swift index 2ef98726..cd540a36 100644 --- a/Sources/StreamChatSwiftUI/ColorPalette.swift +++ b/Sources/StreamChatSwiftUI/ColorPalette.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/ActionBannerView.swift b/Sources/StreamChatSwiftUI/CommonViews/ActionBannerView.swift index 2ce341c5..2b06f404 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/ActionBannerView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/ActionBannerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift b/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift index fee2c979..b0b2cdd4 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/AlertBannerViewModifier.swift b/Sources/StreamChatSwiftUI/CommonViews/AlertBannerViewModifier.swift index 07e9a6a2..ec54dad6 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/AlertBannerViewModifier.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/AlertBannerViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/DelayedRenderingViewModifier.swift b/Sources/StreamChatSwiftUI/CommonViews/DelayedRenderingViewModifier.swift index fdc49b9d..4a1bca3b 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/DelayedRenderingViewModifier.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/DelayedRenderingViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift b/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift index 6eb2c7a8..117e8906 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/FloatingBannerViewModifier.swift b/Sources/StreamChatSwiftUI/CommonViews/FloatingBannerViewModifier.swift index 15add172..3f09af43 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/FloatingBannerViewModifier.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/FloatingBannerViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift b/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift index 2fbb80c6..c2a9ec8c 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/CommonViews/LoadingView.swift b/Sources/StreamChatSwiftUI/CommonViews/LoadingView.swift index 26931f88..dbd0e758 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/LoadingView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/LoadingView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/NoContentView.swift b/Sources/StreamChatSwiftUI/CommonViews/NoContentView.swift index 3267da3a..21d96638 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/NoContentView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/NoContentView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift b/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift index da6db981..2aded7df 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/Shimmer.swift b/Sources/StreamChatSwiftUI/CommonViews/Shimmer.swift index 2f57ab63..8b23e411 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/Shimmer.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/Shimmer.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/TitleWithCloseButton.swift b/Sources/StreamChatSwiftUI/CommonViews/TitleWithCloseButton.swift index 19985e2d..d3f3e102 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/TitleWithCloseButton.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/TitleWithCloseButton.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift b/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift index 4d397986..9732b152 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/DefaultViewFactory.swift b/Sources/StreamChatSwiftUI/DefaultViewFactory.swift index bce2b7b6..f8dcb3a8 100644 --- a/Sources/StreamChatSwiftUI/DefaultViewFactory.swift +++ b/Sources/StreamChatSwiftUI/DefaultViewFactory.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Photos diff --git a/Sources/StreamChatSwiftUI/DependencyInjection.swift b/Sources/StreamChatSwiftUI/DependencyInjection.swift index 1448e149..6391ba7d 100644 --- a/Sources/StreamChatSwiftUI/DependencyInjection.swift +++ b/Sources/StreamChatSwiftUI/DependencyInjection.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Fonts.swift b/Sources/StreamChatSwiftUI/Fonts.swift index 575b1ae8..afa66541 100644 --- a/Sources/StreamChatSwiftUI/Fonts.swift +++ b/Sources/StreamChatSwiftUI/Fonts.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift index 3bc005b1..a596aafd 100644 --- a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift +++ b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // // ⚠️ Generated file, please use `fastlane :bump_SDK_version or fastlane release major|minor|patch` lanes diff --git a/Sources/StreamChatSwiftUI/Images.swift b/Sources/StreamChatSwiftUI/Images.swift index da223dda..eb236ed8 100644 --- a/Sources/StreamChatSwiftUI/Images.swift +++ b/Sources/StreamChatSwiftUI/Images.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift b/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift index 65a5070b..0dc07b6c 100644 --- a/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift +++ b/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Resources/en.lproj/Localizable.strings b/Sources/StreamChatSwiftUI/Resources/en.lproj/Localizable.strings index d415c798..8138130b 100644 --- a/Sources/StreamChatSwiftUI/Resources/en.lproj/Localizable.strings +++ b/Sources/StreamChatSwiftUI/Resources/en.lproj/Localizable.strings @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // "channel.name.and" = "and"; diff --git a/Sources/StreamChatSwiftUI/SDKIdentifier.swift b/Sources/StreamChatSwiftUI/SDKIdentifier.swift index ea8a27bc..251b983e 100644 --- a/Sources/StreamChatSwiftUI/SDKIdentifier.swift +++ b/Sources/StreamChatSwiftUI/SDKIdentifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/StreamChat.swift b/Sources/StreamChatSwiftUI/StreamChat.swift index 2464fd80..75f03f94 100644 --- a/Sources/StreamChatSwiftUI/StreamChat.swift +++ b/Sources/StreamChatSwiftUI/StreamChat.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/Utils.swift b/Sources/StreamChatSwiftUI/Utils.swift index de01943f..349eb520 100644 --- a/Sources/StreamChatSwiftUI/Utils.swift +++ b/Sources/StreamChatSwiftUI/Utils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift b/Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift index 523f2282..18550297 100644 --- a/Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/AutoLayoutHelpers.swift b/Sources/StreamChatSwiftUI/Utils/Common/AutoLayoutHelpers.swift index eb4adc3f..5c24e6e2 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/AutoLayoutHelpers.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/AutoLayoutHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/Cache.swift b/Sources/StreamChatSwiftUI/Utils/Common/Cache.swift index 61649e3f..887baa42 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/Cache.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/Cache.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift index de2bba4d..b5349274 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatClient+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatClient+Extensions.swift index 64ee050a..93b12d34 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatClient+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ChatClient+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessage+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatMessage+Extensions.swift index 39431eb4..26f3c27a 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessage+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ChatMessage+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift index 6118f10a..43d2dd48 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatUserNamer.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatUserNamer.swift index f079e16f..c8176aca 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatUserNamer.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ChatUserNamer.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift index 3784d183..f111148d 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift b/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift index bb8dbf7a..440010ba 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/FileCDN.swift b/Sources/StreamChatSwiftUI/Utils/Common/FileCDN.swift index d502103b..fce71263 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/FileCDN.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/FileCDN.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ImageCDN.swift b/Sources/StreamChatSwiftUI/Utils/Common/ImageCDN.swift index a6fbd036..6774c4dc 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ImageCDN.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ImageCDN.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ImageMerger.swift b/Sources/StreamChatSwiftUI/Utils/Common/ImageMerger.swift index 286c1020..f66b9aec 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/ImageMerger.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/ImageMerger.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift b/Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift index db5bb7ca..d12a6edb 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/NSLayoutConstraint+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/NSLayoutConstraint+Extensions.swift index 3ee145ed..d70a7f19 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/NSLayoutConstraint+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/NSLayoutConstraint+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/NukeImageProcessor.swift b/Sources/StreamChatSwiftUI/Utils/Common/NukeImageProcessor.swift index 5a7e7f51..f4e2964a 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/NukeImageProcessor.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/NukeImageProcessor.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/OnLoadViewModifier.swift b/Sources/StreamChatSwiftUI/Utils/Common/OnLoadViewModifier.swift index ae9beee7..078a8171 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/OnLoadViewModifier.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/OnLoadViewModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/Publisher+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/Publisher+Extensions.swift index 61164a76..efb60817 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/Publisher+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/Publisher+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift index c6348e28..a829710d 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift index ea0080b7..926dd2ba 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift index 3ba3b16a..8e7f7c9c 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIView+AccessibilityIdentifier.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIView+AccessibilityIdentifier.swift index 3fa85b46..cfc8deba 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIView+AccessibilityIdentifier.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/UIView+AccessibilityIdentifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/Common/VideoPreviewLoader.swift b/Sources/StreamChatSwiftUI/Utils/Common/VideoPreviewLoader.swift index 366496c5..7567088d 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/VideoPreviewLoader.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/VideoPreviewLoader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import AVKit diff --git a/Sources/StreamChatSwiftUI/Utils/Errors.swift b/Sources/StreamChatSwiftUI/Utils/Errors.swift index 617a61fc..86b5cf51 100644 --- a/Sources/StreamChatSwiftUI/Utils/Errors.swift +++ b/Sources/StreamChatSwiftUI/Utils/Errors.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/Utils/HideTabBarModifier.swift b/Sources/StreamChatSwiftUI/Utils/HideTabBarModifier.swift index 8de7f4a5..ab77aa2e 100644 --- a/Sources/StreamChatSwiftUI/Utils/HideTabBarModifier.swift +++ b/Sources/StreamChatSwiftUI/Utils/HideTabBarModifier.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/ImageLoading.swift b/Sources/StreamChatSwiftUI/Utils/ImageLoading.swift index 77f23d71..cfea91c2 100644 --- a/Sources/StreamChatSwiftUI/Utils/ImageLoading.swift +++ b/Sources/StreamChatSwiftUI/Utils/ImageLoading.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/Sources/StreamChatSwiftUI/Utils/KeyboardHandling.swift b/Sources/StreamChatSwiftUI/Utils/KeyboardHandling.swift index 42c7ba25..ec483dbf 100644 --- a/Sources/StreamChatSwiftUI/Utils/KeyboardHandling.swift +++ b/Sources/StreamChatSwiftUI/Utils/KeyboardHandling.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift b/Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift index c2d5eb85..cd753515 100644 --- a/Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/LazyView.swift b/Sources/StreamChatSwiftUI/Utils/LazyView.swift index 1874c06a..395f4b50 100644 --- a/Sources/StreamChatSwiftUI/Utils/LazyView.swift +++ b/Sources/StreamChatSwiftUI/Utils/LazyView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/MessageCachingUtils.swift b/Sources/StreamChatSwiftUI/Utils/MessageCachingUtils.swift index 42d79824..dd406888 100644 --- a/Sources/StreamChatSwiftUI/Utils/MessageCachingUtils.swift +++ b/Sources/StreamChatSwiftUI/Utils/MessageCachingUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/MessagePreviewFormatter.swift b/Sources/StreamChatSwiftUI/Utils/MessagePreviewFormatter.swift index 9fa61e1b..d20dbff6 100644 --- a/Sources/StreamChatSwiftUI/Utils/MessagePreviewFormatter.swift +++ b/Sources/StreamChatSwiftUI/Utils/MessagePreviewFormatter.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/Utils/Modifiers.swift b/Sources/StreamChatSwiftUI/Utils/Modifiers.swift index a4474d31..49172578 100644 --- a/Sources/StreamChatSwiftUI/Utils/Modifiers.swift +++ b/Sources/StreamChatSwiftUI/Utils/Modifiers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift b/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift index 9e4fb923..c0d8570c 100644 --- a/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift +++ b/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift b/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift index ac44c3fc..8f312a25 100644 --- a/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift +++ b/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/NukeImageLoader.swift b/Sources/StreamChatSwiftUI/Utils/NukeImageLoader.swift index b73abc96..480d4cba 100644 --- a/Sources/StreamChatSwiftUI/Utils/NukeImageLoader.swift +++ b/Sources/StreamChatSwiftUI/Utils/NukeImageLoader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift b/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift index adcfedce..624475bc 100644 --- a/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift +++ b/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/StreamLazyImage.swift b/Sources/StreamChatSwiftUI/Utils/StreamLazyImage.swift index 987ed8d7..d53fa9a8 100644 --- a/Sources/StreamChatSwiftUI/Utils/StreamLazyImage.swift +++ b/Sources/StreamChatSwiftUI/Utils/StreamLazyImage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/StringExtensions.swift b/Sources/StreamChatSwiftUI/Utils/StringExtensions.swift index 29a3b70c..6c14832d 100644 --- a/Sources/StreamChatSwiftUI/Utils/StringExtensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/StringExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/Utils/SwiftUI+UIAlertController.swift b/Sources/StreamChatSwiftUI/Utils/SwiftUI+UIAlertController.swift index c4641b5e..20dde3ee 100644 --- a/Sources/StreamChatSwiftUI/Utils/SwiftUI+UIAlertController.swift +++ b/Sources/StreamChatSwiftUI/Utils/SwiftUI+UIAlertController.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/Utils/ViewExtensions.swift b/Sources/StreamChatSwiftUI/Utils/ViewExtensions.swift index db25c13a..3570bb59 100644 --- a/Sources/StreamChatSwiftUI/Utils/ViewExtensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/ViewExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/Sources/StreamChatSwiftUI/ViewFactory.swift b/Sources/StreamChatSwiftUI/ViewFactory.swift index 68418b51..4c6293bc 100644 --- a/Sources/StreamChatSwiftUI/ViewFactory.swift +++ b/Sources/StreamChatSwiftUI/ViewFactory.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/Sources/StreamChatSwiftUI/ViewModelsFactory.swift b/Sources/StreamChatSwiftUI/ViewModelsFactory.swift index 9b1ce724..334532a4 100644 --- a/Sources/StreamChatSwiftUI/ViewModelsFactory.swift +++ b/Sources/StreamChatSwiftUI/ViewModelsFactory.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/APIClient_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/APIClient_Mock.swift index 87a248b3..b22aa221 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/APIClient_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/APIClient_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/AnyEndpoint.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/AnyEndpoint.swift index 4c5055ed..ac1bd770 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/AnyEndpoint.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/AnyEndpoint.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/CDNClient_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/CDNClient_Mock.swift index b989dcee..a1d40563 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/CDNClient_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/CDNClient_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/ChatMessageControllerSUI_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/ChatMessageControllerSUI_Mock.swift index d90c84fc..ed1f430c 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/ChatMessageControllerSUI_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/ChatMessageControllerSUI_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/EventBatcherMock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/EventBatcherMock.swift index d2bc2bb6..af19e8fb 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/EventBatcherMock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/EventBatcherMock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/EventNotificationCenterMock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/EventNotificationCenterMock.swift index 0e702033..8e111c5d 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/EventNotificationCenterMock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/EventNotificationCenterMock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/ImageLoader_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/ImageLoader_Mock.swift index 0f73e2df..0b3d1340 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/ImageLoader_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/ImageLoader_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/InternetConnectionMock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/InternetConnectionMock.swift index f2a94d23..0acd5dd4 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/InternetConnectionMock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/InternetConnectionMock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/MockBackgroundTaskScheduler.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/MockBackgroundTaskScheduler.swift index fa46566d..82ce2845 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/MockBackgroundTaskScheduler.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/MockBackgroundTaskScheduler.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/MockNetworkURLProtocol.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/MockNetworkURLProtocol.swift index 80604943..37b43269 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/MockNetworkURLProtocol.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/MockNetworkURLProtocol.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift index ead778f5..21db2d3b 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/RequestRecorderURLProtocol.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/RequestRecorderURLProtocol.swift index 129dc3a4..bbb36d09 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/RequestRecorderURLProtocol.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/RequestRecorderURLProtocol.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/StreamChatUtilsMocks.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/StreamChatUtilsMocks.swift index a3f6683f..037657d8 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/StreamChatUtilsMocks.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/StreamChatUtilsMocks.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/TestRequest.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/TestRequest.swift index a1aa9444..9a43713e 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/TestRequest.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/TestRequest.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/VirtualTimer.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/VirtualTimer.swift index 932c8985..cdd796b6 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/VirtualTimer.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/VirtualTimer.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketClient_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketClient_Mock.swift index db5745d8..fd18ece5 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketClient_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketClient_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketEngineMock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketEngineMock.swift index 7e0899fc..49f8c5fd 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketEngineMock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketEngineMock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketPingControllerMock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketPingControllerMock.swift index 55143d75..42926bb7 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketPingControllerMock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/WebSocketPingControllerMock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/ChannelId.swift b/StreamChatSwiftUITests/Infrastructure/Shared/ChannelId.swift index 2c783270..7b2a5e8b 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/ChannelId.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/ChannelId.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/ColorExtensions.swift b/StreamChatSwiftUITests/Infrastructure/Shared/ColorExtensions.swift index da457451..3e6a479f 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/ColorExtensions.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/ColorExtensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import UIKit diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertAsync.swift b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertAsync.swift index ae27cc7e..4703c5bd 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertAsync.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertAsync.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertJSONEqual.swift b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertJSONEqual.swift index 5d1b887e..424560e2 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertJSONEqual.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertJSONEqual.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertResult.swift b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertResult.swift index 8ca695c7..7f9d517d 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertResult.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/CustomAssertions/AssertResult.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/JSONEncoder+Extensions.swift b/StreamChatSwiftUITests/Infrastructure/Shared/JSONEncoder+Extensions.swift index 830203d3..74e870fb 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/JSONEncoder+Extensions.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/JSONEncoder+Extensions.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/MockFunc.swift b/StreamChatSwiftUITests/Infrastructure/Shared/MockFunc.swift index b24af342..71159011 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/MockFunc.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/MockFunc.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/QueueAwareDelegate.swift b/StreamChatSwiftUITests/Infrastructure/Shared/QueueAwareDelegate.swift index 7a62723d..3f21c939 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/QueueAwareDelegate.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/QueueAwareDelegate.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/RandomDispatchQueue.swift b/StreamChatSwiftUITests/Infrastructure/Shared/RandomDispatchQueue.swift index f4cf9812..1366be03 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/RandomDispatchQueue.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/RandomDispatchQueue.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/TemporaryData.swift b/StreamChatSwiftUITests/Infrastructure/Shared/TemporaryData.swift index 0455d65e..aebd9dcc 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/TemporaryData.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/TemporaryData.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/TestDispatchQueue.swift b/StreamChatSwiftUITests/Infrastructure/Shared/TestDispatchQueue.swift index f96723aa..c15fed15 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/TestDispatchQueue.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/TestDispatchQueue.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/TestError.swift b/StreamChatSwiftUITests/Infrastructure/Shared/TestError.swift index d497e9f9..023b7f4a 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/TestError.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/TestError.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/TestRunnerEnvironment.swift b/StreamChatSwiftUITests/Infrastructure/Shared/TestRunnerEnvironment.swift index 96fc0f55..c569f85a 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/TestRunnerEnvironment.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/TestRunnerEnvironment.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/UnwrapAsync.swift b/StreamChatSwiftUITests/Infrastructure/Shared/UnwrapAsync.swift index eebd2490..1fece2ca 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/UnwrapAsync.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/UnwrapAsync.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/WaitFor.swift b/StreamChatSwiftUITests/Infrastructure/Shared/WaitFor.swift index c5beec8b..585bb488 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/WaitFor.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/WaitFor.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/XCTAssertEqual+Difference.swift b/StreamChatSwiftUITests/Infrastructure/Shared/XCTAssertEqual+Difference.swift index e6434e76..a35494f1 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/XCTAssertEqual+Difference.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/XCTAssertEqual+Difference.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/Shared/XCTestCase+MockJSON.swift b/StreamChatSwiftUITests/Infrastructure/Shared/XCTestCase+MockJSON.swift index 511c07cf..6d9bb7a0 100644 --- a/StreamChatSwiftUITests/Infrastructure/Shared/XCTestCase+MockJSON.swift +++ b/StreamChatSwiftUITests/Infrastructure/Shared/XCTestCase+MockJSON.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITests/Infrastructure/TestTools/ChatClient_Mock.swift b/StreamChatSwiftUITests/Infrastructure/TestTools/ChatClient_Mock.swift index 8d6ef3d3..e2abc140 100644 --- a/StreamChatSwiftUITests/Infrastructure/TestTools/ChatClient_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/TestTools/ChatClient_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift b/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift index ea801702..78c0e2ff 100644 --- a/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift +++ b/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/BottomReactionsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/BottomReactionsView_Tests.swift index c6f31eb6..7abfb2ba 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/BottomReactionsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/BottomReactionsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelControllerFactory_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelControllerFactory_Tests.swift index 8e962f73..c92c7a6b 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelControllerFactory_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelControllerFactory_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersViewModel_Tests.swift index 0fc659fb..1c4cf05a 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersView_Tests.swift index c1cdef6c..29edd836 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/AddUsersView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChannelInfoMockUtils.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChannelInfoMockUtils.swift index 881b0ebb..4b4953c7 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChannelInfoMockUtils.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChannelInfoMockUtils.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoViewModel_Tests.swift index 5625ba95..4e389edc 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoView_Tests.swift index 359d34d2..4e214d7c 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/ChatChannelInfoView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsViewModel_Tests.swift index 5811bb8f..6fc7daa0 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsView_Tests.swift index a224579b..ee8aa670 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/FileAttachmentsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsViewModel_Tests.swift index 241e87ae..4ed50449 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsView_Tests.swift index 2eeea81d..ad899477 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/MediaAttachmentsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesViewModel_Tests.swift index 12609fd6..f0c471d0 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesView_Tests.swift index 39fcd832..3ac1fc0a 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/PinnedMessagesView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelDataSource_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelDataSource_Tests.swift index f76b460a..685d08e8 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelDataSource_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelDataSource_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelExtensions_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelExtensions_Tests.swift index 596c94f7..3a65242e 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelExtensions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelExtensions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift index f98900f8..baf0ec04 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift index bf287d2f..8e6eeec9 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift index 6c59180e..e426dfc6 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewModel_Tests.swift index 81890c35..d0e89166 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelView_Tests.swift index 7917fccc..df0fcb47 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageBubbles_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageBubbles_Tests.swift index 3cb6a1a0..07c9b322 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageBubbles_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageBubbles_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageIDs_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageIDs_Tests.swift index c4469af8..0fcf27f6 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageIDs_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessageIDs_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessage_AdjustedText_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessage_AdjustedText_Tests.swift index 36ffd21b..21d73211 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessage_AdjustedText_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatMessage_AdjustedText_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollViewModel_Tests.swift index 3b320193..fac68f9e 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollView_Tests.swift index 6b91d7ae..04541b5d 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/CreatePollView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/GalleryView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/GalleryView_Tests.swift index cc75f116..10f98f7d 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/GalleryView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/GalleryView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/LazyImageExtensions_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/LazyImageExtensions_Tests.swift index daae3851..527d1fb9 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/LazyImageExtensions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/LazyImageExtensions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageActionsViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageActionsViewModel_Tests.swift index dbcbe758..e9e01805 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageActionsViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageActionsViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageActions_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageActions_Tests.swift index 8194afe6..a2ea5770 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageActions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageActions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageCachingUtils_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageCachingUtils_Tests.swift index d9509676..47ddb78f 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageCachingUtils_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageCachingUtils_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerViewModel_Tests.swift index 689b9468..c8a27d51 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift index ee2c246d..0586d147 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Photos diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift index f20e4fba..fbdbdb7c 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListDateUtils_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListDateUtils_Tests.swift index f6c2053c..eca40346 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListDateUtils_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListDateUtils_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewAvatars_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewAvatars_Tests.swift index cbe8597c..930d099d 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewAvatars_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewAvatars_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewLastGroupHeader_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewLastGroupHeader_Tests.swift index 1af3ce33..11684a90 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewLastGroupHeader_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewLastGroupHeader_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewNewMessages_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewNewMessages_Tests.swift index 6a7d567a..e2339886 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewNewMessages_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListViewNewMessages_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift index 5f914dd0..d11c2fc4 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageReadIndicatorView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageReadIndicatorView_Tests.swift index e7f3fe61..667f3942 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageReadIndicatorView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageReadIndicatorView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageTypeResolver_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageTypeResolver_Tests.swift index 2d877b36..19a027dc 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageTypeResolver_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageTypeResolver_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift index d4a647d8..c6211848 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift index efc3f480..a55a26db 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentViewModel_Tests.swift index ddc5d040..4fb54079 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentView_Tests.swift index ba97d073..2679c54f 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/PollAttachmentView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/PollCommentsViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/PollCommentsViewModel_Tests.swift index c98b1513..6981b7e5 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/PollCommentsViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/PollCommentsViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift index 96cedcd5..d2e9bffa 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsOverlayView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsOverlayView_Tests.swift index 3deee31a..17f38738 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsOverlayView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsOverlayView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift index c900f202..f02eb8e2 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/CommandsHandler_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/CommandsHandler_Tests.swift index 67587e64..a7197dfd 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/CommandsHandler_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/CommandsHandler_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsHandler_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsHandler_Tests.swift index 46ed18ad..bf775b19 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsHandler_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsHandler_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsView_Tests.swift index 1ed291b4..0aef06f3 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/InstantCommandsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/MuteCommandHandler_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/MuteCommandHandler_Tests.swift index 72bfd7d8..b5a4c869 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/MuteCommandHandler_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/MuteCommandHandler_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TestCommandsConfig.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TestCommandsConfig.swift index dbddc476..add7ecbc 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TestCommandsConfig.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TestCommandsConfig.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Combine diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TypingSuggester_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TypingSuggester_Tests.swift index 39fe7fa5..ea28d78c 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TypingSuggester_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/TypingSuggester_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift index c11cd13e..b38473e5 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/WebView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/WebView_Tests.swift index a4d8fd5f..8561132e 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/WebView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/WebView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChannelHeaderLoader_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChannelHeaderLoader_Tests.swift index bb0e8c14..43f8bffd 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChannelHeaderLoader_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChannelHeaderLoader_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListItemView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListItemView_Tests.swift index e272d2bc..6c62321b 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListItemView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListItemView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListTestHelpers.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListTestHelpers.swift index e488a8f8..d96a3228 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListTestHelpers.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListTestHelpers.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift index b01623dc..aa01fa09 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListView_Tests.swift index ef947161..3ddb30bf 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/LoadingView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/LoadingView_Tests.swift index 7ea2139d..038baadf 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/LoadingView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/LoadingView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsFullScreenWrappingView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsFullScreenWrappingView_Tests.swift index a7a058ad..b088c6b0 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsFullScreenWrappingView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsFullScreenWrappingView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsViewModel_Tests.swift index f0e2bb8d..e9b90461 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsView_Tests.swift index 04ad2ad5..ae706f0d 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/MoreChannelActionsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/NoChannelsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/NoChannelsView_Tests.swift index 220495af..b5263164 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/NoChannelsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/NoChannelsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/SearchResultsView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/SearchResultsView_Tests.swift index e379b270..9348ae81 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/SearchResultsView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/SearchResultsView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListItemView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListItemView_Tests.swift index 9438604c..d2de6ac9 100644 --- a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListItemView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListItemView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListViewModel_Tests.swift index bf3648b0..993414da 100644 --- a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListViewModel_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListView_Tests.swift index 9711eea5..027630d4 100644 --- a/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatThreadList/ChatThreadListView_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/CommonViews/AlertBannerViewModifier_Tests.swift b/StreamChatSwiftUITests/Tests/CommonViews/AlertBannerViewModifier_Tests.swift index 000a5150..ce0eed13 100644 --- a/StreamChatSwiftUITests/Tests/CommonViews/AlertBannerViewModifier_Tests.swift +++ b/StreamChatSwiftUITests/Tests/CommonViews/AlertBannerViewModifier_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SnapshotTesting diff --git a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift index e5a1babb..8fa92fe9 100644 --- a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift +++ b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift index b1721ff8..4956cc71 100644 --- a/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift index 92abb9be..93489308 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/ChatClientExtensions_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ChatClientExtensions_Tests.swift index 7f7644bf..4bc81b87 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ChatClientExtensions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ChatClientExtensions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/ChatUserNamer_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ChatUserNamer_Tests.swift index 600294fa..00a76446 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ChatUserNamer_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ChatUserNamer_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift index bf3373eb..122da026 100644 --- a/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/ImageCDN_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ImageCDN_Tests.swift index bd08ac6c..a74a1e3d 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ImageCDN_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ImageCDN_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/PaddingsConfig_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/PaddingsConfig_Tests.swift index 03a594a6..91ad085d 100644 --- a/StreamChatSwiftUITests/Tests/Utils/PaddingsConfig_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/PaddingsConfig_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift index ef6e6e8c..941b730d 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/SortReactions_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/SortReactions_Tests.swift index e0592885..d6ebf6da 100644 --- a/StreamChatSwiftUITests/Tests/Utils/SortReactions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/SortReactions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/StreamChat_Utils_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/StreamChat_Utils_Tests.swift index f512367b..f3ebeff3 100644 --- a/StreamChatSwiftUITests/Tests/Utils/StreamChat_Utils_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/StreamChat_Utils_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/StringExtensions_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/StringExtensions_Tests.swift index 58ca996e..1069fc74 100644 --- a/StreamChatSwiftUITests/Tests/Utils/StringExtensions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/StringExtensions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/URLUtils_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/URLUtils_Tests.swift index 69624f4e..96b2d24a 100644 --- a/StreamChatSwiftUITests/Tests/Utils/URLUtils_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/URLUtils_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @testable import StreamChat diff --git a/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift index be55b243..a4898bb0 100644 --- a/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift index 5f349380..00d08588 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsApp/AppDelegate.swift b/StreamChatSwiftUITestsApp/AppDelegate.swift index fa91a3a0..d3d6a560 100644 --- a/StreamChatSwiftUITestsApp/AppDelegate.swift +++ b/StreamChatSwiftUITestsApp/AppDelegate.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/StreamChatSwiftUITestsApp/CustomChannelHeader.swift b/StreamChatSwiftUITestsApp/CustomChannelHeader.swift index 0894e2de..a3d98f60 100644 --- a/StreamChatSwiftUITestsApp/CustomChannelHeader.swift +++ b/StreamChatSwiftUITestsApp/CustomChannelHeader.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChat diff --git a/StreamChatSwiftUITestsApp/InternetConnectionMonitor_Mock.swift b/StreamChatSwiftUITestsApp/InternetConnectionMonitor_Mock.swift index ef307899..ec1e8026 100644 --- a/StreamChatSwiftUITestsApp/InternetConnectionMonitor_Mock.swift +++ b/StreamChatSwiftUITestsApp/InternetConnectionMonitor_Mock.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsApp/StartPage.swift b/StreamChatSwiftUITestsApp/StartPage.swift index 35c04d63..280b967c 100644 --- a/StreamChatSwiftUITestsApp/StartPage.swift +++ b/StreamChatSwiftUITestsApp/StartPage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import SwiftUI diff --git a/StreamChatSwiftUITestsApp/StreamChatSwiftUITestsAppApp.swift b/StreamChatSwiftUITestsApp/StreamChatSwiftUITestsAppApp.swift index d9668993..0b6fc9e6 100644 --- a/StreamChatSwiftUITestsApp/StreamChatSwiftUITestsAppApp.swift +++ b/StreamChatSwiftUITestsApp/StreamChatSwiftUITestsAppApp.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/StreamChatSwiftUITestsApp/StreamChatWrapper.swift b/StreamChatSwiftUITestsApp/StreamChatWrapper.swift index 042d201c..a18853d6 100644 --- a/StreamChatSwiftUITestsApp/StreamChatWrapper.swift +++ b/StreamChatSwiftUITestsApp/StreamChatWrapper.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsApp/UserCredentials.swift b/StreamChatSwiftUITestsApp/UserCredentials.swift index 652c7cea..df293db5 100644 --- a/StreamChatSwiftUITestsApp/UserCredentials.swift +++ b/StreamChatSwiftUITestsApp/UserCredentials.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import StreamChatSwiftUI diff --git a/StreamChatSwiftUITestsAppTests/Extensions/Bundle+Target.swift b/StreamChatSwiftUITestsAppTests/Extensions/Bundle+Target.swift index 39376525..e19697c2 100644 --- a/StreamChatSwiftUITestsAppTests/Extensions/Bundle+Target.swift +++ b/StreamChatSwiftUITestsAppTests/Extensions/Bundle+Target.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/ChannelListPage.swift b/StreamChatSwiftUITestsAppTests/Pages/ChannelListPage.swift index 35b17d59..f926db28 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/ChannelListPage.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/ChannelListPage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/MessageListPage.swift b/StreamChatSwiftUITestsAppTests/Pages/MessageListPage.swift index a0b06971..c0a7fd3f 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/MessageListPage.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/MessageListPage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/Settings.swift b/StreamChatSwiftUITestsAppTests/Pages/Settings.swift index 107dedec..9abe320f 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/Settings.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/Settings.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/SpringBoard.swift b/StreamChatSwiftUITestsAppTests/Pages/SpringBoard.swift index 9d946d45..ea756894 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/SpringBoard.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/SpringBoard.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/StartPage.swift b/StreamChatSwiftUITestsAppTests/Pages/StartPage.swift index d356c693..5d6a9baa 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/StartPage.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/StartPage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Pages/ThreadPage.swift b/StreamChatSwiftUITestsAppTests/Pages/ThreadPage.swift index 5ee2dda8..9a6daecb 100644 --- a/StreamChatSwiftUITestsAppTests/Pages/ThreadPage.swift +++ b/StreamChatSwiftUITestsAppTests/Pages/ThreadPage.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Robots/UserRobot+Asserts.swift b/StreamChatSwiftUITestsAppTests/Robots/UserRobot+Asserts.swift index dbd33f6d..637cdb19 100644 --- a/StreamChatSwiftUITestsAppTests/Robots/UserRobot+Asserts.swift +++ b/StreamChatSwiftUITestsAppTests/Robots/UserRobot+Asserts.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/Robots/UserRobot.swift b/StreamChatSwiftUITestsAppTests/Robots/UserRobot.swift index 14e4c913..9f2d112f 100644 --- a/StreamChatSwiftUITestsAppTests/Robots/UserRobot.swift +++ b/StreamChatSwiftUITestsAppTests/Robots/UserRobot.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation diff --git a/StreamChatSwiftUITestsAppTests/StreamChatSwiftUITests.swift b/StreamChatSwiftUITestsAppTests/StreamChatSwiftUITests.swift index 0d76e635..33dbeb3f 100644 --- a/StreamChatSwiftUITestsAppTests/StreamChatSwiftUITests.swift +++ b/StreamChatSwiftUITestsAppTests/StreamChatSwiftUITests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // @_exported import StreamChatTestMockServer diff --git a/StreamChatSwiftUITestsAppTests/Tests/Attachments_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Attachments_Tests.swift index 5772de2b..070c15d9 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Attachments_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Attachments_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/Base TestCase/StreamTestCase.swift b/StreamChatSwiftUITestsAppTests/Tests/Base TestCase/StreamTestCase.swift index 9cfc8618..c6bcd449 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Base TestCase/StreamTestCase.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Base TestCase/StreamTestCase.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/ChannelList_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/ChannelList_Tests.swift index 9f34d73f..b4cd7f10 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/ChannelList_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/ChannelList_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift index 0c87ecc8..453a8cc9 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus+ChannelList_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus+ChannelList_Tests.swift index 47aa65e8..af04a93f 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus+ChannelList_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus+ChannelList_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus_Tests.swift index b7e4e0ce..acf04b42 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Message Delivery Status/MessageDeliveryStatus_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/MessageList_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/MessageList_Tests.swift index 5c44a692..821986de 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/MessageList_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/MessageList_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/PushNotification_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/PushNotification_Tests.swift index 610042b2..ae823906 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/PushNotification_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/PushNotification_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/QuotedReply_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/QuotedReply_Tests.swift index c7f19a59..fb935677 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/QuotedReply_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/QuotedReply_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/Reactions_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Reactions_Tests.swift index 31e44675..b97de225 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Reactions_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Reactions_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/SlowMode_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/SlowMode_Tests.swift index 0d84617e..132efdf7 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/SlowMode_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/SlowMode_Tests.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import XCTest diff --git a/StreamChatSwiftUITestsAppTests/Tests/StreamTestCase+Tags.swift b/StreamChatSwiftUITestsAppTests/Tests/StreamTestCase+Tags.swift index 314cb98c..55d641b8 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/StreamTestCase+Tags.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/StreamTestCase+Tags.swift @@ -1,5 +1,5 @@ // -// Copyright © 2024 Stream.io Inc. All rights reserved. +// Copyright © 2025 Stream.io Inc. All rights reserved. // import Foundation From 3289fb3d37fa7b33abd3a3ff44b09a2e71767c1e Mon Sep 17 00:00:00 2001 From: Toomas Vahter Date: Thu, 2 Jan 2025 14:17:52 +0200 Subject: [PATCH 03/15] Use bright color for typing indicator in dark mode (#702) --- CHANGELOG.md | 3 ++- .../CommonViews/TypingIndicatorView.swift | 8 +++++++- .../ChatChannel/TypingIndicatorView_Tests.swift | 4 ++-- .../test_typingIndicatorView_snapshot.1.png | Bin 595 -> 0 bytes ..._typingIndicatorView_snapshot.default-dark.png | Bin 0 -> 368 bytes ...typingIndicatorView_snapshot.default-light.png | Bin 0 -> 364 bytes 6 files changed, 11 insertions(+), 4 deletions(-) delete mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.1.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.default-light.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cb2f05c..d52619b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming -### 🔄 Changed +### 🐞 Fixed +- Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) # [4.69.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.69.0) _December 18, 2024_ diff --git a/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift b/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift index 9732b152..df4a9f62 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/TypingIndicatorView.swift @@ -12,6 +12,10 @@ public struct TypingIndicatorView: View { private let animationDuration: CGFloat = 0.75 public init() { /* Public init */ } + + init(isTyping: Bool) { + _isTyping = State(wrappedValue: isTyping) + } public var body: some View { HStack(spacing: 4) { @@ -42,7 +46,8 @@ public struct TypingIndicatorView: View { /// View that represents one circle of the typing indicator view. private struct TypingIndicatorCircle: View { - + @Injected(\.colors) var colors + private let circleWidth: CGFloat = 4 private let circleHeight: CGFloat = 4 private let yOffset: CGFloat = 1.5 @@ -53,6 +58,7 @@ private struct TypingIndicatorCircle: View { var body: some View { Circle() + .foregroundColor(Color(colors.text)) .frame(width: circleWidth, height: circleHeight) .opacity(isTyping ? maxOpacity : minOpacity) .offset(y: isTyping ? yOffset : -yOffset) diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift index b38473e5..db915459 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/TypingIndicatorView_Tests.swift @@ -11,10 +11,10 @@ class TypingIndicatorView_Tests: StreamChatTestCase { func test_typingIndicatorView_snapshot() { // Given - let view = TypingIndicatorView() + let view = TypingIndicatorView(isTyping: true) .frame(width: 20, height: 16) // Then - assertSnapshot(matching: view, as: .image(perceptualPrecision: precision)) + AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: CGSize(width: 20, height: 16)) } } diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.1.png deleted file mode 100644 index 4484f222dd75542fd37ec17b098def76a26037c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^Hb88^!3HFK?IbyY6k~CayA#8@b22Z1oR-uG&op0O z1}z|)gMpP%h=CcT1PB=zr5ISjYz77|Mrk-Zh*1NohKYfpJ(Gb2swN6ZgTM_S2I_{= z%nKM1CN5xttF~Fd3}+jFv@we%?gCPr1s;*b3=E1EAk64G%`gEdD3j^p9|EL-7J`8U zkkkNT5Dmf)bkFTy0;Jb?x;Tbpu)Ya((Pm+ zPSW-d8>5>1jEk0DIQHIu!?tOY%O-sJ^G{AU_kP=z#FszifzJK^-zMjQ9FWlga`)Sb z2e}R?@HqbkI-9-vt47)D1nbH!@xwtH9kV7qo4O;rM{w;{gUzYWqyIU+Uh?y4Y|=T& zz26JIuh?og_xYaF+wWSX{@ecHos&+L?inYpubPK4igc_5(-d2Oi6oj>ip}NNJi)29 z%V3sFw_i)7$3i<-3Ew_f^+P&K0_H3As2yMQTlOJ$NLb!U&xLi-KsPaXy85}Sb4q9e E0RK$7zyJUM diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/TypingIndicatorView_Tests/test_typingIndicatorView_snapshot.default-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..fd325cd9df5e1587a6186d6f75a5cff29bcb9b3a GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^B0wy_!3HG7B;uuk6k~CayA#8@b22Z1oR-uG&op0O z1}z|)gMpP%h=CcT1PB=zr5ISjYz77|Mrk-Zh*1NohKYfpJ(Gb2swN6ZgMbGR19d}b z<^_xh6BjVSRf{ZOhO-4g+P0)y+W{%g0*}aI1_o|n5N2eUHAey{D3j^p9|EL-7J>l> zkkkNT5DmiK+jn<*0cmkh7sn6_!K8$QgdhH?HdzW!6Rj>C0vZ4Re?`SQAt1vFq$K&n zmoI<*|M-|}z_w9RLL$K6l> zkkkNT5Dmh Date: Mon, 6 Jan 2025 14:57:51 +0000 Subject: [PATCH 04/15] Remove NetworkReachiblity since it is not being used (#703) --- .../ChatChannelListViewModel.swift | 3 -- .../Utils/NetworkReachability.swift | 34 ------------------- StreamChatSwiftUI.xcodeproj/project.pbxproj | 4 --- 3 files changed, 41 deletions(-) delete mode 100644 Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift index a2f58f22..96d2ef28 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift @@ -35,9 +35,6 @@ open class ChatChannelListViewModel: ObservableObject, ChatChannelListController /// Controls loading the channels. public private(set) var loadingNextChannels: Bool = false - /// Checks if internet connection is available. - private let networkReachability = NetworkReachability() - /// Checks if the queued changes are completely applied. private var markDirty = false diff --git a/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift b/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift deleted file mode 100644 index 8f312a25..00000000 --- a/Sources/StreamChatSwiftUI/Utils/NetworkReachability.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -import Network - -/// Class that checks if the network is reachable. -class NetworkReachability { - - let pathMonitor: NWPathMonitor - var path: NWPath? - - lazy var pathUpdateHandler: ((NWPath) -> Void) = { path in - self.path = path - } - - let backgroudQueue = DispatchQueue.global(qos: .background) - - init() { - pathMonitor = NWPathMonitor() - pathMonitor.pathUpdateHandler = pathUpdateHandler - pathMonitor.start(queue: backgroudQueue) - } - - func isNetworkAvailable() -> Bool { - if let path = self.path { - if path.status == NWPath.Status.satisfied { - return true - } - } - return false - } -} diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index 4e83d536..5994d71b 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -332,7 +332,6 @@ 847305BB28241D8D004AC770 /* ChatChannelHeader_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847305BA28241D8D004AC770 /* ChatChannelHeader_Tests.swift */; }; 847305BD28243D25004AC770 /* WebView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847305BC28243D25004AC770 /* WebView_Tests.swift */; }; 847305BF28243DFA004AC770 /* mock.html in Resources */ = {isa = PBXBuildFile; fileRef = 847305BE28243DF9004AC770 /* mock.html */; }; - 84733EC627FDBF82006926E0 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84733EC527FDBF82006926E0 /* NetworkReachability.swift */; }; 847735F12BE904C300637394 /* PollCommentsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847735F02BE904C300637394 /* PollCommentsViewModel.swift */; }; 84779C752AEBBACD000A6A68 /* BottomReactionsView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84779C742AEBBACD000A6A68 /* BottomReactionsView_Tests.swift */; }; 84779C772AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84779C762AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift */; }; @@ -920,7 +919,6 @@ 847305BA28241D8D004AC770 /* ChatChannelHeader_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatChannelHeader_Tests.swift; sourceTree = ""; }; 847305BC28243D25004AC770 /* WebView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebView_Tests.swift; sourceTree = ""; }; 847305BE28243DF9004AC770 /* mock.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = mock.html; sourceTree = ""; }; - 84733EC527FDBF82006926E0 /* NetworkReachability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkReachability.swift; sourceTree = ""; }; 847735F02BE904C300637394 /* PollCommentsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollCommentsViewModel.swift; sourceTree = ""; }; 84779C742AEBBACD000A6A68 /* BottomReactionsView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomReactionsView_Tests.swift; sourceTree = ""; }; 84779C762AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionsIconProvider_Tests.swift; sourceTree = ""; }; @@ -1879,7 +1877,6 @@ 8465FD3B2746A95600AF091E /* StringExtensions.swift */, 841B64C92775BBC10016FF3B /* Errors.swift */, 847CEFED27C38ABE00606257 /* MessageCachingUtils.swift */, - 84733EC527FDBF82006926E0 /* NetworkReachability.swift */, 84F130C02AEAA957006E7B52 /* StreamLazyImage.swift */, 4FEAB3172BFF71F70057E511 /* SwiftUI+UIAlertController.swift */, 842ADEA828EB018C00F2BE36 /* LazyImageExtensions.swift */, @@ -2869,7 +2866,6 @@ 82D64C102AD7E5B700C5C79E /* ImageDecoders+Default.swift in Sources */, 84289BE5280720E700282ABE /* PinnedMessagesView.swift in Sources */, 8465FD8B2746A95700AF091E /* FilePickerView.swift in Sources */, - 84733EC627FDBF82006926E0 /* NetworkReachability.swift in Sources */, 82D64C0A2AD7E5B700C5C79E /* LinkedList.swift in Sources */, 84E6EC27279B0C930017207B /* ReactionsUsersView.swift in Sources */, 82D64BEC2AD7E5B700C5C79E /* OperationTask.swift in Sources */, From 11b026c0b77d7032f16d9d952325b2b13aadd081 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Thu, 9 Jan 2025 13:11:18 +0000 Subject: [PATCH 05/15] [CI] Bump macos version on PRs (#707) --- .github/workflows/smoke-checks.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index fde60881..199f55bf 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -26,7 +26,7 @@ env: jobs: build-test-app-and-frameworks: name: Build Test App and Frameworks - runs-on: macos-14 + runs-on: macos-15 if: ${{ github.event_name != 'push' }} steps: - uses: actions/checkout@v4.1.1 @@ -35,8 +35,6 @@ jobs: - name: Build run: bundle exec fastlane build_test_app_and_frameworks timeout-minutes: 60 - env: - XCODE_VERSION: "15.2" # Should match the minimum version in dependent jobs - uses: actions/upload-artifact@v4 if: success() with: From c8d0660c30b03d6982d58fb0ecf36f333730417b Mon Sep 17 00:00:00 2001 From: Toomas Vahter Date: Thu, 9 Jan 2025 22:09:54 +0200 Subject: [PATCH 06/15] Quoted message preview did not update when the quoted message was deleted (#705) --- CHANGELOG.md | 1 + .../MessageList/MessageListHelperViews.swift | 3 +++ .../MessageList/QuotedMessageView.swift | 5 +++-- StreamChatSwiftUI.xcodeproj/project.pbxproj | 4 ++-- .../TestTools/ViewFrameUtils.swift | 4 ++++ .../ChatChannel/QuotedMessageView_Tests.swift | 15 +++++++++++++++ ...dMessageView_deletedSnapshot.default-dark.png | Bin 0 -> 3181 bytes ...MessageView_deletedSnapshot.default-light.png | Bin 0 -> 3150 bytes 8 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-light.png diff --git a/CHANGELOG.md b/CHANGELOG.md index d52619b8..580f596b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### 🐞 Fixed - Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) +- Refresh quoted message preview when the quoted message is deleted [#705](https://github.com/GetStream/stream-chat-swiftui/pull/705) # [4.69.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.69.0) _December 18, 2024_ diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift index 0b0513a9..e2471b7d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift @@ -193,6 +193,9 @@ extension View { public func textColor(for message: ChatMessage) -> Color { @Injected(\.colors) var colors + if message.isDeleted { + return Color(colors.textLowEmphasis) + } if message.isSentByCurrentUser { return Color(colors.messageCurrentUserTextColor) } else { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift index a092e965..8cf0cbb2 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift @@ -178,8 +178,9 @@ public struct QuotedMessageView: View { } private var textForMessage: String { - if !quotedMessage.text.isEmpty { - return quotedMessage.adjustedText + let textContent = quotedMessage.textContent ?? "" + if !textContent.isEmpty { + return textContent } if !quotedMessage.imageAttachments.isEmpty { diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index 5994d71b..aa9ba665 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -3835,8 +3835,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/GetStream/stream-chat-swift.git"; requirement = { - kind = upToNextMajorVersion; - minimumVersion = 4.69.0; + branch = develop; + kind = branch; }; }; E3A1C01A282BAC66002D1E26 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = { diff --git a/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift b/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift index 78c0e2ff..9add0d93 100644 --- a/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift +++ b/StreamChatSwiftUITests/Infrastructure/TestTools/ViewFrameUtils.swift @@ -12,4 +12,8 @@ extension View { height: defaultScreenSize.height ) } + + func applySize(_ size: CGSize) -> some View { + frame(width: size.width, height: size.height) + } } diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift index d2e9bffa..31a1f608 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/QuotedMessageView_Tests.swift @@ -46,6 +46,21 @@ class QuotedMessageView_Tests: StreamChatTestCase { assertSnapshot(matching: view, as: .image(perceptualPrecision: precision)) } + func test_quotedMessageView_deletedSnapshot() { + // Given + let viewSize = CGSize(width: 200, height: 50) + let message = ChatMessage.mock(text: "Hello", deletedAt: .unique) + let view = QuotedMessageView( + factory: DefaultViewFactory.shared, + quotedMessage: message, + fillAvailableSpace: true, + forceLeftToRight: true + ) + .applySize(viewSize) + + AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: viewSize) + } + func test_quotedMessageView_voiceAttachmentSnapshot() { // Given let payload = VoiceRecordingAttachmentPayload( diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2b41a52e1d355445d1e61a8347ab17f53307545f GIT binary patch literal 3181 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/QuotedMessageView_Tests/test_quotedMessageView_deletedSnapshot.default-light.png new file mode 100644 index 0000000000000000000000000000000000000000..6e07b13fa60cbef9efe15eed291dc85a5f72502c GIT binary patch literal 3150 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 Date: Fri, 10 Jan 2025 09:53:24 +0000 Subject: [PATCH 07/15] Resolve cron checks CI issue (#709) --- .github/workflows/cron-checks.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/cron-checks.yml b/.github/workflows/cron-checks.yml index 54d5321c..3ab748d2 100644 --- a/.github/workflows/cron-checks.yml +++ b/.github/workflows/cron-checks.yml @@ -125,14 +125,7 @@ jobs: - xcode: 16.1 os: macos-15 - xcode: 15.4 - os: macos-14 - - ios: 18.1 - xcode: 16.1 os: macos-15 - device: "iPhone 16 Pro" - setup_runtime: false - - xcode: 15.0.1 - os: macos-14 fail-fast: false runs-on: ${{ matrix.os }} steps: From 00c91d85113ac899d2f0cbc2b388a52912742d3a Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Fri, 10 Jan 2025 13:04:54 +0000 Subject: [PATCH 08/15] Fix composer command view not Themable (#710) --- CHANGELOG.md | 1 + .../Composer/MessageComposerView.swift | 6 ++- .../MessageComposerView_Tests.swift | 37 ++++++++++++++++++ ...rInputView_command.default-dark-themed.png | Bin 0 -> 6887 bytes ...composerInputView_command.default-dark.png | Bin 0 -> 6796 bytes ...InputView_command.default-light-themed.png | Bin 0 -> 6478 bytes ...omposerInputView_command.default-light.png | Bin 0 -> 6408 bytes 7 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark-themed.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light-themed.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 580f596b..6f00fe41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### 🐞 Fixed - Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) - Refresh quoted message preview when the quoted message is deleted [#705](https://github.com/GetStream/stream-chat-swiftui/pull/705) +- Fix composer command view not Themable [#710](https://github.com/GetStream/stream-chat-swiftui/pull/710) # [4.69.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.69.0) _December 18, 2024_ diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift index 7288d86f..13fe5c97 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift @@ -345,13 +345,15 @@ public struct ComposerInputView: View, KeyboardReadable { displayInfo.isInstant == true { HStack(spacing: 0) { Image(uiImage: images.smallBolt) + .renderingMode(.template) + .foregroundColor(Color(colors.staticColorText)) Text(displayInfo.displayName.uppercased()) } .padding(.horizontal, 8) .font(fonts.footnoteBold) .frame(height: 24) - .background(Color.blue) - .foregroundColor(.white) + .background(colors.tintColor) + .foregroundColor(Color(colors.staticColorText)) .cornerRadius(16) } diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift index 0586d147..3d14cbb4 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift @@ -402,4 +402,41 @@ class MessageComposerView_Tests: StreamChatTestCase { // Then assertSnapshot(matching: view, as: .image(perceptualPrecision: precision)) } + + func test_composerInputView_command() { + let factory = DefaultViewFactory.shared + let size = CGSize(width: defaultScreenSize.width, height: 100) + + let view = ComposerInputView( + factory: factory, + text: .constant(""), + selectedRangeLocation: .constant(0), + command: .constant(.init( + id: .unique, + typingSuggestion: .empty, + displayInfo: CommandDisplayInfo( + displayName: "Giphy", + icon: Images().commandGiphy, + format: "", + isInstant: true + ) + )), + addedAssets: [], + addedFileURLs: [], + addedCustomAttachments: [], + quotedMessage: .constant(nil), + cooldownDuration: 0, + onCustomAttachmentTap: { _ in }, + removeAttachmentWithId: { _ in } + ) + .environmentObject(MessageComposerTestUtils.makeComposerViewModel(chatClient: chatClient)) + .frame(width: size.width, height: size.height) + + AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: size) + + // Themed + streamChat?.appearance.colors.tintColor = .mint + streamChat?.appearance.colors.staticColorText = .black + AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: size, suffix: "themed") + } } diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark-themed.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark-themed.png new file mode 100644 index 0000000000000000000000000000000000000000..67c6e5b3af4de93868318ea4311e52f2e4a80650 GIT binary patch literal 6887 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 NJ*|7N3QhQn{{m|E^u+)G literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png new file mode 100644 index 0000000000000000000000000000000000000000..2d60fa19f81504a8f3a73cfcd6c16ca12f6a1fcd GIT binary patch literal 6408 zcmeHL_g7Qfvrh;Z6fqzd=>!46D=12f6qBfks6fC%uTm8dAvA%IP!y0Z(tE#jAqYwd zO`5a-QbG$FrH0T;s4u$i_r3q%{qWX1XU(3Ovp>6>-DdWL>S*6(KgE9v006Mx(@=W| z008Y7vNh`oMp~>>#Lr+r^uxQi0A+oG3k)U5#^9c zT`a%bX`R7NzSJ;80|0DXzX=FPPUU5M6nv(Jdd%RA2LC*=jPxRdescz~p(TYpiWnSm zPwnPoFCaBl-_gX7uY;Y{K-s9`>@A!gtN0fhNJAu@10r(XefH^=?B~++D zrMFOfB|<#KF*(jG)tal|QbUK5P3@NF%YPn%_WBagJG)jMgA_tq07QNAEF)J^X@l>mAL+= zh5z#v`&$BQ8ym@H_45@Y)gBJ^j@5f_B#Mh65W;?-s?Z=3E&|=XzK@$Tl?C(3g$Ko5 zMPJV-0cwGlh0=f_0zz&R6Dp+z1szW-63;vnfks0*!4G!<3|texM+-5l$y*0GWZ+;N z9QL-ZF2mvML(PD5e_tM42hx#>aKP=*s?ZWV&|Mw5v$<{LWSVob$Ccoiin94Bx$aN( z1?0Er@un=qo+ApSnU0Kody2te-X?P^bc26_*8O$2fn%qvES+jm_mMSK)pc);*zv~f zd9iNq7=3uN1X3Hk3LBnNK;A}QI$a|-9Gmm?Pq8dIvQ|SGNTdeqTs3yt-+QVzEQl8x zwc5@YOxT`qKioERX>5=yB@?2_&KXHWXQj{QNTB@>Ts{>7`+Q)ErAfGq@#V+bMqP~B z#MXdgDfNeW6+mr;e&E}&V3IQD|F>e^9x1OQ3V^+WeqqLfJ>f>= z9gn)F(zyOz@Q?<5P=hfoyrGcQ^s1dAe$OqGqDyHJj7c;;^2cp6$nvADdB)=GLb-Ev{+K#&W6mCy~c3An_9i|Foi| zskeh+A0?;8$DgAz;Jwe!lE1u;q?pvYbv=LnTvnNwGH>kUC)>2;k}+3Sc16XLmU`K& ze(cn#Q;sb`CuyDC-S|*0$?Y5k}=<|BZn49X(&U! zzF}(YN6GFVnc$(!9V$a7uwj%(uWVQP6!&%4mVP0Gequ_A0X3IfJm9ba>IA-raBY~n zbaRjAID@vFQ(CTFJp;6T+6YfuucB|i_gBQ2_I=Bn+O7JzG9PoVJZn}#LE&?p$Jh6N zzmVP7*l=nNVDX@@|I%HyyIMCsF%dzC5>%4SKRjcbu+FlwHUsMI?X5=7X{RVUB?n&9 z>Fe#)x~@UtH?Fh}ood7)oaB3tX}De`)1aYd#D<0>(%IRu)7jy`D#MV&t&ZZkB-cut zyI^a>ZAoepcAzOr!36@&UiEXxCrzEe-@DuDakTDl*p0^T&77IJmty!Nj1=#1e&%mT zBBDsv*!^0C`C$K(l+sTY%}ZF@3Fk!9e@@<91|AGuu;uQx{T$4-wC9VRT|VP>uYja8 zsG_1W^_(p=N=U`llQvmVtY1D}>%KIpX7=f&<>S4s_Wa1mGg8vhRXKN~A`LT0V|lVU z6o=8EZLpYz7gVT45e=rRI@ZqFOwT zO!;Sd1m*UJJn$_P+y4EYKJY3=YF>Z?!6qCKKmCBZBX!f-WWv&8=0)OB@vx=Jqkz4! zJC8BD{)Ue}Ac=OBrCr#ZZu{#8TT7!tAzCX z@>hR-p2{}KKUQXaPm;+=qtR%LL+OSnc2RsH`T(}Qi-9?=AJSd@RDaT|e##wQi`Ojo zAG~7oZfURab4ZA5Is$cwY9tosu739H?VD|$Lunlgr%(Si~E9<*LMjMYMx(`1-Dn|h~&=-l-FhBfAKm!+E zq^Zgr%%OS0_<(%jm#tba!Z_LBicE+FO7%?5wUA76W`IOdKCSUgkOc$@{=ob{TZIP zvXTN3wY9ZDVbExNW83}S3Y+fupp(;8&tjLS>PG8Zb>0O3HCkr+z#iJU3J5${ z7%G@ZR&b!MQ95Wo`KBjmocY( z)s3%CSAF%4p%icIf)&CPj=(rfuJ23}aH0|0SO?dzJLW^QudE^&1;TZ!A>d3Bk}G{!S->bkx-fY?5em|_&(}->^Hh_2>CL)N7>+uxh5OlJ0byj4foVjGs`Z)9KYt z6N<1xsxAn;T^xGmZx9v0-Na%IdolU)!;C)*MB-xWq9%NTPt}m%vr`txjuVY2jel&F zC9HeclOz{Wn&7iT`|N$)yjHmi@4lo5mfHIwyx5nl(A|7yrcwjg$XNAtYd5@Bo3C8-+@1k4+HmvCPW~%z*aZX=NyWWw=Yd2NUz#vq1>lhXH)NT5C1Krz9LUfNjsbnSYd(C z$0Apu+4kAvk2CjOKXBhv^Vw}i9+5p>8*@8G2>Mv7zdz{ZD+Fr2XLmb12j1`V3#0g1 z+27UY5aK$&FBfwNhJp85%dj*^Y1@c-iAK)@n;Mi)%|D2o7iNu)efni4F45m_flUNp zFWfkVj9Cfrnh`Z;H7j_89H)n>hO^nxSMsP{h{i#ZnMJ8*UTH~4%=bg%ID8f(m z{8Yksz4XgTdwY992Ok|qYyTNecmSuQBD-&g`(|pGs|^!W&xEHDj$c? zEtF0qKt?;y%!^3~&1QI6g3s;g6p#`t3?Dr;?lnA8-dpaCHA-f@nB0oe%P23YGLi zhF}4qJn5W}0~Qfe@%I>W=d*TX3RQ}s>|wD_QL(oE;odj>0#uag=8WZQcXxO0Nxy3!C*Hm>h^i*{$nNj>;puZd7~A8T zmv!arFe#rG9{aCJ`oT6!hn88S#_eRMi`~`7hfH{AILu*5UJ9O8x)EhcLd%$^3|A#S zkxwkWq_9u_Mx{GPeT^6TWVhXV(iV}NIOV6*OEruoZKn*tF`iY1PQ|3G{ektJ2tL#4 zJY(nn24DK%71LU4hP|y!lCv8R;S_UR|JmhnxaaPfHa>170QddmL?%qprW+g>R<6q_ zRzj=t_jG!rXL~B%y?duYHZn4Doc!cc?M#O26R^jA0yn&?7)Jlj;y`eW*xm8(t-)fy z)+*}#4#(5snCA><1bt}y!NR|nvEP(cR5q$}oZH&kVm87ZI-}2T|Llr2Nf{Z@8|?>y z&wQ%9@F0GS;lhYgY^aQ7Sf!hz&PU1ar*uSlZuO-qSv`63WMq0e9e*!_7`XOyhtX7- zsjsGQd0}A%W2Woem*R_69LKKuY|h8vVIEY2i3T6fzA|U*Hq{UoSzD{@v$Ytf8@2Xk zCm1g0=eE9FCDW4{rIo^1lHtpyDq+yzoIUc z{*zs~SjuJD)_6Rp6*VKsv@GM$lRSO|>0LGPQeE&mSB*8}dre6_J?6iTl1Mtd4jSVi z9#5t@ZFJnRZQ6~E8K{2$#5S{mqE~fboaBw-Cto>kXT=wt{zTbo^_x{uPtYkKsGhjG zvqG+UHk8i?gS-R^zt{^p$z`H6HwHgGK-Z8fZNioy+8>?|7io~~QFRSIJGJXh6V*z) zH6K6TS$q`@Rd&1hkk)a6s-33%t4zt|hgyoVdl5)XCt1bw1#=UD-3Ql}&Bb&u{?VaN z_cjuZu~-7$z#jR6pCU$HB7C+TL2t*vwG7wBtOD5FJfN4;7$1t!}S$L_t*!Z_Kp1xR@9jEz%xfFbxXw@?(kDtWwiH zlphI~8sa5J3qA>9j=lUbM+dK3S8lB`{cv9zF=QNu-_4nC;{>6nE&J9OW^ejb{3>|N zWRpq{tB)N}=}8`(26_LuhF>Vi#`S=evM0dqwxvS0R#AzEPO+r*2ZjKvKt)8#(~&8s z*_^e0Sx&_aa$m1A6p3(FobZwKK2k~2_^iz3vJx7Hl>^y}&U+pD9RV!Z=Yw=W*=kn5kU;_O8LJQj+fzZVo4uYK%t%YZ}UwV;x#_(R$fN8Aq`OLKquRZ-WSu%Pmlod%Yws7%9)0O3Ng zbJz_Ig7;RD6zG#$#XMz+gD+O}>G|`Q8okz@=JtOB9nIhS_F!uF5h&W`+K++vdv~LR z-IHSmSHoCFe@$myU^}-Jf7y7J`sUfWuM0AVvj!7Qg8-;;y_d@sOtav5RtsU^3j&^# z!^;BXqL>bUm3;b;=eP-Lf!19r9!*-U&C48eb8{mV5l; z`AUQUOz>sW^;El5&C}U#4+W$R=23frM}vq#$<5axymjx_67TZ|wM7#K zp%DAB&^PnlhnA^okD8`sF8S4u@AL{TLX^|5yR_uBtwJ&uS2?yn&#tQ2?6MO$AxK_` zreECJ=WNF1bu4UrZ&JJqHuieXJAGCpfF>iNRScbvK@~tQgM2TT*LVInA(zy(a`tAs z*fj}N3xKktT0nit#^{MRs@n7wYUpk!T1dr1TK~*}*ZGs5fYPILx)I*Fx-Hw^uVpeP z3VZv4VXoW8YL(KO zKif#Wps?VYoA0%b4_?jOSEGK+gQRxAGu3&_{(30W6JrIj$bpRJHd2!ug^AyQ>ufw% z+_s6KCdy%fD^c4ZaLP2V~h2e$+xK~r(p$Bha9$I zmr&Z!O+XOlblr?Bs1T0<;Ef;rTWy}MO#q<9RXQ7qSz9%EKf%QE#tRREz?ty%xY!z& zk!kg;?ITqm*OpwY%Ma6(C1w;gVXoo}Sza5UD>Q{ie%TF!Q{7Zx|I7 z-|}{i!u2aqU@#m}7D|8!YvJVozVPr??gNeD)#*%~$1-GIRRU+@sA}Qbt)v|RT=M%1 zg>W-vp0~*j>;|V}(YV>ntcryOUHKCsB4Fd%z_m-R!u7GeD8a@#8;O{QS&!eA7c}_h z*T9jRlf*=N+A0r}=O+4eMTY+9cIQH8^Llm(tdXW6HWgj1)!uP^=&RDs_G}?RqTbhH zW)HvyKfOI5XVM2umRU~Xx%|=H`MAsSe8D`GTG_E>T3uMu4WHO(KdP#q@H3rU7Nw%p zJ?xHx>adLlx!BEE)+E0nYDT4uQx6G_^0p%r=jg5R*76{Z# z$FA?c7*Vh0d5~J)2iVaoHsWJ167lD)<>rg;+oh46jBu2BK7>Q5b<#JZ9+#gTmAfUX z*0*P)TwHbmD`j{eKhBHpXbP^6{JMK%4A|d;cKIp4^E0= zCHoK?7dI2G20rnPFrJBFgy3#LaWNmx+O}x(j&oi0p>6XL2|%AK#E}u2sKXUax89dCyzW>kpUmt^}V}L3bOjvV;E1hwD0o=QztyXr+BH+IO*P$51 literal 0 HcmV?d00001 From ff23f484fdfbb23239703d9a0f0855c7d0b9d4ba Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Fri, 10 Jan 2025 15:24:59 +0000 Subject: [PATCH 09/15] Expose all the default message actions (#711) * Expose all default `MessageActions` * Add docs and make extension public * Update CHANGELOG.md --- CHANGELOG.md | 2 + .../DefaultMessageActions.swift | 64 ++++++++++++------- 2 files changed, 43 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f00fe41..fbc7a616 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming +### ✅ Added +- Exposes all the default message actions [#711](https://github.com/GetStream/stream-chat-swiftui/pull/711) ### 🐞 Fixed - Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) - Refresh quoted message preview when the quoted message is deleted [#705](https://github.com/GetStream/stream-chat-swiftui/pull/705) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift index 9eaca98e..b454a8ec 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/MessageActions/DefaultMessageActions.swift @@ -5,7 +5,9 @@ import StreamChat import SwiftUI -extension MessageAction { +// MARK: - Default Message Actions + +public extension MessageAction { /// Returns the default message actions. /// /// - Parameters: @@ -13,7 +15,7 @@ extension MessageAction { /// - chatClient: the chat client. /// - onDimiss: called when the action is executed. /// - Returns: array of `MessageAction`. - public static func defaultActions( + static func defaultActions( factory: Factory, for message: ChatMessage, channel: ChatChannel, @@ -229,9 +231,8 @@ extension MessageAction { return messageActions } - // MARK: - private - - private static func copyMessageAction( + /// The action to copy the message text. + static func copyMessageAction( for message: ChatMessage, onFinish: @escaping (MessageActionInfo) -> Void ) -> MessageAction { @@ -255,7 +256,8 @@ extension MessageAction { return copyAction } - private static func editMessageAction( + /// The action to edit the message. + static func editMessageAction( for message: ChatMessage, channel: ChatChannel, onFinish: @escaping (MessageActionInfo) -> Void @@ -279,7 +281,8 @@ extension MessageAction { return editAction } - private static func pinMessageAction( + /// The action to pin the message. + static func pinMessageAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -318,7 +321,8 @@ extension MessageAction { return pinAction } - private static func unpinMessageAction( + /// The action to unpin the message. + static func unpinMessageAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -357,7 +361,8 @@ extension MessageAction { return pinAction } - private static func replyAction( + /// The action to reply to the message + static func replyAction( for message: ChatMessage, channel: ChatChannel, onFinish: @escaping (MessageActionInfo) -> Void @@ -381,7 +386,8 @@ extension MessageAction { return replyAction } - private static func threadReplyAction( + /// The action to reply to the message in a thread + static func threadReplyAction( factory: Factory, for message: ChatMessage, channel: ChatChannel @@ -404,7 +410,8 @@ extension MessageAction { return replyThread } - private static func deleteMessageAction( + /// The action to delete the message. + static func deleteMessageAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -449,7 +456,8 @@ extension MessageAction { return deleteMessage } - private static func flagMessageAction( + /// The action to flag the message. + static func flagMessageAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -493,8 +501,9 @@ extension MessageAction { return flagMessage } - - private static func markAsUnreadAction( + + /// The action to mark the message as unread. + static func markAsUnreadAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -530,7 +539,8 @@ extension MessageAction { return unreadAction } - private static func markThreadAsUnreadAction( + /// The action to mark the thread as unread. + static func markThreadAsUnreadAction( messageController: ChatMessageController, message: ChatMessage, onFinish: @escaping (MessageActionInfo) -> Void, @@ -562,7 +572,8 @@ extension MessageAction { return unreadAction } - private static func muteAction( + /// The action to mute the user. + static func muteAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -597,8 +608,9 @@ extension MessageAction { return muteUser } - - private static func blockUserAction( + + /// The action to block the user + static func blockUserAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -638,7 +650,8 @@ extension MessageAction { return blockUser } - private static func unmuteAction( + /// The action to unmute the user. + static func unmuteAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -673,8 +686,9 @@ extension MessageAction { return unmuteUser } - - private static func unblockUserAction( + + /// The action to unblock the user. + static func unblockUserAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -714,7 +728,8 @@ extension MessageAction { return unblockUser } - private static func resendMessageAction( + /// The action to resend the message. + static func resendMessageAction( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -753,7 +768,8 @@ extension MessageAction { return messageAction } - private static func messageNotSentActions( + /// The actions for a message that was not sent. + static func messageNotSentActions( for message: ChatMessage, channel: ChatChannel, chatClient: ChatClient, @@ -783,6 +799,8 @@ extension MessageAction { return messageActions } + // MARK: - Helpers + private static func editAndDeleteActions( for message: ChatMessage, channel: ChatChannel, From f566ec12608971b4ae36353bc86cf74e62c4ebd6 Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Mon, 13 Jan 2025 16:50:46 +0000 Subject: [PATCH 10/15] Fix reactions users view not paginating results (#712) * Fix reactions users view not paginating results * Update CHANGELOG.md * Create seperate file for the view model --- CHANGELOG.md | 1 + .../Reactions/ReactionsUsersView.swift | 32 ++++++------ .../Reactions/ReactionsUsersViewModel.swift | 52 +++++++++++++++++++ StreamChatSwiftUI.xcodeproj/project.pbxproj | 4 ++ .../ReactionsUsersView_Tests.swift | 45 +++++++++++----- 5 files changed, 105 insertions(+), 29 deletions(-) create mode 100644 Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersViewModel.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index fbc7a616..48fa1823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) - Refresh quoted message preview when the quoted message is deleted [#705](https://github.com/GetStream/stream-chat-swiftui/pull/705) - Fix composer command view not Themable [#710](https://github.com/GetStream/stream-chat-swiftui/pull/710) +- Fix reactions users view not paginating results [#712](https://github.com/GetStream/stream-chat-swiftui/pull/712) # [4.69.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.69.0) _December 18, 2024_ diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift index bbbe9976..538e27b9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersView.swift @@ -7,46 +7,48 @@ import SwiftUI /// View displaying users who have reacted to a message. struct ReactionsUsersView: View { - + @StateObject private var viewModel: ReactionsUsersViewModel + @Injected(\.fonts) private var fonts @Injected(\.colors) private var colors - var message: ChatMessage var maxHeight: CGFloat private static let columnCount = 4 private static let itemSize: CGFloat = 64 private let columns = Array( - repeating: - GridItem( - .adaptive(minimum: itemSize), - alignment: .top - ), + repeating: GridItem(.adaptive(minimum: itemSize), alignment: .top), count: columnCount ) + + init(message: ChatMessage, maxHeight: CGFloat) { + self.maxHeight = maxHeight + _viewModel = StateObject(wrappedValue: ReactionsUsersViewModel(message: message)) + } - private var reactions: [ChatMessageReaction] { - Array(message.latestReactions) + init(viewModel: ReactionsUsersViewModel, maxHeight: CGFloat) { + self.maxHeight = maxHeight + _viewModel = StateObject(wrappedValue: viewModel) } var body: some View { HStack { - if message.isRightAligned { + if viewModel.isRightAligned { Spacer() } VStack(alignment: .center) { - Text(L10n.Reaction.Authors.numberOfReactions(reactions.count)) + Text(L10n.Reaction.Authors.numberOfReactions(viewModel.totalReactionsCount)) .foregroundColor(Color(colors.text)) .font(fonts.title3) .fontWeight(.bold) .padding() - if reactions.count > Self.columnCount { + if viewModel.reactions.count > Self.columnCount { ScrollView { LazyVGrid(columns: columns, alignment: .center, spacing: 8) { - ForEach(reactions) { reaction in + ForEach(viewModel.reactions) { reaction in ReactionUserView( reaction: reaction, imageSize: Self.itemSize @@ -57,7 +59,7 @@ struct ReactionsUsersView: View { .frame(maxHeight: maxHeight) } else { HStack(alignment: .top, spacing: 0) { - ForEach(reactions) { reaction in + ForEach(viewModel.reactions) { reaction in ReactionUserView( reaction: reaction, imageSize: Self.itemSize @@ -70,7 +72,7 @@ struct ReactionsUsersView: View { .background(Color(colors.background)) .cornerRadius(16) - if !message.isRightAligned { + if !viewModel.isRightAligned { Spacer() } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersViewModel.swift new file mode 100644 index 00000000..ae9674e9 --- /dev/null +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsUsersViewModel.swift @@ -0,0 +1,52 @@ +// +// Copyright © 2025 Stream.io Inc. All rights reserved. +// + +import StreamChat +import SwiftUI + +class ReactionsUsersViewModel: ObservableObject, ChatMessageControllerDelegate { + @Published var reactions: [ChatMessageReaction] = [] + + var totalReactionsCount: Int { + messageController?.message?.totalReactionsCount ?? 0 + } + + var isRightAligned: Bool { + messageController?.message?.isRightAligned == true + } + + private var isLoading = false + private let messageController: ChatMessageController? + + init(message: ChatMessage) { + if let cid = message.cid { + messageController = InjectedValues[\.chatClient].messageController( + cid: cid, + messageId: message.id + ) + } else { + messageController = nil + } + messageController?.delegate = self + loadMoreReactions() + } + + func loadMoreReactions() { + guard let messageController = self.messageController else { + return + } + guard !isLoading && messageController.hasLoadedAllReactions == false else { + return + } + + isLoading = true + messageController.loadNextReactions { [weak self] _ in + self?.isLoading = false + } + } + + func messageController(_ controller: ChatMessageController, didChangeReactions reactions: [ChatMessageReaction]) { + self.reactions = reactions + } +} diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index aa9ba665..fab5d0b3 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -515,6 +515,7 @@ AD3AB65C2CB730090014D4D7 /* Shimmer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65B2CB730090014D4D7 /* Shimmer.swift */; }; AD3AB65E2CB731360014D4D7 /* ChatThreadListLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65D2CB731360014D4D7 /* ChatThreadListLoadingView.swift */; }; AD3AB6602CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65F2CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift */; }; + AD6B7E052D356E8800ADEF39 /* ReactionsUsersViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6B7E042D356E8800ADEF39 /* ReactionsUsersViewModel.swift */; }; ADE0F55E2CB838420053B8B9 /* ChatThreadListErrorBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F55D2CB838420053B8B9 /* ChatThreadListErrorBannerView.swift */; }; ADE0F5602CB846EC0053B8B9 /* FloatingBannerViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F55F2CB846EC0053B8B9 /* FloatingBannerViewModifier.swift */; }; ADE0F5622CB8556F0053B8B9 /* ChatThreadListFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F5612CB8556F0053B8B9 /* ChatThreadListFooterView.swift */; }; @@ -1107,6 +1108,7 @@ AD3AB65B2CB730090014D4D7 /* Shimmer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shimmer.swift; sourceTree = ""; }; AD3AB65D2CB731360014D4D7 /* ChatThreadListLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListLoadingView.swift; sourceTree = ""; }; AD3AB65F2CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListHeaderViewModifier.swift; sourceTree = ""; }; + AD6B7E042D356E8800ADEF39 /* ReactionsUsersViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionsUsersViewModel.swift; sourceTree = ""; }; ADE0F55D2CB838420053B8B9 /* ChatThreadListErrorBannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListErrorBannerView.swift; sourceTree = ""; }; ADE0F55F2CB846EC0053B8B9 /* FloatingBannerViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingBannerViewModifier.swift; sourceTree = ""; }; ADE0F5612CB8556F0053B8B9 /* ChatThreadListFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListFooterView.swift; sourceTree = ""; }; @@ -1824,6 +1826,7 @@ 8465FD212746A95600AF091E /* ReactionsOverlayViewModel.swift */, 8465FD252746A95600AF091E /* ReactionsHelperViews.swift */, 84E6EC26279B0C930017207B /* ReactionsUsersView.swift */, + AD6B7E042D356E8800ADEF39 /* ReactionsUsersViewModel.swift */, 846D6563279FF0800094B36E /* ReactionUserView.swift */, ); path = Reactions; @@ -2717,6 +2720,7 @@ 842383E427678A4D00888CFC /* QuotedMessageView.swift in Sources */, 84289BE328071C7200282ABE /* ChatChannelInfoViewModel.swift in Sources */, 4F6D83512C1079A00098C298 /* AlertBannerViewModifier.swift in Sources */, + AD6B7E052D356E8800ADEF39 /* ReactionsUsersViewModel.swift in Sources */, 8465FD932746A95700AF091E /* PhotoAttachmentPickerView.swift in Sources */, 841B64C82774BA770016FF3B /* CommandsHandler.swift in Sources */, 8465FDC42746A95700AF091E /* ChatChannelListScreen.swift in Sources */, diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift index f02eb8e2..d48ce0af 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ReactionsUsersView_Tests.swift @@ -23,16 +23,13 @@ class ReactionsUsersView_Tests: StreamChatTestCase { author: author, extraData: [:] ) - let message = ChatMessage.mock( - id: .unique, - cid: .unique, - text: "test", - author: .mock(id: .unique), - latestReactions: [reaction] + let mockViewModel = MockReactionUsersViewModel( + reactions: [reaction], + totalReactionsCount: 1 ) // When - let view = ReactionsUsersView(message: message, maxHeight: 140) + let view = ReactionsUsersView(viewModel: mockViewModel, maxHeight: 140) .frame(width: 250) // Then @@ -56,19 +53,39 @@ class ReactionsUsersView_Tests: StreamChatTestCase { reactions.insert(reaction) } - let message = ChatMessage.mock( - id: .unique, - cid: .unique, - text: "test", - author: .mock(id: .unique), - latestReactions: reactions + let mockViewModel = MockReactionUsersViewModel( + reactions: Array(reactions), + totalReactionsCount: 8 ) // When - let view = ReactionsUsersView(message: message, maxHeight: 280) + let view = ReactionsUsersView(viewModel: mockViewModel, maxHeight: 280) .frame(width: defaultScreenSize.width, height: 320) // Then assertSnapshot(matching: view, as: .image(perceptualPrecision: precision)) } } + +class MockReactionUsersViewModel: ReactionsUsersViewModel { + init( + reactions: [ChatMessageReaction] = [], + totalReactionsCount: Int = 0, + isRightAligned: Bool = false + ) { + super.init(message: .mock()) + self.reactions = reactions + mockedIsRightAligned = isRightAligned + mockedTotalReactionsCount = totalReactionsCount + } + + var mockedTotalReactionsCount: Int = 0 + override var totalReactionsCount: Int { + mockedTotalReactionsCount + } + + var mockedIsRightAligned: Bool = false + override var isRightAligned: Bool { + mockedIsRightAligned + } +} From d2eb3cebf60ae88f24ebc5f643a85f6ae954dd7e Mon Sep 17 00:00:00 2001 From: Toomas Vahter Date: Tue, 14 Jan 2025 12:40:46 +0200 Subject: [PATCH 11/15] Adjust layout and colors of the voice recording view (#704) --- CHANGELOG.md | 7 ++ .../AddedVoiceRecordingsView.swift | 1 + .../AudioVisualizationView.swift | 2 +- .../VoiceRecordingContainerView.swift | 55 ++++++---- .../MessageList/ImageAttachmentView.swift | 7 +- .../MessageList/MessageListHelperViews.swift | 5 + Sources/StreamChatSwiftUI/ColorPalette.swift | 1 + Sources/StreamChatSwiftUI/Images.swift | 1 + .../StreamChatSwiftUI/Utils/Modifiers.swift | 3 +- .../ChatChannel/ChatChannelTestHelpers.swift | 39 ++++--- .../Tests/ChatChannel/MessageView_Tests.swift | 101 +++++++++++++++++- ...sageComposerView_addedVoiceRecording.1.png | Bin 61845 -> 61493 bytes ...ngFromMeTheming_snapshot.default-light.png | Bin 0 -> 25164 bytes ...eRecordingFromMe_snapshot.default-dark.png | Bin 11394 -> 0 bytes ...RecordingFromMe_snapshot.default-light.png | Bin 11038 -> 11322 bytes ...Me_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 12162 bytes ...mMe_snapshot.rightToLeftLayout-default.png | Bin 0 -> 11237 bytes ...iceRecordingFromMe_snapshot.small-dark.png | Bin 0 -> 11353 bytes ...gFromParticipant_snapshot.default-dark.png | Bin 10900 -> 0 bytes ...FromParticipant_snapshot.default-light.png | Bin 10624 -> 11417 bytes ...nt_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 12313 bytes ...ant_snapshot.rightToLeftLayout-default.png | Bin 0 -> 11371 bytes ...ingFromParticipant_snapshot.small-dark.png | Bin 0 -> 11379 bytes ...tFromMeMultiple_snapshot.default-light.png | Bin 0 -> 22388 bytes ...le_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 24768 bytes ...ple_snapshot.rightToLeftLayout-default.png | Bin 0 -> 22121 bytes ...TextFromMeMultiple_snapshot.small-dark.png | Bin 0 -> 21937 bytes ...ngWithTextFromMe_snapshot.default-dark.png | Bin 12180 -> 0 bytes ...gWithTextFromMe_snapshot.default-light.png | Bin 11974 -> 12522 bytes ...Me_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 13623 bytes ...mMe_snapshot.rightToLeftLayout-default.png | Bin 0 -> 12446 bytes ...dingWithTextFromMe_snapshot.small-dark.png | Bin 0 -> 12297 bytes ...icipantMultiple_snapshot.default-light.png | Bin 0 -> 22615 bytes ...le_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 25047 bytes ...ple_snapshot.rightToLeftLayout-default.png | Bin 0 -> 22309 bytes ...articipantMultiple_snapshot.small-dark.png | Bin 0 -> 21935 bytes ...tFromParticipant_snapshot.default-dark.png | Bin 11737 -> 0 bytes ...FromParticipant_snapshot.default-light.png | Bin 11391 -> 12526 bytes ...nt_snapshot.extraExtraExtraLarge-light.png | Bin 0 -> 13657 bytes ...ant_snapshot.rightToLeftLayout-default.png | Bin 0 -> 12446 bytes ...extFromParticipant_snapshot.small-dark.png | Bin 0 -> 12308 bytes .../Tests/StreamChatTestCase.swift | 7 ++ 42 files changed, 185 insertions(+), 44 deletions(-) create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMeTheming_snapshot.default-light.png delete mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.small-dark.png delete mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.small-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.default-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.small-dark.png delete mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.default-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.small-dark.png delete mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.default-dark.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.rightToLeftLayout-default.png create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.small-dark.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 48fa1823..8e14a6e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming ### ✅ Added +- Colors and images for voice recording view [#704](https://github.com/GetStream/stream-chat-swiftui/pull/704) + - `ColorPalette.voiceMessageControlBackground` + - `Images.pauseFilled` - Exposes all the default message actions [#711](https://github.com/GetStream/stream-chat-swiftui/pull/711) ### 🐞 Fixed - Use bright color for typing indicator animation in dark mode [#702](https://github.com/GetStream/stream-chat-swiftui/pull/702) @@ -11,6 +14,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix composer command view not Themable [#710](https://github.com/GetStream/stream-chat-swiftui/pull/710) - Fix reactions users view not paginating results [#712](https://github.com/GetStream/stream-chat-swiftui/pull/712) +### 🔄 Changed +- Support theming and update layout of `VoiceRecordingContainerView` [#704](https://github.com/GetStream/stream-chat-swiftui/pull/704) +- Use `ColorPalette.highlightedAccentBackground` for `AudioVisualizationView.highlightedBarColor` [#704](https://github.com/GetStream/stream-chat-swiftui/pull/704) + # [4.69.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.69.0) _December 18, 2024_ diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift index 185d5543..e38726c5 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/VoiceRecording/AddedVoiceRecordingsView.swift @@ -29,6 +29,7 @@ struct AddedVoiceRecordingsView: View { let recording = addedVoiceRecordings[i] VoiceRecordingView( handler: voiceRecordingHandler, + textColor: textColor(currentUser: true), addedVoiceRecording: recording, index: i ) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift index d618fb8f..9c7f5627 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioVisualizationView.swift @@ -44,7 +44,7 @@ open class AudioVisualizationView: UIView { open var barColor: UIColor { colors.textLowEmphasis } /// The colour of the waveform bar that is part of the "played" duration. - open var highlightedBarColor: UIColor { .blue } + open var highlightedBarColor: UIColor { colors.highlightedAccentBackground } /// The colour of the waveform bar's background. open var barBackgroundColor: UIColor { colors.background } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift index 8dc2b2f6..8e44411c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift @@ -39,7 +39,7 @@ public struct VoiceRecordingContainerView: View { } public var body: some View { - VStack { + VStack(spacing: 0) { VStack { if let quotedMessage = utils.messageCachingUtils.quotedMessage(for: message) { factory.makeQuotedMessageView( @@ -49,22 +49,24 @@ public struct VoiceRecordingContainerView: View { scrolledId: $scrolledId ) } - - ForEach(message.voiceRecordingAttachments, id: \.self) { attachment in - VoiceRecordingView( - handler: handler, - addedVoiceRecording: AddedVoiceRecording( - url: attachment.payload.voiceRecordingURL, - duration: attachment.payload.duration ?? 0, - waveform: attachment.payload.waveformData ?? [] - ), - index: index(for: attachment) - ) + VStack(spacing: 2) { + ForEach(message.voiceRecordingAttachments, id: \.self) { attachment in + VoiceRecordingView( + handler: handler, + textColor: textColor(for: message), + addedVoiceRecording: AddedVoiceRecording( + url: attachment.payload.voiceRecordingURL, + duration: attachment.payload.duration ?? 0, + waveform: attachment.payload.waveformData ?? [] + ), + index: index(for: attachment) + ) + .padding(.all, 8) + .background(Color(colors.background8)) + .roundWithBorder(cornerRadius: 14) + } } } - .padding(.all, 8) - .background(Color(colors.background8)) - .cornerRadius(16) if !message.text.isEmpty { AttachmentTextView(message: message) .frame(maxWidth: .infinity) @@ -94,7 +96,11 @@ public struct VoiceRecordingContainerView: View { } .modifier( factory.makeMessageViewModifier( - for: MessageModifierInfo(message: message, isFirst: isFirst) + for: MessageModifierInfo( + message: message, + isFirst: isFirst, + cornerRadius: 16 + ) ) ) } @@ -114,6 +120,7 @@ struct VoiceRecordingView: View { @State var rate: AudioPlaybackRate = .normal @ObservedObject var handler: VoiceRecordingHandler + let textColor: Color let addedVoiceRecording: AddedVoiceRecording let index: Int @@ -135,10 +142,17 @@ struct VoiceRecordingView: View { Button(action: { handlePlayTap() }, label: { - Image(systemName: isPlaying ? "pause.fill" : "play.fill") - .padding(.all, 8) + Image(uiImage: isPlaying ? images.pauseFilled : images.playFilled) + .frame(width: 36, height: 36) .foregroundColor(.primary) - .modifier(ShadowViewModifier(firstRadius: 2, firstY: 4)) + .modifier( + ShadowViewModifier( + backgroundColor: colors.voiceMessageControlBackground, + cornerRadius: 18, + firstRadius: 2, + firstY: 4 + ) + ) }) .opacity(loading ? 0 : 1) .overlay(loading ? ProgressView() : nil) @@ -152,6 +166,7 @@ struct VoiceRecordingView: View { ) .bold() .lineLimit(1) + .foregroundColor(textColor) HStack { RecordingDurationView( @@ -199,7 +214,7 @@ struct VoiceRecordingView: View { Image(uiImage: images.fileAac) .resizable() .aspectRatio(contentMode: .fit) - .frame(height: 36) + .frame(height: 40) } } .onReceive(handler.$context, perform: { value in diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift index 553fe025..b7600ac8 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift @@ -110,9 +110,11 @@ public struct AttachmentTextView: View { @Injected(\.fonts) private var fonts var message: ChatMessage + let injectedBackgroundColor: UIColor? - public init(message: ChatMessage) { + public init(message: ChatMessage, injectedBackgroundColor: UIColor? = nil) { self.message = message + self.injectedBackgroundColor = injectedBackgroundColor } public var body: some View { @@ -127,6 +129,9 @@ public struct AttachmentTextView: View { } private var backgroundColor: UIColor { + if let injectedBackgroundColor { + return injectedBackgroundColor + } var colors = colors if message.isSentByCurrentUser { if message.type == .ephemeral { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift index e2471b7d..f02274e5 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift @@ -202,4 +202,9 @@ extension View { return Color(colors.messageOtherUserTextColor) } } + + func textColor(currentUser: Bool) -> Color { + @Injected(\.colors) var colors + return currentUser ? Color(colors.messageCurrentUserTextColor) : Color(colors.messageOtherUserTextColor) + } } diff --git a/Sources/StreamChatSwiftUI/ColorPalette.swift b/Sources/StreamChatSwiftUI/ColorPalette.swift index cd540a36..81600842 100644 --- a/Sources/StreamChatSwiftUI/ColorPalette.swift +++ b/Sources/StreamChatSwiftUI/ColorPalette.swift @@ -79,6 +79,7 @@ public struct ColorPalette { public lazy var reactionCurrentUserColor: UIColor? = UIColor(tintColor) public lazy var reactionOtherUserColor: UIColor? = textLowEmphasis public lazy var selectedReactionBackgroundColor: UIColor? = nil + public var voiceMessageControlBackground: UIColor = .streamWhiteStatic // MARK: - Composer diff --git a/Sources/StreamChatSwiftUI/Images.swift b/Sources/StreamChatSwiftUI/Images.swift index eb236ed8..e34bc504 100644 --- a/Sources/StreamChatSwiftUI/Images.swift +++ b/Sources/StreamChatSwiftUI/Images.swift @@ -237,6 +237,7 @@ public class Images { public var play: UIImage = loadImageSafely(with: "play") public var playFilled: UIImage = UIImage(systemName: "play.fill")! public var pause: UIImage = loadImageSafely(with: "pause") + public var pauseFilled: UIImage = loadImageSafely(with: "pause.fill") public var checkmarkFilled: UIImage = UIImage(systemName: "checkmark.circle.fill")! diff --git a/Sources/StreamChatSwiftUI/Utils/Modifiers.swift b/Sources/StreamChatSwiftUI/Utils/Modifiers.swift index 49172578..9796bfe9 100644 --- a/Sources/StreamChatSwiftUI/Utils/Modifiers.swift +++ b/Sources/StreamChatSwiftUI/Utils/Modifiers.swift @@ -8,12 +8,13 @@ import SwiftUI struct ShadowViewModifier: ViewModifier { @Injected(\.colors) private var colors + var backgroundColor: UIColor = .systemBackground var cornerRadius: CGFloat = 16 var firstRadius: CGFloat = 10 var firstY: CGFloat = 12 func body(content: Content) -> some View { - content.background(Color(UIColor.systemBackground)) + content.background(Color(backgroundColor)) .cornerRadius(cornerRadius) .modifier(ShadowModifier(firstRadius: firstRadius, firstY: firstY)) .overlay( diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift index 8e6eeec9..c2bb39f0 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelTestHelpers.swift @@ -200,23 +200,28 @@ class ChatChannelTestHelpers { return fileAttachments } + static func voiceRecordingAttachments(count: Int) -> [AnyChatMessageAttachment] { + (0..LGx2{=cCLx#tPLxf!dyx`zT;gJ70hl6_qPxjAq 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 XY_6!s^gVYv7=Xaj)z4*}Q$iB}ZS5Ko literal 61845 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�f&P66gE4w8ShwTbWpk#LqV_76rg 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 JtaD0e0s!c#E(-tv diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMeTheming_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMeTheming_snapshot.default-light.png new file mode 100644 index 0000000000000000000000000000000000000000..b83829b0476937fe16fdb14528cf30976f58c3d1 GIT binary patch literal 25164 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.default-dark.png deleted file mode 100644 index 981bb08e7dbdd8331262e1f5f8c4af34516db6e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11394 zcmeHt^;cX^llK4v48aCSa2Xte1a})CNN@@6PVhi*9Xz;ekRZV|xJz&g?k>Rz8hj_; zeRkio&;9}LFMIFlTYYa;cU4Pu_o@2{S5}n9d_nvI003ah%1EjL00?35{8tbP{Hcqi z(+wvG&Z^SlfQm8FefUd|xt6Sjf&$<*JP!gOBj5s%{))hF00J=p`JX%h@D73Gzw@dH z4F8fr1OP&<0l2uJ#8 z?l0fsYlwWBGu0GB45Hb_3UUmRQ+(S5Wrecx1G!!g<%ZovG1QRz7qwJW^uJ!!+hie! zkb@B!23|LOMnpuwK?^;vf8w2H{5f4n+qE8*V=!czpF z*dm$u6GBkJ5JU-$^8Q%AjHeUC>IJZiVJP#(L&6dMVUn_ShB#RfUX#xU(x8L|SoH(Y zU_dAa7zr-8PJrZ#l=p>O+wYq6KgDhSuiXFj%m17&oxf?r@RWp96h$8$aMidKH*E@K z#8uO2Xy@Yd)yLcFX}+Zkvt0c8nMIu`xb$~AQoTZoHJ9Gj9*Q%KFOJYfDJ0akGNUr1 zHls14HKQ}LWOT8J!G>mfSeO@EzsA_eO3kE13un~v-~zbSBfuvw80m=}ppBM>wtzw`{jGfp`-FoWw%Jlf?_0rA$A;xb-0xu0Y-!sA9z5gmD zRvz}(1p{K?Hor(am}F3;r4?3#ILn36bjyM1v%NnvI+BIU$!HXo+N#rDQ+3Zp80prq zz}*c%=x-a$gP@%eANO9B21f+uUt&5)$s-b854=vE=l@$NZZE)=Ahr&IMp!Lp)X3-! zM94r2N$UK-#Z{Zqlf??}tVAIch>gB$xO&}vh({5l5D+0kAd-%dV5>@XFc3yTzLW~L zju{2wT)rVNvZ}B_32M~O^=HeP7r&4J;Qd_$9KG3$Fy~@_7*A7)(}U!f{T(W>Sd!M= zNdjEG{rg-k1o4pKLJ{0~p(qmgp-vq7zkmS?KCH)-S&K+$@&7bkwOedv-aY9@?4a=^ zl{hu13>)#VX_0(H66;!ss&cQ(t`W6mE~ArX`blo>raZ-b=3 z>=tccX1d@jajK@Dx|z;d%y&o5w+|6-%m?H321oT@8?qWuIj^SDZ&h@tY(}Cx(9Afj zW;meN+w?`vee4i%PBx$xia+S8Q7ytn>M{n@5ONTeb|woz#lCb!zb&A;ee2qu6Z%5= z;o)*>{JaNSbZE9*cf}Z8RG)@hjf1K%x^{PDrY445P;uDXb=cW#avK#WNjP{KZjP;} zRn_*jvJDbZuE+WbR%MfHy3-|tV%pET@;=A+xd%I5gGtV0bVL#?9)tcSo<+CbY8jJv z<=}n)fdvY6h+_>2Z$hg0ve%T&Tv8#6j+{oIl);TxJpor@pJl^zYsu^xo$epLJZ7{$ zL4=$2usw|kIhVbZL=8D&E&<))D6V#(N`Yr9#E=vx#?<6Ph%RUMqe4alhuSsgiic-1 zws}#;iq;2nZpVJF)zh@(y`S`nf5wK#1Vfoopkh2J0?_ps7G*+aC6Yl%HL!aB{uCLu zR?8amc!5S6rfHb5k451;`ssYd&1QRC^f^%?6l?JOmEqtIiIAo(C%-Rum^%e2hDi?( z`kv3H9nY*6qIX(j!X0gbWI@*}c&7T5vt7r-*YW4uJr<7N?e}eTg08&{N zEi-<%9)U30BYt@j#KPxn>}Y`!SekC2%aeRi>^l$vdb||qcXCUhJ}+{ye4*1{J!kN3 z4qSq*koG!8=&teMddcDAdMC8$?CVoHO54M7fk(Ri!ucx>^8@Ph*`?E8+#ywEJON(S zl$HI@R}NjZkYCjS7!!pP%GalBZy+&-evj`pDs*U1{n!jcBkY@wu@vt6Df|WmPustx zBXN;~JZ+O9%8IsAg`$NX*GDUwm6T_54)c&Vt$*Uh=9kLXI=fCRmvZYX+YK140$a_8 zKY_5UaV+ZMWqhBRyu zGyT0vY1Uh_GkoP0D9>;beaa>(YPjh7>*xtT;$9IF@jehV9(gd)ntFsw@`t{0Q=>>H z^EQ;98niVc?$_RbK!>$ajdqs!ZrVNn_i9^c&}TI)Ffb(I!LG&axui#Iph3T%HGMnf zc**=BiuVv}!+S0$yaal*oK_j+pT)xiav47tOEt-);E9%dLs4vP1h|n$^6II#TLS7J zL=F>{EH*e~A1&7D#!uO_OqmqD*ak#(B?QG1guT#(!2VcVeW={XKXhn*d+K$YGqU8n4Gt+5iJW&bIKTMkeb9cTX=rkf_QeNaj&>Me&TqN{E{@tMi`d4(^V#gAG^m z)h5|)HlEf=ev%|YKpYs^~B|rP(Y{c z&M!VrTghT9y?nncqqyT-+gQl!gv4McG-ENH+vdvGinH#}f(g3rk(H&c-*Pj_AUYE zop!!YjmIV^3N%f8rX=5wCBF&o2^_*=??O@84-+m>Si<^%-RX$AsbYbFY#gZE=a{fU zIjw>Pl3RYx{+2!Cf-NF6BUdHvT(nkI{Nhe7#IVr1{m;j0O=2rT2sz=`jRiAq5Ev*F zYP)0{hOUGCoyeVX!I3nMzFrK7;04?BNxcXd#qGV|G?=!r@vF8z{lcZ)Qw&X{2(VmZ ziFxbwEfzgD7Pi-x44JLaFQo}+(kfs2es#wa=GH(5Gy&;{=fB?ZFe+ync+pgYE=dvl5 zvJlMY`V+t5xfT*dG9&zQpUo9}6tOKDCq4^`-2wb4$T!JdqJPWn?hzxw{LY1d@S)X0-{+7*s-BB$6N5(Y}6++<)w+B~gGdPjzuqY-{T2 zf`Ak}7#WFRCZ zoe}izMb^zdZV+vFfm{lH1kF$+ii!{{EGgZhJhtQEYTA)4Q!qwNNl@Yf`4)H|S8qS1 zsL!+JbNXny3pL_HKFQ=X@LUjHjV2fU{-W`lIK;2{7bg*iZP1*vF`v}<(-OR8K(7aR_7-DH?%5~m&e(>`^75!u23h+kJ zcb$^uA}6<^iHI#f4~uuzJ7X6eiKL>u&}a#LJJiwr%>o-KRFz@xOzw^5Xg^jRG!WDe z&fcqaCnrPXnOv*==8t`~Oab+$;Yp)BE%5M|EVPrZJY`p2VuVWOqZk9JJnz7}&?5e~ zis+Ln3RFQGbl>{=ZB1;ltE?yT8aOlUQcrPuB#VhYwQ}LDaW#gJQ7Rieok*lUr%MANY~ldbvlS?=$8d7-V{Or~hAXI> zP+U3nD?VvG%n_4`9|z+cJJeE5|C+akQ z<4(2C&@EDl1(K-IkE7|_zOslHEJAy7{7L8=IQ+f&1|oeqM>O+2L|8rCp(5QEPJuL8 z?&pkkPDZJ=GrVg9Q{zJY!OtV1TJzFFjpr*Oxv}EVu69$QoSe7tV1!l*!(yX-_2p57+aZAma%YXrtp4?eCD)3mT;J;t28NBl-Qqe2AJchC(p&J$lrXiIoX_+(PbQ~ zd~IGgSgAb92JTrAkmw3e;v!=ridzcSHOjS(-<@JrK&M~e;FVrQ@WH~A-pvi#1q2D`(I4~pJ$Vlf4ZY@3fuEbRA_@c$xf!+?)x!`> zAcPn%=>{nOU{kC*(AAvGQ4bjZ{F!xW;P@t zD9Xf<27@O9EMx+Oym|jTD`oH~yw)fq%G0HGjhXx)=Tu}U=^ zQi|0yhkCFpxz240B1sywRMjlyR419O7cW_gb#E|fL10uF8eX@ENTQ1ZEa6u#fppI|wP*V^u^+#ugS0U`{2c+_1co$$S{ZooH9 z=$0uw+~Yk5$F5Adj&r{2aTAC8nYeb9Q7x{t=bi0V@%J9)?@dc135&)WVXL%JBpr;k zmX(?$!K1_bghgd>Z^0I?X0>XIvR*9)ld(|pkzI`B$7z)7ykdMKggPE|`8C~Id#oE9>Adh4P)ea9RUcw9UI^SN&~RmJc^pge4Y{Zvjo(`xG2EgZqlf0xt^9Ozk8hr*Mmt zmz#^OM|5AB^^5knN8CO)rVm!UrC)M8pd@R)p5&Xy!AUWSZmg6@G1wK=)r+t+d5hBf zgSP1?^2?jXiILI$!hPJ)XG#d`^}x+qfi4ASOipQEu6JN)8Xt8=tmPcJPaQemn*;JN z$iZ}4={BH}*2b{Yaq@DX6{gkU`)zy2E)E5Aw-|-pY4alypJRY_X*nc^j7ph^`dwhr z2MvL8y#gIAG{m5Qw9tixh2Y(Yy-h!wztb_|$+)U~$Wk`|P=?MKt&ovjDtEBuBQbGv zaHvCq(R~%7ODEGq$8y!uY}KjUbU9S*nWa-&(Pz$UpF8)+N=`@pQR>h`%EAZFEoRzb zTE6lgo0zhP)%mf`zP!vfsx)IoeG3I^G>(#5>cGRIO^P^WCMVngo7}YtgLqem0MmE? z&suqmvPb&G$q$dV5X+24w0M^`#o=7G!nXMgkMTV}vsNSX z0ssWje*=8S`qqx``;+SR>n-C)s${Iz+ybchR7f=qJ=Cm{^~MhtG9`V{!dXt{q(Z;lF~TLhcfEZKMYFQ* z+wOt!pR!kPO6=R(S9~09j-O6$$N1Zpy-u3;$eS|q^1W-e36h6`WEa?Dj$pWhQ`B)E z%|IO)ybeRlP0m}Z1UtL75==AtKnhS*~r)>7p zE);ZKhogl<ox071dO^9zRje6PbYF7xlJY$t}*ZT#gigE z2^X?zvGc^Nc1e*SC&(#l;P>x-iikt- zZJzhBO{JXcwWy5Rlu~}d4y|_GL43H^-k0Y%2j2_B{MLuehwBE4fs64DTCeNY4<}O# zx11j5gN8$fPv_EmKGehKr4(i#!>^60IOgcbW$+}Ex3^Pdd{wl?lN1su#&T2hdD3x)i)j(n!0YRj`|ETfwUcCU$!#n`8eZL1(wpXV350xE2&KRBFCHqG_fm zk(V-C{q~yth;w5JxDkhnX2Pc8eLkq*v6JLxesiK}-XEPkT%j+TlEh@l5u~E&))i#) z;Yr2!@$hD+FDhpAcOOYdLa|zQil*VC((OgILm@8IOwPhSZhQL`COTBF#Z`gC-CXCzF0`)3Qt8yO3z*(uBvy&HPgjQx{M{tN6KwH)FO=)u4 zJn@^xIpe2sX06ucZT-4>39PFx9DD%iWwx)7JlO6yV_WPLfMx>Jm)8iBep+kw=xK~z z^}cA%6uM0xN&mDOi#ULA8|!;Gt6-`iX+XeqbhAoB27Q^LG5mOQkA7429UWQZ@lwrW zH_eiUiOEK$7XTCUU~n73k@QS%e^@xrtKAck0EbB|0!NX++BIiLFQ-h=58`Yyjvh9v zcCm4--ftL?oqscx&yjw7+ShK1&znVjc#4wCQ0SZT1#-B-}=kL%&z- zD>E7U1KHo1f~$iBHlZLs->cHKK~xIwL^evvwJGcbSxK-X`>S`Z2G!mh5q?`t+tg^A zLrF{@;%9CROv{6R`6Z?#>5@`~{lo$IlJO_HFdg*=Le&5C(|{B>J@{nog7%dc-5bxv zYa4EcW@T|-c{F6`QG{-i(HtIkhfDy|2eJSyt;2=argb<&cJWZK2HFY zRP;8LS*NBuzwUcEuLj~kAdp=kaN703sOY&0f8DkFS-GS2cH-Q9q5V(3R2yE&t=vQ8Vl*}=AT99 zBK>`P&^`!?a!AscB_tT{jntD>lgrVyoSa8k{V}YwJy6YQajl#j{ew)?j$#W~B%wB} z!|%C?lYml2PU5ak%q=>(t}0MA*Hr_73QpAG&ugaP0joa91Dc7dYd~7_T$NRtQ7mgS9t601_`NgDnRxmp<0kF$*Mr*h zd$x{hMj_|`E0vr;xCJudh81~zH#`#lUKtqF=7_b^HcpJ&Mo#RMY~^b z*SicJn=GRt`Y{`ek>u-W7OAEFPPRfH)>$HPnLt_quTt_DIifWw$)6f#!=}D`V*nA1 zBAIJ7xcx~Q`Gi_8R7g5nR30YNZCw!+C7S$G!2gT8v?>npyFRFlYsQz}++r>1eJq1) z4r!ug-LZRAI2XunB=#3VFxm;fJ0^?8OPWt;WbeD|@2_%q zSSG(cMzJGQ7*;VK$x6wfhV`V6F`qGTryhoLFu%!tibh zhZb#_0v~SB!PDH%{BPu{t9p?fVo#u48`UH`dU$>VK62%-*SlWmEOX^`E6;(Q+HS_5T($`FOkz=xVD?i;BlRIwfZL3#l@pk zCT^~xo4K@v-5vsR7n}&YEEn|ZX5!h1_m4neWyps*2TcTcq3<~gu6y6UQ_9mTMvBb% z^p;*DhKJSqDH8p~Tq73KSzCRiFiL<83v}K_??x_}ujQQJ>c{7W_*lV;R?qaZ!+BhL z%d*6}MG+YyHBsnGD<=Q|xu2QF)L0$!pTdZ=S==GuK+ z5nE-Mw_kFS}FWvn#RzOvG8BkixZZyE7x9YTlCZR8_`jgYMmiIrp^ejZoqwec@2LKm(g zraK-|SC=vpqA#zb%WEv3Rj7@=o^}-a)E)`C2xW$((eWAP)oRAN!8hVhP@&fu&2Ib2 z2*RGH{g_>nYxH-dFs%MRvL3su)y!ev<;UwnTH{P<@n&?wGxhP(LjFLlON5usL*p$_ z?VMP`etx)|*seyLOAe^|vXxzMl1b!z5Y-obi2tiGYNf>Z^WEbOxe%Sl5A#A1E9ntL zaS<)VZygVbFGKnwCPM3@4hfjqX^hY|*EbNl?f`nB$Fyt){w#FL6u3c_`yX?cC+Zhv zBx5Ch@p82?i2mu)J&!PaXb`%dKRlmSa~Qb2c+Ry+UX8<}f6`{vzkAcZHwW_J_>c{o=8wsMBb);6kLTK$5jE{#L8FA~0PMr7ei*k*~Hdh@gTJmlP=*8Tx`}TQO zRTKcrP?rYcNJ1&GSU>yD9OVWqVh&Vw5lljgZi+Qp6j=~53HD8dFnE@%qckK~rfuS) zy~IqvbPVVY088_kx1+`Hjy%wN7Fox($QT4wV1V2>h!6oD3&^1qvm&3oee@2O5)>(D zyZndK%+O%`DVoF0ls)jUly`TdQk); z&7U$0hdxv>Tx+8E!dhRpqR3C^gc4`EPEjt~625w&hfWmZ<=at$IhpP-9s#@EOcc)8 z$Y7Z>X9_-VRe?|Ph=@e2U+oTFESA=0u-W?~*jZJi7Jk0p{v}@IN*gga)#}WwC$Q|+ zXVvwp5X`s-%(@>(tfz-VbUy{iH!S7FFY==n%7eGuaS!u|B+fd~(ozF>DoE+yF(c1FVqyLA=* z0Re0H{RkvR|2`&lrs7XFE*17Nx}aT!%A9;9RVaxl>bjgG6GQFM6e&w)_Q4-dC0^s$=~|xN z#hzOtlFQm*<2t0Q86)Bkwjee&(=#J9H&qtoVAUWD?BvfaPOK106%kByc&}xADxBv< z24n^$1`7>1R5~Sz&TjIJCV8>@WUU1b4A?6pJll5D#DNfchmk(Q&#JtuE$G^$gfNC# z1o3egVRNBp28|egZklx8@k`=7A;u?zQEmxdg8M6$T|1HOpD+)J6=(Asu>W~ z&-UOSgTWsO1-D$+T-}xhZ;ilb$#ME`%y-t5<7GxxUd8}63pSn@PM zuiUfT^`4}kD1vP$FIjN<(sw_*R(UWN z=Zi04^mCdlGBqqJpDWL?ixR$!bn`803}ME~L=LcH3Auv=o=b!7Wx7s-Q4^qMo+V(U z#UUM_#-Aw|;R-=&##O;J!4Aq`rHV4XX%eql>%w?WB zc)E&^YN<~Lsa{wHoF@m4^T8vlM@PgNKW^{e3p{SiPJhNvI)0YqhztEEi* zp=^eF5(bcM1W|d$dY097X?cb4oJV2bkV*f>6W zjG4T6O->nsBmpKG(m;M&VDTufOk!I$eW(b6(ctLuPOq%vs&%rL6Wqv*56xkN%dz~L zUoJ(MZi(k_WK7SObF+{VT-j$XY}xOLYsR-3M3ev< zP723mxDlU102_LEU7$`_cs{)K9}Y?`$`opTWO9+sGfY zcNq5aetY^ozW>P6p>Xm}VQC~Jc_38bRrRBf-3p>JS$+J%RD$PPV3_?9By)*KK7bNr zTdPkVZ5dwzNrM zDAGHIz}J7Hcy^2#^xH!((qm+@t=F;LsTQ|4Km@O^FIlE`sV>m*%!zrsRNW10S^sZ5 z#Mw5s$=RV2%`}$SdINfJd~ddN5=e&`I4x7_#csFKWLST6#BLoXL42MQY1e}FF2x{% z&DHs>es@dL2kngJn^Z2_)^M&vlf|~vvz*he^*b}6s#@Rxr81D+*E_vA?KO>3LvN>> zcS5ysLhe{HX)Djz4{t3j((cUVS_;h6+^hA2^1)F+H7oivraI7JB-=hpfk_J~%9VL?(Rhiit%?f%LVqKHnv(B)Ct%ZR@ zFaR`?MD!@)`glC4pMLDUI4;?o(=!JUnHgk&)SaD94|;SM{Km$n|m*^ zRMzd~gAj3udDRy<+y;`w?!Tf-tuGfq8+L!vGCpF}eM7PyLAr>)4)k~(m^rTafQKZ} z4=`gkE2j+}c<$5&vze27pFtT}vQ0$Jku>sJtbctOBM7#WfuHLSa1;}vKXVj$Y<)iXmO=~e{GBU7>}X{*QUzTuTJ&8% zT%G{ya@{;se?fT|Vy@yLeYM2#A&{d1ehXgX7tFJ=^FyYLeAnn*g{oSyfiqv+-B0r* z{>amH;b3BA;o{dDh{r=XE9xHGUP}Uf6Dj=_iM~j zM3M*E^VpFdSGXz!6Qf^*GOuA(k^yZQRb7Tsg$T6lAa@V{9R<;%MWYqTSWYhE~FtMT8t zlRs!8^FscCWQu)&hi;&w0e@jt2qvB32$nQ;LDQ4C^J_;Af6e%JZhnL;p)_XTKPar} zZaA_t9qAtcU9UeL(wNK#wBiEVs*Z)Vzh?X|EE!TxIpf|zkmMf{X2Bi uxT+#)!TtlQ5w17@ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.default-light.png index 3401481421cb3a33c3abb66c17afd56b3a1c1172..7b7b273fa26b08bd4bd3a6980465162f4efb86e2 100644 GIT binary patch literal 11322 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 literal 11038 zcmeHtWmp_R(;zGhEEX0EB-kPW0t8JUIE!nr0Kp{?LLfN7m*9)LYk&mz;0}uu2<|NI z?#^xA@4LHy_y3;fo0*=fo~i2Ys;R23?%iP3cd`Vy&vDVv&tX12pa8m~x~v3R=@8X6s^V|{LH?7nG8!ui2cco26Qg1LBSD>L=+DtG|AV8UDWFsS zA6y-s<-chFXlOx}Xu$ub(M7?3ha9S)xc?hsWTF4x7PA2Vn;IRSh4H^}wCsOuIG202 z|A3vGjw2cx9?8Fgj+T-}fqF<~DW&or1yLRT=TJl4Sy1I4L>1zVJP#lt3RcQXLEpQg z@1^5}k!n8gIc_<;6}2;v?z(M>%s&p333nNXk5Gi$IEmz7X%pcC(M<%jz%G2dKtK_DYgRArJacQ-v|ZaVbtU`M3liLh))k<{aPgOiJ~b)S5{sAbiaaPNmH>B zE%#r6EJyLpwx>hr)-U*C@c>d7dJWYIMRUL%Er)86w=SzY!BnH7 zq{Kj18S-F<9pd4CVs9KzMpiRK&3?}MUk3h%;rl)!&{VOaU|P%C+G=)OiwGVVNMJLV z)vKVWP?Fs=Pa7xfw~>zj<<&obFaehT1Yy>YQKqJ9Z;3>d*Qo9CaDeM%>fJD5VLu8h zM`11pF(IITBNG3FW2{$E5vI0Q%3h9T;lXRb!wRkwtY^c!f1=%(l-v}k^r*k1^3PKq z7{7;iP0|xfedVFH>CYDj6LzjcCm5f2KfqIn(TTu5ll0$9x;9KbD%z9TpOL`dSbbT@ z>SLuP*ZA-v z6l8$DdTm5-rN}Ic6|{+jE0>8wPsUy=jpQGdYI{TVZ*tPur zV$K$p*Bwb~%fINF6aI|%)7*^welV)lZXDy#ioRsmHX}2iC3(NKrIV&8YmU>6KUHjH zO`{yGcMgqLE1~<@p&XTpoXz704Z9q>bG2n9eU+tL9yhUa$;z zGL)kB6VYlYQp3JR=+ff>-D>Mz3%_Sg9YDR`Bw&#_-^z)sL2(X6yj_92E=*_}eVv$? z&~b!c&O1gTFQI-|*ItI@#y-vGlX`*RLX>dUt-$iG={2Q!5+WT4?m{!+9=;0A;Ks@Q zCDOys{qDF&uRsG?Z8hZ%z1m2%-RotDJR5L7-SSbhHd`8T`$uiRY3 zQx5&lY}%zt#Wt_QgDTDXh>_YniYp;-4Q1tUqafQFJ#B6B!<^9tmMYI{hgRf!COoMl zC%KlFo~t2P8AQ9By1#q-4LF=Xn9!b_oD}D84NresxiQ(ze+QH@-X&>+8OQQ+t5WMg zPVhcniU9*Hc2|1`pJMpDUG^v8YfN0d-psrN9JgT*BKZ02mc)h5$2Gq8P`mt2cUhbn z61mi;eDmeKrvS$2^Bgu5Ta_n(WM+ZR-Nd@=_2j z?C3{r^X1~))x7uPJ)h0|+t!Ca{K)w)gt(y?fBjK*G>iI1ASouSLIymbt)!`iYoHrn zqBw+WyifZmQtY9QzeYv)*k25Rj)8UM7PeDV*7Ak3>Bx7#YFM;px3qCKS3cI0vh)P? zOagh(bUIX(Xat+FX}$j@rUGI+V)~F+{?tnZWg^`*Txa8SSfs*nC@n02BT<$;JS2Ro z)VTdC)w3>NHj<`g|DDjjS?!{G(IwT9E7#c>5eRtOcNfapvUQurV;+*(vy|yHDu02p z!{^-@e4gDA)Rf3?;4ebAdsPHjo0;A%gzX~{4c4u1kFX2H=*!c=ZBIYOy73x}6YD@+ zm05&3QNBTl&% zrS;v~1kZR7WsXAvn{}yLTG)T~w(~MCXfU;};RqU!z2z?R$zq*jK0kvCqPb2-RCjkK^U6Hl)&F<*&WafqS!y|dWks3Pa}H&dE;!1yYn_h*yCW*&zON$O zz+GyMmA!xphgfW)^(Q+M2LkVe#d5PN8%A8*q~m!@t6N$s3%gauIIcTy)bIe%I#5pH z-3-bKyeQyb2a~uvImOQYN|vZ(iaz++!w#D-o3QQwLb2VTOA4tluC3s%MsJRx;l3l3 zyf=LK-$nZF@#HO;PGG#QtY?y5rpdx?m1T+IjOrs!dh~5|R9NYFzY^dQD}rGb4#$0u z?(d`9p7sDuQ;#5~biY`bWguXXgr;-2W4M-%z5HG>z4>~)))vpt69eiow*vtN_OepL zuko7P(7rfvR1obzEHygseoEAL2rEX9@e-_(P^>l{wlt2IzKha$C(u3+Q&Z3 zQ3?=>DLMB0oAXmIEP(xf_0)}AfK><9YpBg>q#?eW=^?I|ulsd$Eex+0-a82&f}Yai7KI8rt6UaI@?6$j*=hT2*FJQGLp3xQCtW z7d6@&&2aC&KUaGx_IAH+wynyz{2CQMct?$%Iek)15lZ)y=q8#oyYqDhlS(M{0oq%D z8QrP2EziVY659TG*{B{=NhRc6we}c#WG+Z~Alf*r z@+bYW2*@HeCt(XvVTqqzFXU^&ocsIRe!~@+hvO}1*0JjyYRKx*ZAT_YAd(ljz)P&C z?M|LBLG!DlWkU#v*S;0qwjwavdcQv1!Z}wEQS1QuJis4|WWqXoZj^2=bJ&lr^1%WHMWY z5Qou4si%JMEhm?FO6u=(|3ggF>`k<8s2vM}RCN@k|0wIVoIz$hsrS*nJ75x-H2Z)C zeE&dVmHujuJ*if>isQh1y`xwE#;e--${8=PzlPkV=UTMv%JH|-t7BFp^Mod! zDFQB&YQB`jcKd`{@M`b{PlTZJ4(TP!=de2aVGKGtVPF{N?a_WMvip{mh2?0K4qup= zP-bjvHB#*2Wi^~~m8tl)o6`2mYpAd9_?|0jh}-k19UBJQ7)*wV9+7(fy!E>piP-yz z@Rh5`L``k=m!7_=lr&O`(gGFU%Aw*lL~wdg-)TF}V(iIhG;TNFfeJ^z2#( zyJ-a`^$OF!d2`L`sfaxrV}3ULZ8}522>?g%4hygLyaUBL?@fyX_D3-?NJ5ne(09M~qE1%uHir+j z9+)HaY5TzJ&F}>8X!0$AeaHEGc?N^Zo~Z+Q{EtoI5Gr_Y zu};^}(EXOAinDWpG(A~YF$sLWspEH;69m5xDeUf>+L98R?9WoZFj^V%yCxmCAtCf% z3N8-Oq40I9a^IajZ#`)FwR}*3m$O&qO}(Ds$~D`ZW1ga%uDcYl%IV!_pRBO1rLVtl zIIekc;GFNkpB_=2mSzqMqu(kjI5ehBxf#OsX%pwol9y3av$xdf8O;~fp@`XZy92t2 z#htdeWew+D@7f0B7ELW^B{fPgMouirF1>nrP3 zU>zK{8|OMhV0W_)J^l5%7@yO$oeF66=2BZ|F0KCb?yfZuzl!6qhi19MibLlDX#_hT zz`C=_civs>QQ2HyZ#1`^yE7ucxrSi`ez?r=x<5N1bA!!vNGslXW_rWSL~aoo3>R~w z>#&)X7mD|lhO|$98+u`1Z%cc@+_#h(^_Ss2tv62(Z+W>Owq?{bmv^AVR=`a$L|{I_&W!XTip(u>*X(Gb<7l1Mzn$vPQqso`T!*?i+- z(ZZ_zr$$P(yn3WDDqna+ZInGelD{62M?)i5{sJ2%zJY(=9y3Clyl%z=wR$0d@LXz1dA8Xhr&MzVT~mZi2|o!zs^F( z3BJy4Jst0tj9zTyF}@K=*EnBnKD=mN*nIFpUN;VJ9|$RAXne8S{aO9f{I7n7s26J_ zjYv%QoU%Id@9QlA48n-#Zxpg&{}NdN?}xiK_Ka)gdV+A}LhPGdKRen7!-M&HhOVxz z8xz`K6_uddY7bX?(2;kO_hZW^)GRA0;I>ozySjS!&@U*mf2W$#skNX$TJ&!Cb-mqj z<->z%=hI}qU5y3X&rPpZnU&(pI1NXT$wt;OGpFRcu&)MwzsQ~%j3L+f568?Kj0_BR zM|swEs&{WZ)^|A9$E4YuTC*#4yHy6GcKQ3yE-T}$%$G+s8@#KUB*qj5`p+*{%&pA& zPTn+l=ls?`WpC9iXeF<=(ki}@xKu1nEaX@VSDoCnn%sq{*$4m96i5d<4eBTUyj5#G zSZHMS^O8Ck2z#czCWM?}vTgN}gWb+`p4=igw<}UozUfq~q}(lGH|7==Dpyvqts6bE z{`Gvgnfl1{b@qkZ$=XBKb$4RClB_k4^Klc;jvKF>6j&ugI2xOfh6Oq<^`4JaAdHg# zUH`yGLZxhvEPW8J$X{k^M69HhRgr!x%m9KVy61?0yqVj1KP!Sy=z~3U^ic^cx70fl zJ33G0!Qnu-A+(xOVEL-VWer0XU@>eoj@+$kiFrA;x&5&J>yz7K&P#`fT?%LvpW}gq z@+r{%SpCNXpRa2I3ytVr{A$ncTIM5rRO{n??%gUa^E!X4K(Rmfr$Nz$$K%LLIZMmX zv$Odz6*aZkyEWz+byd~F=T*%NK@eB*)D)8{8Ly-muNMsPksMh?8ylNS>zlD%N}JtG z43W_QNFCupUT&_GyNAc^VZ2uaG%%7@j4x(Omg)Z67N(Pv(@waE=at+A?OS?+107ih zLYinyyhN*eWc?Tutx_5jX5O%+?qotbkHE*$gWBJ}`#mCnLm9V%2{mpW-kj|q2|D>J zGGsPw-QyB8^0|92zz;bx@+vub3e)%Mz@?V$8EQ|6_M-05DssMVgr1T=L0)^R%8ZxG z=uzm0DF^oz4e-?mq~CW4E2|a5v*I71m2m#WD7Vv%0uv>y2o+iE{-2&mKe_XSH#d?` z3=9k$&UZ9l0K8kH06hnb%|)BJH_bP<&kN=}L_{RmXnzd3SZs#41pg&TdShGh&@($H zM1^D4dmNj0K3_8TZGc(B!sX5VUbZ_@j8p7>+wcWuug|HR_g$T~2g&giL3J5f(h}QGQ1(pqd)A^aZ=OUg zWxTe8K$|XRtxkr74tw|KDkjw`cUQ-bYt=c{^GKk7-L0*xVzaZe9~nRq(cJ>uqaQ=c z#+>F3zje3Q-nkjJ&Q{3UTwIS4QuQZ>Jv*(A5E2xcu*mS<%athqIAwS}yq27T1#P-* zXB1GglNqbo@BP;7FCYUhW5ME%Q`>y&-<$?EY3Lr`g{&E`omdr$<`)N6Nq66QaDEo#Tk zaf5NFL=3Ymg zE1@u^*Nm7c_qj0mG$4Qi1+_AqCavrIe&6Uqo-dGhQj+_-0`$);_}suPAjW zVbN7Z2C6>!H>4cd%BSb|w}fjBCKYL-j!@7j0cn`H59QNda6QYV+CkuEI?G!&bADTq zShB#SjS^h1CATd_13`w8Z1^Em92^i3@F)wWVhHCbAd(`L$`rvKJi0Hc+q^`@;3vb= zTnCgt`OWXUOBB$?y}Ji79o`-$Whkhi@e@v6)GbnWiaR=K(f2;ldW(td=_x%5pWozka#l6jY0#*;j% z{@tyuzb7LMYV~&liKV@9ePbK_X_$%z178zJFT^5IvaEC`WM35cCEH(-)C5e6S}!O3yBF!@mJeoeU2N zWLXA9QjG})plxaXWt;YfsElpBqJYA4=Y&BUJWYj>q91Tt)B_=(qq}rv7k2o|^7BJT zL*?ua!#<8vB}n!$eZ1%ck!vqu^8{=A9LZjc zRSCS2$mb^XG>mp9@7WC{W^ywHJfNYb1BW4n)Be=@PaHQm)qH*4w*@(5!)xqrL8e^f zV{!*ju04{~$iG&(FdC7NH~5pV`g$?=K>547>-2P&YHX}y5-OPp8n(Y`Vpr$(WJDO# z^&XkOxHG@+9yAb{jX$%=X}*2(C4~slo65rPer6MV<0IE{*_`hFKY&(;`?TCm&mOQXfX!ji`#Z$3@%U367`nP-PF z*}0`9zf>G15ZDiN<~bwDhD1i@4JQ22bNTYTD(KlwA6WG$?X`2n-gJD9dg6J_)=QVYM1g#Ffo-R}xt4;V$T(Q%Ql*m?`miQUeKz6eAG+5FV6>C72i z*=v+#J;t}oU@709e5z?;%q3j&f7K0Dx^G=dAayjExM>h5!}mlUOh7ij)S2UkmK8uZE`wt&5S$aL?p5=D zmJAs8hcw|V5jLb?36&+u&HnoRje5xVkDjEr#DN(^)^P&nv%)4YGyoLLX&j8h07_-) z;XPK~fJ$+%QQRBd(QEVBmd0u1rL4!Ql=hx&OINzsmh8=HG90#eKu=Dduk}XDJmcpO zb5H@KlgKL&0lT{{>ESqkZ%Xp>!Mc9<`=>GtBLvI}tL`Ustsx-_e=;4i&uDtd7d}`7 z%1asAF*HApyeHr?YEdul4#aUWoNPF^*m8DV=<6KNp1a&KV+^DBrDIwwclH<*Co_5# zjmPn8x$Muk62r;ncIRj%uFtV~rA~+#fzMGlXWP6S36;7y00!Z?`pUaCRuI@h!UkzG z`C4}wBxt*1Wx{*wS(EB7eTeg8J=}x9#EX2?u85A3|LY<1q(bcmfsY=oorQ8*xL0?Y zu`tZdNdo?7saq0)o#1(7xmIy8pqzpwz)Lc{DKGN1H)NqxpjHaVc(5C=dnZBxofd{C zHb2!M^=+$u{cVqqU$H?#-sJv9uhJMAT&%0PF&S+Yot7qeec3v^jlXO3z{BsrDe*{! z)6zi)2XZi#i3R@sr#G(XqKb-yrvVb zD>hjVkRJZLudc=OV=o`rE>~=;07l4VBtqK8LG(3e0hk42oO09w5V+9Y^>B~AZL9Ld zeo<_3G49mI&vCExSQn_uo+fiG$E~^Z%s*FlV<^M+Y41e4H3X8>eZckYTHlf% zAAjo->&Ot-K<8iQ3<5Db;J8&T3lD7ymNL_xFc_WWrI}R(xqkHgxmEc5_#^W>OBJ)( z;$gG!P9rW0EM$4D0>ZZ9Q zzIY)?i1m)5jxTY={`I}VS=nqF?3Iv{L0m{PIZ70Q16 z@uLtC6jF~$p#XM2y0i+d%q!onZ;Bx~z3*1l_H~-hCvBWxHQ!$>_cmkqD>E&hL1GY) zyKqD-u#`6J?JKW9E3Nt@srpoM)k#@WbN=+(ZLRqCQ{(c^U;V}f60teLLlj&x@b+S0 zIlqoPohBRz8(5}Isa13Xw`)Z9x?I=Y})qj=3gT|_Q7{)rP3^deK#4$sZA z!S&}&*UX}mphvrF)#v9{D@&9Xy~US3w~knI?)b3;jsYwJ%%Y22A7BM`dj%h&QUW8C zF&?fq?ja7M1HH6 zX_G#i|ND=!{9^SS@2WekFfM&Ob>`Um41i4H>hBeSNHuBwpwM7XVSy;`Y(w~zMfq3T z!+ZaV?~OJyK;K!lwd0R~euH<3AJ|Qo-kkZu)A41wZh}F+GzhtL7XCDo(z-kAq@t3I zomEF9qg?ph=fR};UPht-G~#p&0acoHrdVT;@8zp3{BE&iy9j0+UFkX>I2l;=*ZDAr zIgHXCIM0asHD*V!!wV6Fq+(7#eVh4Dk4<`gv67_eG22wS4a^{SoPYqnSivv%2r)c9 zwIMA>FCtF-l^Hg6>sYb7rcQ1oZVsM7txq$5+G;xqLTj7u_VOo4@ zMkpkC5h$rHv=9=1281<x!&qu3$X7@`{KZa!VU_)>jc-lWl1UW4Xzl6+l2d3F&8q zLFHV}XaFI$$UCx22tmU*7UvpW%}2$rq^xxe=K;`8kII(js!TyjB7Erh`8gy5e~iKe zam_nA8_A3tMq5fBCMJR*8s&rBe7l`Su7bZN30q4YTJZo!{W^yjepQ|`^+F}p7dTW+ zPS*BZK(*aZggN+F?sY4AHxwc&qzJ+-f+Y@Lv@2I0j1N4J&yEsYcNw=;M+mXc)TM#Jt}-C*Bz<3 zyFt-~G@Kc)2He)B;&~Iw!Z~q*Mo8<&MXpgev3PW*{Lnuly`yEm7~bsgTfN<2O)lWs zUGG4Kd`STCD&WFr;lF0e>Z8>wN7E~l9TmMlMSTOP*Ty35^)6_i1_VT5~~f&mED z{r3to;JTzy%WVBw&81p9$*{`o#Nee2b242qBHl~m7IvMC0!wzY-sc}I7E-i8iaq5^ zbR9geik~haLu6+M>+#-%zo|-+bvTZ}EFg<&YoQn?!H0e)up;}R>S@fuH8?6mP3vb| z$9b5`^!YHrDwGgqgvjUsP?p8ufY}ntQ!It8HGI zSbsne4zi8wTyU;FR1Qbr+6B-73*=9sJ3lde$8+y(U;Ub>biIDw98oCY?=5n zBcX)?c<2NrKaqJ_cNyT>;@*6aLu(0RI-kc>H2c%QuB^DuX>Df*Y?nkR>d&S{cN|)t zoPfVWD1NpzffsL8_4V1wISu0!6FIg;d$vp+A||>9ih`mOc!y&Sqfbh~2_}~|#Z7l4 zl_iJao=W-#b!(>&>oeQ&*2rq@Wm8L%(Ug>rhv;-#m5wTVU%lAPQ$2on< zf*W}9;=k7+AY;dh=9Wt^6%>utkv?T%E9hJ8_l$ae^)hJuLHZC9_Chjkm>Ukvai#U%G{o#q}0**ZJQ%Prb6d|E6}tJG;?hT|HS zx?9c{aw7UK_B{V1B)-oPn9CPb_D+f6KXqU6HV{4h3)c&LbW|Ngh|T~%+CjYL0ix;< w5HJkln~$Z@fzrLcm>gcpde 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

{F#sMVK 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 DT8V$m literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromMe_snapshot.small-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3a741dc83f8057c0220821eaf40dd11d9847e5 GIT binary patch literal 11353 zcmeHtWmFu^)-E!@;1eu3gA)kBT_<>Og1Zb5B)A5G3=#-7xJz)?;O;KLEx07OOR!7c zbG|F*TkHP5KW@*e-qll2?cHnFuI{ScPpFEL3^oQS1_A;Cww$b_8Ug}h$a6g#i28ii zL)Ptj7KqMjGH(&e$H;#_Uj&+K%ULKYA}~MKfe0vwcnHXUAE9S61cWbE2!MZMbf4wlL-x5m_x`s;&O-cO8ncl83ym0(h5TQ2gzUfF(60~d z{|X0L9cKgtO#HtE5g{dw`1wzAD@kSbXZdXKpF{Qe%=BFT%I89$noAdy|12rwBq8b^ zhzADfaRj|2n%-Wb8Fn)84 zA5Tmx4Wsd3P!5s;ZK4;30CBg78Uat!*L*V2Q9lZ$27oTDLIc^^{zDz0P)xOQ&_#J$^ zmpXLM{7TA4wSdyS4)J-?fRIg$5vuVy397kg2Gj>M2egycl*Mw~T%#pj&^LC)o`Rse z1mtFdA21_wmDHI1L8u_vtON1q$tli+C7y3l=-T%?aCa-61>QQ7B_|mL&Jx(#;d8AG zhIZS1V;U$6wkM# zj*1Mgo!tVEkeg@zg^l6$?@owQu*4S;Po1FrjbBr+6IO?AthL*K@xTUCN(v1l5UajA zCw|R&4LR!GzXp3D_}L-|2bDZivTkUD3CBMo4Xiejq|d`@zBNIuXvr-Ed

  • 6Z>s0 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 R&lz(BIVmN{^0&sY{{coZvY`L~ literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.default-dark.png deleted file mode 100644 index 7ead4ffeb2f1fe2c5d6848f97c6e2057d258c62f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10900 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 G3jQA`wdfWA diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.default-light.png index 07156d7901f8c0c8cdb03036dec3676172fecfa7..aa7e15a3ec49b55316ab5a0e297d3bb39ccf43c5 100644 GIT binary patch literal 11417 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
    Wsk74W%T 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 literal 10624 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 z za%`}FR4&{fPnu_L%-Z;$nYKWruppdb2FrgG4;UH{CL^rF_Rm}(N@TjQQJOj+_LK3# z&;T;vF-zH!;D1xkp)&&F3FRkc|D(nv5Mz+-Th<{~1X&8=jF^CA=p;VRKZ*=7hIAff z8Sy`J2Sp(!uoa^d@Q;#4L5yKpn>W?@Z!t&lpaCFC4aL!alqCc)Mx<-4&VSSrLQEh> o${K_0|10^luKz15d58N;W!1uC+maRWCqyLqS1Quwl12gl2P17P;s5{u diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.extraExtraExtraLarge-light.png new file mode 100644 index 0000000000000000000000000000000000000000..afb8734869b8c8c9535c9b45c2495493d7006a8b GIT binary patch literal 12313 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingFromParticipant_snapshot.small-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..54067c37ba2940c389b4b7db865b69888ed09d36 GIT binary patch literal 11379 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fe8dcf7901c60052be21b02c64b605bc0dd489 GIT binary patch literal 24768 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 S)&fcV0kylDN|lNh;r|2Ueh}LL literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.rightToLeftLayout-default.png new file mode 100644 index 0000000000000000000000000000000000000000..15321652388f980f28f0a96f9df649b2b0589e89 GIT binary patch literal 22121 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

    }fkMT!0^~mI#i>&7ZT!x? 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 ay;FO6u3W literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.default-dark.png deleted file mode 100644 index 5f1c3dc2d582f2010e737b36691253d12b6c9855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12180 zcmd_QgBRu}4@JPKo`kMU_!|u>PN1By6o=f@uyOuX?=V>40g7Mi~$h4H2yf_-_alv(EpSr9tuj z_jzNhIR}c7egCwYBl-S1xJ@( zzo*(AJ8uI2YOfFq=wgY>GvBA+TI&q)G-}=X63Z|^wv})$>p|bugaA2S1PqNZEW~@A zelb3Mt&LscAlcd@L}BzFez=4!Za`g#<$&N;!8z0vjbIlO#E_$>pTI#|^??NKaCRd3 zm%t6(+mhN@dBvp6mLutyV)Y6GW{t}BZZFkH!R7zFcjfn1;GruqA&>!@QV8z=?N-XU zJZ}EEYB9FQ5eFdh5*WS{C%P_!&L8R1rKRJQI;&Vy1u+sgd>_8v)8uPe6xdh<3_zsB zVEa-Q%FV%#Q1?zMpV2#j?_vmFgIu;Qt%z+vPJ=h1ubAdPy+m~e&_$3-n#kxvSN1_I za6c7aI{6(W+i4&o@q{${6R%uCZ76<<9f8U}MQBHIM{<9;tN`ng+`zgChj?8Bu*yGx z!1AQE{0JVt_rf!F=sY@&{r@VI9|~y2^mqpj#OoxVRWL^dEs`rU2ijOzwW`F%xW%AE zqm1UEY_?E$ipMVdj%m%Q^8f-RD2mX%IMkR^L{%24rXCip`mFk907467wPTB&6?OoG zugs+37elb#n~7?f9W zDCZ7AsDn{sPMrGiLQB5X2h?lDsEE@4Q2|C_;Bv*mXw=q-Ih{l@4mcb)=tj>T*MTN1 zM(CB}FXN5zo{VY8Za$EHrvGmtg3byzzz5LV=oxurUYaN>8Zvf|bQY~<_2uTX;tliJ zMf67Z6+})ys5(rMkh`PlMe6ZUlB`^h8lIfo8NNTH2ENZ(s#uv z<;_fv1&zWvXL&cgKAY8W(QO^k6j?NsX0#V{oA0n$7{P7*!#9)KF)0|xN$%<3q9fVXGyV`$Y@UU) z>~Kkd6t463K&+cwW98KX; zvkf7?9{w(pfB;@N+WLCr7-}JV8vF>p@@G^D<4N3oe5A>zv3<#rF=8!Z#p zJXLf(e<#yf;N9?{of5h08qeuv&qg)!yid{GtHy>rxXpI+L}t@C`j%6s{-cDGuUi1-ROI(GsQ>BOvaZ`sf`XHYVB z+Lq+Gs;--!_xZ^pa0zCA95S+H>8-KCH6_Au-Cw(=RD}`SwR)v0L*wsn>pf>um~!v! ztyC)il~aEeAa2!=H}r-R7sNil{)8gC?;yN8JM%D_*))YO`D{l!9GxV9lhL5$6epDX zQyO;KdG>2digM2Tium0$r+2RBCumOj{?*e~od2hYAQcg?^Ph8LRd}iDJnDFxy!@wcqthF?yT|gdCd>h*Ra{5oT&<4n$`jz<7csXkhaT0DrzpPV) zycq!LuyCODW0;7_d(hcuoef~-?%)&5eD|=)EsWpL<3c9|Eb{O>9|3{Zo`=M%-q5J@ z_kDx&c&4D?l@S1UuYdi#AC(GC75Lp;UBl4tzQpJ8f_lW}Cto(P2H|GF5D1C-5TSgr z5IBU%)|0N3(`+-bq;s0;zgjx=LDhK2uRdl_DrOFb0!j&MKrTlxJP%Gfb~ltqRVDc+<;(Z5wYQ8 z8n+!(?^Nrn!IdZP%)s)mjEe_B-aT53)!ExqU+pp432ujZSzypUvTy|o&g)uF4~u@4 zt~8`VAksfEMk|wAo~82#!0m!Cs%cxgLL-smS9XgA7$Sn{Q@ZmZ`c9w5ht?=d3LZlqo`F1?gblbLu{L;mEuD4F4F0Gmi(^ir=g}y93}W1 zA?N_+#lGHX@4ZRwi(~CU(BF0O>*9Vn2dW)2ZcxJQxs3JhZuzLL%A4{2=NhdxM4iiW z3V+p*L%=lIqO_?FGme($m^c}z49*V%e9-MGzG!-ZNwiTZ>lfsjFu#RtB1?EHzoFKi zmR!d^V^|JT$(;Zcy2*d{cNL^J5ao1Y!Dd7n^9t~|-%TT=ORrvOk*Z@?Vr2CNfX??Y zP{XUCfDkfku7^4eL5&`NF*9YxLkT$e6dKtr8RQ+)j|v1xXnQE&hlc*yd*vC+NtFP| z#E=i7#oMAx6T$s1Om5sVh` zMlUM+Ps-k{xe(iTea1|sw7&bWu~>~Fr68=H=KT)==imm{eZ>PJrwBG2{ckZyDyjkH z3BM#?thE(iF(!FX>)_s`%xbN-3|k*IdQNrUQM|`RaK|{!=3VoV)7qE}r>a1>QzyAB ziW6p4E1kmP(h#8!HI=+&>%Mlp(Hq$L9ooB2lFIlaSRj%gw>%^sWYp7ad|sch)se~V zSaJ)(nnI45o^^g0_;#p@*=EdJaJ(zpE4CtJZDZwt66&^Ye51W@)BRhi{WdX(L8LDZ z=D~LFO%8m!%x^lcm*Ue^iH%;!Lf5w0blhdbz9{}OS%Un<=spOr^8fLRcP>w9?iv#|MNukT+V|tYc|z;9`tzs(5toC%ft>TKW^5~ zyu;-D)5teGf8XJ1v()+7u>jof6SWz#EN!nO9iYssY^lr|*^svDi?vWn#oSsH)j1HEPBMmqO2bBpF~Ep> z%B(HS^U|$U)P`uLFByy{LK^W6Fr2OTaiBe)D)k8_nxZ87)TJDs zzpfEA`IGC67Z&=2Fs4d1(zD7W(zN?_P9 zrMKqySYPSG`Rp6Ao{zr} z`#I#fD|tcaG@_Wwu)YISI*nD|q%vy%To2(u;;;TtjJcJ$vDrT)kECC#VDC@N?%8Z9I4mc38eMi{D^Wo{A#PHDgn<4s zLS!uDvkkWyg~ZfUq87zm-C;Wr2flB$Kh7AjAgxSt4+5YIlWX{vqSJQBY#FzRN`#(( z3~SG8Z;4p$=%1XFTFJOPrY1$h%6OD7ZFa_t{^ChggCzx!$~*qtlnTPvSQ85#9m_>d0w zB%9N;M>+LsuST$~IjY2XCe=%LLfCe7NZSkUHKi16HbUZZ!Y!b6T;^UBH}5ruC}H!M!G!5h}QV`g?&h+{BzOH zEbXJm<3|hqwd&G;vdto+xgGlH@bzd;i3B5sD(Xlonriz_zJa!yYIaldJ4BA_*XvC+ zk#eVKSnAW+3%E@msqBzL#xZM%5g_qINa3$z?^PK94TsfHSHPiWZA@+ULlJisdQqF`&4BgFMv;PNjD)&Dz{RpHRmE0^M3jO<#O6nr=lf2x!&xakqe&(d&|3!= zjm(wqWYB>Yc>s983U+%!J3r=n#5c{8ic5LsDKvN|-&+@zblsfAca@+k7?k6BdO<1T z*wvfV!p38vp6yq8Fi&TU12P8$o_0SREi>ue9dl{XD`ImjcsX>Za8aPS{r0KcqY&{b z%&HwfbL^P%hOrA-QtRiSLuBpRv8dc zR@s74?B~1}N&R3e!~;yFF=U2m+D(*dp#H&wM7e*eraKtVFYbz_KO)G0Mk@E2Z3$;e z6|%B5A#N>%Q^@(1{4z8;W%OcR@fU{s1BOV0POg*Po1I?lG9jOvc)sHhNdrY#d?$Xn zl}%C6EMdE(e4jpnCGdNBtFu#d-awnFY3YAFeyh69MsEMa2jY8!3l5FR2Bp5j0vGyY zPE})4s^A$%=ki~1WbmA*WN_@LX%vMWqaH4WFx#ahfo;+X z5*|v@(#@cvg|nb!Wvwqbgqr3?A|ISKeV!h$745L!VTJtq#(yWoh;*eHdRJ$2rYu;K ztLw>b)-3Vrx1f`_)|((YcGq>)_vB^mA3z+^5u^9BD;-uM^jwHIEab1+X3oM>J&AuJMV?Z&u!^DMg1dd6*WO% zt>01$sGmJOaB+z)9uzgY_1{h&4aYqK0|R5*c_+ErOz_k9ube7|S*EVhb#ytc zk)j_>h>a=4P)wGa$MdoHXXlkdvZ=+*&4MA@$VkKM_FyO?{;r3EIRYBV;Rql^5CP>2 zLdcYXtgAy91nO|oSfADLFLkWwaT%M6l6EbsSi3U2=qrhbQjuN#r?iKXL&G{^md zB}ccp=F2I70eq%&o(>o3KRW<$E3Ez&c+MUW&PMAFBEiU|)vg!48b@`&YnU=Y2?@Fp zFFHU<1gjE&!y^dBNI@THZ*EUka-`>}E!XP;rWf~|>cuQIZ%BkJXwP+-Jl(swcs?>0|_sI(fDGwSWcoGnS%B6@zA z2x90+;;yAFDWJh_m*3dmM_o2bkDm?`G5pV!$>nYEHe~{lvY<1IgLa-MDVr=`K)@f{ z4m|r0^akf%E3Nh&R(ID2GrMg&u~C`5M)#ZVr*_(@(F?apWSZk%+jeLYzlDg$gUgjl zu#&)$?>?|!O5G_@(UiP*^p*86(R3JVLiHpi!r9iryZS74ixS&fZT#Wh9zERu>@#c<76M<;bm(Oeo{ng#0WeQ=n zlV$!DoGy~5(VMSFW|X86m_Heo8#uRQ%UVU49{XNdz;c(p16bVi0~CM(5GKBNj;(Ca z0Vts*8AQF&6SUU3K}*;o1>2w}faK!@R?IokF6*?Y#iB#b$#cub2~whA!BWe{%kpD} zZFVi3XwRGPvde?%O|YfTkL*xPBZPXYcDG#&Ka^*%_d#Jzkq#F7b>`V%F&0m`b zK=uWo;lAcjgr%Q-zmuCPuiNnIPvkP+jGxY&Z;_&UN<{(jsIV^k2Z4PWP60Ci+zL!6 z<%>-6tBNpK=16+Qw6I=E*y;uW#jV7>T_%=Y5>4&iD(+s1ivBTfmwrW3T9LPZ4xeg^ zr&6-BC}wqo4Oxgp6-3KaYAXZXbo_D|FsLjWqmXyXu8W!^QDZP7xz#bFWrcUd*e2Z1 zo(lk`PdTWg9=yAG=Ll=ww}P_B8neS;(+zog%nGk{RRAi3@4k+DC-IhJRGs!Q{?^Br z-|_3==JmQgVN}fIT~eyYlXiW%5c zZZ8XYwEbid*DPkZk2FHnls@y#9f z5QSvSZzfDK*AkHt{3p1lmZ(GiNKgF0J&7b{@xCT0sw&jGtrG5j(5d?Wv8^ zPKlZ%%YWaZX8GU;xlulOr;N4j-H*eK=k1Jr#vEazCaE4 zNmBfTj*Ut11qa@%a0hTNN12J#Sfa__7O0hV?(St7rVUfQC{GGH#=)nI)ppC*ty!}V zsk#g%Wp-;1xpph9N+`H~U<(-pFSt4>A#KDa>Q$Yl>kJxoHMCESs=O+=i62`?sWnpl zKNTxpTa(Zl%Z_v2+@0$hw(rrTP{Q{u3X7)mx4fE7joA68nkxp=zASO-rl@e;+0d6U zUy*VP74JJN-4X=0-#7ZAVrfnhxvliX7RDw=5Q44hfa22M%wCBz&W27DvvwN!HUN++ zOANYCU7Lyx)s+7n85*WA*LtYbb~@A@FE$vSb{tV?H=})io`AMrt#QcVNnD`%i&6t= zSS0do5a?F%2*uy=GPf14D^tvQU>7 z51_-Q7apztk;8hC*~rk z@STFJ!2ORnj?Bwhd{yQz$2da6T;H`~YnI_o*r=2#^ydt5O=1In=|0Dj0Oz-gAPd1e zsbdt9<_NclEGGA|j*LcHaxHFa$_@*Qqrwtfbp>c&g}!nci`#;SKmrvZ!8&`5o{;YV z;UIva^P!tqz4(?1@~d0dn2G*WWxZGQo_3D-&Kl=i%7r2t$ zVIAdm+$Ir<4gV+?^*x5S+@?Y)4`!N5N&0@77&_a`hE2qDNdm2jL>;Ls~88adk5^xq&Et$te!=8 zKac8*r^Q)@zcC;X=>x?t>RvYdiuKV%3x`^wD0EHtGa=P=p74ho|NT!foy_#{eIygH z3PBW8Z)TMOQ1AHTBxtrgg?ORJ#tts<6?f33?&5cnJ^r$O$ z?F!L4{Yh4Zxi{$B%4e(LVQ~g*We-4;1!-V|F>W1I7O)uY3dt)~Fz@s;k%JRe1^7|? z<;KBym;munM80#OTwMbDu+y^dR1kK47MG&9R92xPOo}U^IQ5fc%OWQmT6L-WJ0Zc~ zF->I~w7|jXskaWD+x(*P8@-k)4z=DP`&4wc4?r$1lqDbt&k$Fq; zrtH~~TzaU~Arc9Y04@LPUaVe-J)Bo%K;t^G^XFnS8j(NPR6>daX#)x%@wlLRu6nAs zVZg4R4-`$+EO*`Fn;E?_AVQe^J1xUG0~J<-dyFo=QveMSqU{h4HaiTwgPXID8f@gH z0YKSsG$1`ca|Ea~0JeJNjED1erU!gAC*N0K!cH%oa1F@)0eI=C${mU>i4gI6v=Yrw zyUBI|)3O!xT_B$*6?!Ccqjn#Mw29N&)o zzwm22qk>3McUlIS^fxMn$(+`h=opQSr} zJB4!Vn>jM*1s4E#dBFi|1OotALw^r%oaEfQ5)2a#OI+aZ%CaL2mB1jc%0OX5#@cA; z)Sx?RB(x#wKz6BdYo`*Xeo;E=5z+YK?O$nhyNe)`k77%FyXq#x*}HV~^dZcv$Hz z++wZd%iS3i>h9MH%M13ln3k<}duu+53eO9jpgu*vcs{&&ZaZFQR`Bwk%DJ^)psY~k z@M|>Nzu`TIyl82(I*@hEPR(G*YVDyfVN*}P{&jEzZS*SQpZqbIc2nmgB`cYdbv^s~ z2HNGKpU?6Y!sB5+D4CjZ-Mn;Vu05vX3U@n7JP!A@1aTy$P_84QQRuGixU=FjKrie z4R4P`Ju0jJ@$XMdkH!HKvPTWc|yr*ZXF>%6Kt_N|Ea2$ zx<4l~qcgnZN}OS;Fnn3ss%7u;NwHsT=@zvE^g8f&PU`EK7*b|P2*yxs4o~2s@lZc8 z-jh%DD%nkRwDI9GmxfoVMY`YFa#38ehJ1Wg^d!2PwK1vVi0}GSZ#A2q=KZIPRwxnBLz;! zL{G=0{d1fN)pffrxGUP`Xtc{Nw%E(OUaXWUr0h*K_gLSzP!bAFMUh13IwTD$iVC9* zpWbVV2Co{++t)9fFd);EXjTI04Jhe}&jzXR$^q&cO3AcRu|MXjG$%@jGxy^t^{PeP zU53*`?j#x+D49qz>tI_Y=1}H$pzlm|*^HzX(8lpDF*dsvg-|Rqb7<3^7j-FN;CWJL zdNT|6P;;?$%YAleI``^(M!KQdw&OQyrPTEAFhkRccw`0>iPTEBXy09Zl*c5^GWXkY zQ7iS-xn&=krMX#e*HOaeu+|Tvra$XE+nitbZ$i}LY13aM^)#WQ zPHXXs=jy5d@Faer*bWnqcnY0X;Ug=eq-jEojbRXd^0l6 zae$swI>vX_@xYH=b>P_zMKpik!ew5qN%d~#;hoj>s8CkPL4=w`)Or}@@L}mx*Rqi% zvKVtI22mBZe7EV{R{q)VPH{`H+x4bd_=qO!#*Fke&dxK34m$wR5EaqJ)faYjmg5yQ zQkQ(HP+lQu4Mo|+F0P4&?|u7+44zbC37L^W6jpcnyAaMql{O(+x!5E^PR-0%bUcVQy7siFhIHA)XuX93o&zfi5!hVcqo2b9f3WAb za{Guae{Cs%rQ@O1G&AMYCK++)n}N5Ciztl24J67d6+G8tlGq%~paQ~$lFbKi>NW4u z3}pU}4mHOfIo>C2w5RTZp+gT!w+AwmS6P7p6PSyTmM=E=?hS>@(k&^^Q-2^u0h$Po(+LPJ78M}%wQ6AB2euRaLR zF&A_f{23SV#1aq)foGEh07>dO10aAGn(%jBjI8v&$2om8mQK!Zf^)?mF+d$nyDgH36z(Zr>An((&ut-p7x< z(~c1XkX7`dq2-G2=~XIU-A&e3?@RUWT3vM48%qgY&enxrYrgN#ZgLo;Z+AZ;Lg=sW zn!s9Wqrok3&IxS856_fQiw3aR>p1v&SWZ>&?snjwkz-Tu661K#86t1P$7T)E_TEI+ zr$EMIQLW2Mn5aw4`58@&GyJ_dS2V%ti3piLC`vwp@Kww^YY#+G%G zv*uk~?W1@8*ornJSG6$8koUNj?Y}i3aetB}SdFkP0Gh=uLPliY9bR!hF z66N{(&5i3;>$OPs++2F`dtDp49L`!#k67E6GoTNBSI`|V{}sc#PJnH1zucuUnSEbJ zF6yTj8H$CA5wr38*b`t3Krsn~Lla}htN5-O_|xg9zhZX$6DrPVU~pJaR%sjs>~j?; z$?JhZDK~NaxTjwLi;`2m*07g##sAL^8)0}Nl!KnmeRq^_>Aq9H|LVqIbof(-XC#%~ zi%Qj_^curLe;>TR3)!M%gTlwNAH!d(7=mxRUl{K1k9w0A{4bnluBo2e7SKXMGohR= zzmD5oFHhmea1_^sD)JVLc!WPu-;WuJa^FDju~x{%FX~mVc#;j24ZX3?s&PdhvV4Bo zZ`~Jr*8kg%z%~N3_lq44{qsPzvWZ!f41Vw04EcG_Fx!RN47}k8d~cOfr?JpH#m@6)#pU)``~JAel(XE*YUuQxs{N2V zyCmG+*c~=5YOV2QgvnPZ`F$?oW-OQavt> ztNhtNEN-cFCV3KT=eUhZ;~6U$3^V_Ip73F(j>hHur}6ZA5ED-C!;Pbv_`z?ZcK>&` zLh0~&8U_OJ5vIGPs2pi{AAVY;%Y2knn(^#N%%r-A@-q}spmJe-LPZ4r?J4`YuuwBI zVZAWO{&~Ov0ILsj{Z|zNZok1gcmd%eplhHn;NQUz0-<~JCPP#4Nwxu1`LBfx7eSmv z6W^a4F-U(Kr-CF}fc@7r#Mv4xEmW@Ob5Xi{6Sqwpv7=W2;3@Ah#v~M;*&)7k}DA|N) zgy`732iZtf)kU}%xXkdjL<|SaAQaFPWc92S*Y!0j(p&((F;4HZgM?8`#K1lUKfk#> zDET!*1uC7kP@e;Mz0RSx&B9nhx+o^Hf3r6npj3a3a-qZWMh7oRKdzq-;-4LD{b$H# zUS6f;=rU>-WTkB|QRsZkPj%AFv1MRSV!;PZ4nU0LnMP#A%fn{2fkR5010@5 zhe`53k{^MP@cTpH*6Rxp2_X=!+h1M6q40mcCIPl8g_a~I@d`GXMYp diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.default-light.png index ef836de1bcbf78eb910c1538cf35bce030b70ec6..afcebf0b969b1a6f8077b069205815e7422ece7d 100644 GIT binary patch literal 12522 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 Pkr0oPoEo%5#uWBH2P_s4 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png new file mode 100644 index 0000000000000000000000000000000000000000..7699e97b89690123a59a11a2bec383708ba2e354 GIT binary patch literal 13623 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.rightToLeftLayout-default.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d6cd2909bf9adac33d8ebd612f2c2861afd7dc GIT binary patch literal 12446 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 O1vx1t$qMlg(EkGv6Y)6! literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..395fed9fd32df18bd217dc0837fd86ddcc538f7c GIT binary patch literal 12297 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.default-light.png new file mode 100644 index 0000000000000000000000000000000000000000..51f812e4acdf1fbf13febb4fbfe5b0c3bb66d2d3 GIT binary patch literal 22615 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ǚ+BYT;lC1{?}bwh6}n?@eXSVE0v96N#uyEz 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ⅆ{cjtj4jo4_V0L^t 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 literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.rightToLeftLayout-default.png new file mode 100644 index 0000000000000000000000000000000000000000..140ae9eeac2904029d508d85d19096420a5a51ca GIT binary patch literal 22309 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 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.default-light.png index ca93db64b5a5d92d7b0091cce7289696f2beef53..7a45ce1d5f9cf0dba8b860a4c2ca655d694f2992 100644 GIT binary patch literal 12526 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 literal 11391 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 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png new file mode 100644 index 0000000000000000000000000000000000000000..7e24c731a4840340990a91c2c73833c141122742 GIT binary patch literal 13657 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 b_n5f3JAcqF5Wi4sRDhD4nryMOY0&=%MJWTZ literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.rightToLeftLayout-default.png new file mode 100644 index 0000000000000000000000000000000000000000..4d789e62d9e5a36b502281878b1c68491696f96b GIT binary patch literal 12446 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 CKUmoS literal 0 HcmV?d00001 diff --git a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift index 8fa92fe9..0b0fc1c3 100644 --- a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift +++ b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift @@ -25,4 +25,11 @@ open class StreamChatTestCase: XCTestCase { super.setUp() streamChat = StreamChat(chatClient: chatClient) } + + func adjustAppearance(_ block: (inout Appearance) -> Void) { + guard let streamChat else { return } + var appearance = streamChat.appearance + block(&appearance) + streamChat.appearance = appearance + } } From b0169617068fbb13d2da8614d4c4aa67ec4917fe Mon Sep 17 00:00:00 2001 From: Martin Mitrevski Date: Tue, 14 Jan 2025 12:44:11 +0100 Subject: [PATCH 12/15] Updated README.md (#714) --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 74d365bb..da316429 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Check out our current openings and apply via [Stream's website](https://getstrea A list of messages in a channel - + Photo attachments Giphy attachments @@ -95,6 +95,8 @@ Check out our current openings and apply via [Stream's website](https://getstrea Message grouping based on the send time Thread and inline replies Typing and read indicators + Async voice messages + Polls support @@ -110,11 +112,13 @@ Check out our current openings and apply via [Stream's website](https://getstrea Support for multiline text, expands and shrinks as needed - + Image, video and file attachments Camera integration Custom attachments + Recording async voice messages + Creation of polls Mentions Instant commands (e.g. giphy) Custom commands From 67ab9f3313fd05d55068a36fec6534253985a39c Mon Sep 17 00:00:00 2001 From: Toomas Vahter Date: Tue, 14 Jan 2025 15:11:50 +0200 Subject: [PATCH 13/15] Use AppSettings.fileUploadConfig for setting supported UTI types for the file picker (#713) --- CHANGELOG.md | 1 + .../ChatChannel/Composer/FilePickerView.swift | 10 +++++++- StreamChatSwiftUI.xcodeproj/project.pbxproj | 4 ++++ .../ChatChannel/FilePickerView_Tests.swift | 24 +++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 StreamChatSwiftUITests/Tests/ChatChannel/FilePickerView_Tests.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e14a6e6..d112f3f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming ### ✅ Added +- Use `AppSettings.fileUploadConfig` for setting supported UTI types for the file picker [#713](https://github.com/GetStream/stream-chat-swiftui/pull/713) - Colors and images for voice recording view [#704](https://github.com/GetStream/stream-chat-swiftui/pull/704) - `ColorPalette.voiceMessageControlBackground` - `Images.pauseFilled` diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift index e5386c04..2604ef2a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/FilePickerView.swift @@ -3,17 +3,25 @@ // import SwiftUI +import UniformTypeIdentifiers /// SwiftUI wrapper for picking files from the device. public struct FilePickerView: UIViewControllerRepresentable { + @Injected(\.chatClient) var client @Binding var fileURLs: [URL] public func makeUIViewController(context: Context) -> UIDocumentPickerViewController { - let picker = UIDocumentPickerViewController(forOpeningContentTypes: [.item]) + let picker = UIDocumentPickerViewController(forOpeningContentTypes: openingContentTypes) picker.delegate = context.coordinator picker.allowsMultipleSelection = true return picker } + + var openingContentTypes: [UTType] { + guard let settings = client.appSettings else { return [.item] } + let allowedUTITypes = settings.fileUploadConfig.allowedUTITypes.compactMap { UTType($0) } + return allowedUTITypes.isEmpty ? [.item] : allowedUTITypes + } public func updateUIViewController(_ uiViewController: UIDocumentPickerViewController, context: Context) { // We don't need handling updates of the VC at the moment. diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index fab5d0b3..3fa80a29 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 4F7DD9A02BFC7C6100599AA6 /* ChatClient+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7DD99F2BFC7C6100599AA6 /* ChatClient+Extensions.swift */; }; 4F7DD9A22BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7DD9A12BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift */; }; 4FD3592A2C05EA8F00B1D63B /* CreatePollViewModel_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD359292C05EA8F00B1D63B /* CreatePollViewModel_Tests.swift */; }; + 4FD964622D353D88001B6838 /* FilePickerView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD964612D353D82001B6838 /* FilePickerView_Tests.swift */; }; 4FEAB3182BFF71F70057E511 /* SwiftUI+UIAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FEAB3172BFF71F70057E511 /* SwiftUI+UIAlertController.swift */; }; 8205B4142AD41CC700265B84 /* StreamSwiftTestHelpers in Frameworks */ = {isa = PBXBuildFile; productRef = 8205B4132AD41CC700265B84 /* StreamSwiftTestHelpers */; }; 8205B4182AD4267200265B84 /* StreamSwiftTestHelpers in Frameworks */ = {isa = PBXBuildFile; productRef = 8205B4172AD4267200265B84 /* StreamSwiftTestHelpers */; }; @@ -608,6 +609,7 @@ 4F7DD99F2BFC7C6100599AA6 /* ChatClient+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChatClient+Extensions.swift"; sourceTree = ""; }; 4F7DD9A12BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatClientExtensions_Tests.swift; sourceTree = ""; }; 4FD359292C05EA8F00B1D63B /* CreatePollViewModel_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePollViewModel_Tests.swift; sourceTree = ""; }; + 4FD964612D353D82001B6838 /* FilePickerView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilePickerView_Tests.swift; sourceTree = ""; }; 4FEAB3172BFF71F70057E511 /* SwiftUI+UIAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SwiftUI+UIAlertController.swift"; sourceTree = ""; }; 820A619F29D6D78E002257FB /* QuotedReply_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuotedReply_Tests.swift; sourceTree = ""; }; 825AADF3283CCDB000237498 /* ThreadPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadPage.swift; sourceTree = ""; }; @@ -2116,6 +2118,7 @@ 84C94D5027591DE2007FE2B9 /* ChatMessageIDs_Tests.swift */, 84204BFD2C052BD600AE522B /* CreatePollView_Tests.swift */, 4FD359292C05EA8F00B1D63B /* CreatePollViewModel_Tests.swift */, + 4FD964612D353D82001B6838 /* FilePickerView_Tests.swift */, 84AB7B20277203EF00631A10 /* GalleryView_Tests.swift */, 8469592E29BB235400134EA0 /* LazyImageExtensions_Tests.swift */, 840008BA27E8D64A00282D88 /* MessageActions_Tests.swift */, @@ -2992,6 +2995,7 @@ 84DEC8DF2760A1D100172876 /* MessageView_Tests.swift in Sources */, 847F7949282A91AD0009F74C /* ChatChannelView_Tests.swift in Sources */, 84CC3734290B0C2900689B73 /* ChatMessageControllerSUI_Mock.swift in Sources */, + 4FD964622D353D88001B6838 /* FilePickerView_Tests.swift in Sources */, 91B763A6283EB39600B458A9 /* MoreChannelActionsFullScreenWrappingView_Tests.swift in Sources */, 846608E9278C98CB00D3D7B3 /* TypingIndicatorView_Tests.swift in Sources */, 8421BCEC27A400E8000F977D /* ReactionsUsersView_Tests.swift in Sources */, diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/FilePickerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/FilePickerView_Tests.swift new file mode 100644 index 00000000..f0f9afc9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/ChatChannel/FilePickerView_Tests.swift @@ -0,0 +1,24 @@ +// +// Copyright © 2025 Stream.io Inc. All rights reserved. +// + +@testable import StreamChat +@testable import StreamChatSwiftUI +@testable import StreamChatTestTools +import UniformTypeIdentifiers +import XCTest + +final class FilePickerView_Tests: StreamChatTestCase { + func test_openingContentTypes_default() { + let picker = FilePickerView(fileURLs: .constant([])) + XCTAssertEqual(picker.openingContentTypes, [UTType.item]) + } + + func test_openingContentTypes_allowedLists() { + chatClient.mockedAppSettings = .mock(fileUploadConfig: .mock(allowedFileExtensions: [".pdf"])) + XCTAssertEqual(FilePickerView(fileURLs: .constant([])).openingContentTypes, [UTType.pdf]) + + chatClient.mockedAppSettings = .mock(fileUploadConfig: .mock(allowedMimeTypes: ["audio/mp3"])) + XCTAssertEqual(FilePickerView(fileURLs: .constant([])).openingContentTypes, [UTType.mp3]) + } +} From 762ce8f7a843930a8b752ca7f6bb76933dc74fbf Mon Sep 17 00:00:00 2001 From: Toomas Vahter Date: Wed, 15 Jan 2025 14:14:17 +0200 Subject: [PATCH 14/15] Update StreamChat dependency to 4.70.0 (#715) --- Package.swift | 2 +- StreamChatSwiftUI-XCFramework.podspec | 2 +- StreamChatSwiftUI.podspec | 2 +- StreamChatSwiftUI.xcodeproj/project.pbxproj | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index 6e8e7b98..0d9eeb2c 100644 --- a/Package.swift +++ b/Package.swift @@ -16,7 +16,7 @@ let package = Package( ) ], dependencies: [ - .package(url: "https://github.com/GetStream/stream-chat-swift.git", from: "4.69.0"), + .package(url: "https://github.com/GetStream/stream-chat-swift.git", from: "4.70.0"), ], targets: [ .target( diff --git a/StreamChatSwiftUI-XCFramework.podspec b/StreamChatSwiftUI-XCFramework.podspec index ef32c8cd..d931deb3 100644 --- a/StreamChatSwiftUI-XCFramework.podspec +++ b/StreamChatSwiftUI-XCFramework.podspec @@ -19,7 +19,7 @@ Pod::Spec.new do |spec| spec.framework = 'Foundation', 'UIKit', 'SwiftUI' - spec.dependency 'StreamChat-XCFramework', '~> 4.69.0' + spec.dependency 'StreamChat-XCFramework', '~> 4.70.0' spec.cocoapods_version = '>= 1.11.0' end diff --git a/StreamChatSwiftUI.podspec b/StreamChatSwiftUI.podspec index 1fbda8ab..e9f01ea9 100644 --- a/StreamChatSwiftUI.podspec +++ b/StreamChatSwiftUI.podspec @@ -19,5 +19,5 @@ Pod::Spec.new do |spec| spec.framework = 'Foundation', 'UIKit', 'SwiftUI' - spec.dependency 'StreamChat', '~> 4.69.0' + spec.dependency 'StreamChat', '~> 4.70.0' end diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index 3fa80a29..d2220212 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -3843,8 +3843,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/GetStream/stream-chat-swift.git"; requirement = { - branch = develop; - kind = branch; + kind = upToNextMajorVersion; + minimumVersion = 4.70.0; }; }; E3A1C01A282BAC66002D1E26 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = { From 99db3cb09f4edd6973b1d0d4ed5640881142d184 Mon Sep 17 00:00:00 2001 From: Stream Bot Date: Wed, 15 Jan 2025 12:28:54 +0000 Subject: [PATCH 15/15] Bump 4.70.0 --- CHANGELOG.md | 5 +++++ README.md | 2 +- .../Generated/SystemEnvironment+Version.swift | 2 +- Sources/StreamChatSwiftUI/Info.plist | 2 +- StreamChatSwiftUI-XCFramework.podspec | 2 +- StreamChatSwiftUI.podspec | 2 +- StreamChatSwiftUIArtifacts.json | 2 +- 7 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d112f3f0..e82f6ec8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming +### 🔄 Changed + +# [4.70.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.70.0) +_January 15, 2025_ + ### ✅ Added - Use `AppSettings.fileUploadConfig` for setting supported UTI types for the file picker [#713](https://github.com/GetStream/stream-chat-swiftui/pull/713) - Colors and images for voice recording view [#704](https://github.com/GetStream/stream-chat-swiftui/pull/704) diff --git a/README.md b/README.md index da316429..a8812145 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

    - StreamChatSwiftUI + StreamChatSwiftUI

    ## SwiftUI StreamChat SDK diff --git a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift index a596aafd..4f9d87cf 100644 --- a/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift +++ b/Sources/StreamChatSwiftUI/Generated/SystemEnvironment+Version.swift @@ -7,5 +7,5 @@ import Foundation enum SystemEnvironment { /// A Stream Chat version. - public static let version: String = "4.69.0-SNAPSHOT" + public static let version: String = "4.70.0" } diff --git a/Sources/StreamChatSwiftUI/Info.plist b/Sources/StreamChatSwiftUI/Info.plist index bc359966..7fda0d3e 100644 --- a/Sources/StreamChatSwiftUI/Info.plist +++ b/Sources/StreamChatSwiftUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 4.69.0 + 4.70.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPhotoLibraryUsageDescription diff --git a/StreamChatSwiftUI-XCFramework.podspec b/StreamChatSwiftUI-XCFramework.podspec index d931deb3..ae33a69e 100644 --- a/StreamChatSwiftUI-XCFramework.podspec +++ b/StreamChatSwiftUI-XCFramework.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'StreamChatSwiftUI-XCFramework' - spec.version = '4.69.0' + spec.version = '4.70.0' spec.summary = 'StreamChat SwiftUI Chat Components' spec.description = 'StreamChatSwiftUI SDK offers flexible SwiftUI components able to display data provided by StreamChat SDK.' diff --git a/StreamChatSwiftUI.podspec b/StreamChatSwiftUI.podspec index e9f01ea9..173ed70e 100644 --- a/StreamChatSwiftUI.podspec +++ b/StreamChatSwiftUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'StreamChatSwiftUI' - spec.version = '4.69.0' + spec.version = '4.70.0' spec.summary = 'StreamChat SwiftUI Chat Components' spec.description = 'StreamChatSwiftUI SDK offers flexible SwiftUI components able to display data provided by StreamChat SDK.' diff --git a/StreamChatSwiftUIArtifacts.json b/StreamChatSwiftUIArtifacts.json index ef9c2975..10ba0f0c 100644 --- a/StreamChatSwiftUIArtifacts.json +++ b/StreamChatSwiftUIArtifacts.json @@ -1 +1 @@ -{"4.40.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.40.0/StreamChatSwiftUI.zip","4.41.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.41.0/StreamChatSwiftUI.zip","4.42.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.42.0/StreamChatSwiftUI.zip","4.43.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.43.0/StreamChatSwiftUI.zip","4.44.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.44.0/StreamChatSwiftUI.zip","4.45.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.45.0/StreamChatSwiftUI.zip","4.46.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.46.0/StreamChatSwiftUI.zip","4.47.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.47.0/StreamChatSwiftUI.zip","4.47.1":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.47.1/StreamChatSwiftUI.zip","4.48.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.48.0/StreamChatSwiftUI.zip","4.49.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.49.0/StreamChatSwiftUI.zip","4.50.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.50.0/StreamChatSwiftUI.zip","4.50.1":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.50.1/StreamChatSwiftUI.zip","4.51.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.51.0/StreamChatSwiftUI.zip","4.52.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.52.0/StreamChatSwiftUI.zip","4.53.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.53.0/StreamChatSwiftUI.zip","4.54.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.54.0/StreamChatSwiftUI.zip","4.55.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.55.0/StreamChatSwiftUI.zip","4.56.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.56.0/StreamChatSwiftUI.zip","4.57.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.57.0/StreamChatSwiftUI.zip","4.58.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.58.0/StreamChatSwiftUI.zip","4.59.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.59.0/StreamChatSwiftUI.zip","4.60.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.60.0/StreamChatSwiftUI.zip","4.61.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.61.0/StreamChatSwiftUI.zip","4.62.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.62.0/StreamChatSwiftUI.zip","4.63.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.63.0/StreamChatSwiftUI.zip","4.64.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.64.0/StreamChatSwiftUI.zip","4.65.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.65.0/StreamChatSwiftUI.zip","4.66.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.66.0/StreamChatSwiftUI.zip","4.67.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.67.0/StreamChatSwiftUI.zip","4.68.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.68.0/StreamChatSwiftUI.zip","4.69.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.69.0/StreamChatSwiftUI.zip"} \ No newline at end of file +{"4.40.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.40.0/StreamChatSwiftUI.zip","4.41.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.41.0/StreamChatSwiftUI.zip","4.42.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.42.0/StreamChatSwiftUI.zip","4.43.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.43.0/StreamChatSwiftUI.zip","4.44.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.44.0/StreamChatSwiftUI.zip","4.45.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.45.0/StreamChatSwiftUI.zip","4.46.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.46.0/StreamChatSwiftUI.zip","4.47.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.47.0/StreamChatSwiftUI.zip","4.47.1":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.47.1/StreamChatSwiftUI.zip","4.48.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.48.0/StreamChatSwiftUI.zip","4.49.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.49.0/StreamChatSwiftUI.zip","4.50.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.50.0/StreamChatSwiftUI.zip","4.50.1":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.50.1/StreamChatSwiftUI.zip","4.51.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.51.0/StreamChatSwiftUI.zip","4.52.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.52.0/StreamChatSwiftUI.zip","4.53.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.53.0/StreamChatSwiftUI.zip","4.54.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.54.0/StreamChatSwiftUI.zip","4.55.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.55.0/StreamChatSwiftUI.zip","4.56.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.56.0/StreamChatSwiftUI.zip","4.57.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.57.0/StreamChatSwiftUI.zip","4.58.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.58.0/StreamChatSwiftUI.zip","4.59.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.59.0/StreamChatSwiftUI.zip","4.60.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.60.0/StreamChatSwiftUI.zip","4.61.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.61.0/StreamChatSwiftUI.zip","4.62.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.62.0/StreamChatSwiftUI.zip","4.63.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.63.0/StreamChatSwiftUI.zip","4.64.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.64.0/StreamChatSwiftUI.zip","4.65.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.65.0/StreamChatSwiftUI.zip","4.66.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.66.0/StreamChatSwiftUI.zip","4.67.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.67.0/StreamChatSwiftUI.zip","4.68.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.68.0/StreamChatSwiftUI.zip","4.69.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.69.0/StreamChatSwiftUI.zip","4.70.0":"https://github.com/GetStream/stream-chat-swiftui/releases/download/4.70.0/StreamChatSwiftUI.zip"} \ No newline at end of file