Skip to content

Conversation

@testableapple
Copy link
Contributor

@testableapple testableapple commented Dec 19, 2025

🔗 Issue Links

Resolve https://linear.app/stream/issue/IOS-932

🎯 Goal

Share mock server across mobile platforms.

🛠 Implementation

CI related:

  • Get rid of Swifter
  • Implement a custom mock server using Sinatra
  • Move all the existing ruby/sinatra scripts to the mock server
  • Unblock some tests that were blocked due to Swifter flakiness
  • Comment out the iOS 16 e2e cron check due to unexpected hanging (also happens on develop)

SDK related:

📝 Notes

🧪 Testing

On CI:

Locally:

bundle exec fastlane start_mock_server
bundle exec fastlane test_e2e_mock device:"iPhone 17" # or run any test(s) on Xcode
bundle exec fastlane stop_mock_server

@testableapple testableapple requested a review from a team as a code owner December 19, 2025 17:38
@testableapple testableapple added the 🤖 CI/CD Any work related to CI/CD label Dec 19, 2025
@github-actions
Copy link

github-actions bot commented Dec 19, 2025

1 Warning
⚠️ Big PR
1 Message
📖 There seems to be app changes but CHANGELOG wasn't modified.
Please include an entry if the PR includes user-facing changes.
You can find it at CHANGELOG.md.

Generated by 🚫 Danger

@testableapple testableapple marked this pull request as draft December 19, 2025 17:43
@github-actions
Copy link

Public Interface

🚀 No changes affecting the public interface.

@testableapple testableapple marked this pull request as ready for review January 6, 2026 21:01
Copy link
Contributor

@laevandus laevandus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Stream-SDK-Bot
Copy link
Collaborator

SDK Size

title develop branch diff status
StreamChatSwiftUI 9.78 MB 10.23 MB +466 KB 🟡

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 7, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
77.6% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@Stream-SDK-Bot
Copy link
Collaborator

StreamChatSwiftUI XCSize

Object Diff (bytes)
MessageViewFactoryOptions.o +29403
AttachmentViewFactoryOptions.o +24961
ChannelViewFactoryOptions.o +23421
ComposerViewFactoryOptions.o +18636
SearchResultsView.o +18621
Show 262 more objects
Object Diff (bytes)
TaskFetchOriginalData.o +16231
TaskFetchOriginalImageData.o -12493
MessageRepliesView.o +12071
L10n.o +12016
ChatThreadListNavigatableItem.o +11348
MessageContainerView.o +11103
ChatChannelNavigatableListItem.o +10195
EmptyViewFactoryOptions.o +9744
ChatChannelList.o +9308
ChatThreadList.o +9225
ChatChannelSwipeableListItem.o +8857
ReactionsViewFactoryOptions.o +8831
TaskFetchDecodedImage.o -8659
FrameStore.o -8656
ImagePipeline+Cache.o +8411
ChatChannelHeaderViewModifier.o +8278
DefaultViewFactory.o +7863
PinnedMessagesView.o +7507
MessageListView.o +7374
ChatChannelListViewModel.o +6903
ThreadViewFactoryOptions.o +6896
MessageComposerView.o +6591
NukeImageLoader.o +6566
ChatChannelListItem.o +6536
ReactionsOverlayView.o +6422
MessageView.o +6180
ImageView.o -6045
ChatThreadListItem.o +5920
ImagePipeline.o -5784
TaskLoadImage.o +5636
ResumableData.o -5589
ImagePipelineError.o -5509
GiphyAttachmentView.o +5463
VideoAttachmentView.o +5438
LazyImage.o -5291
UIImage+SwiftyGif.o +5211
ComposerHelperViews.o +5064
ImageTask.o +5053
ImageCache.o +4887
ImagePipeline+Error.o +4823
TaskFetchOriginalImage.o +4688
ImagePipeline+Configuration.o +4617
ImagePipelineCache.o -4488
ImagePipelineConfiguration.o -4359
PollAttachmentView.o +4066
QuotedMessageView.o +4014
ReactionsView.o +3957
Image.o -3848
CreatePollView.o +3835
LazyImageState.o -3800
ImageRequest.o +3731
ImageAttachmentView.o +3686
Animator.o -3618
MessageListHelperViews.o +3538
OperationTask.o -3533
ReactionsOverlayContainer.o +3376
MessageComposerViewModel.o +3350
DataLoader.o +3307
ChatChannelExtensions.o +3281
ChatChannelView.o +3140
VoiceRecordingContainerView.o +2936
GalleryView.o +2747
MediaAttachmentsView.o +2721
FileAttachmentView.o +2719
DependencyInjection.o -2664
AsyncPipelineTask.o +2555
ImageRequestKeys.o -2453
ReactionsUsersView.o -2393
ChatMessage+Extensions.o -2325
ImagePipelineTask.o -2283
GIFImageView.o -2229
ChatChannelInfoHelperViews.o +2223
UIImageView+SwiftyGif.o +2206
LinkAttachmentView.o +2147
ChatChannelInfoView.o +2080
MoreChannelActionsView.o +2011
NukeVideoPlayerView.o -1909
AnimatedImageView.o -1900
Graphics.o +1889
MessageBubble.o +1870
DateUtils.o -1813
DefaultMessageActions.o -1753
StringExtensions.o -1691
LazyImageExtensions.o -1604
PollAttachmentViewModel.o -1591
ChannelHeaderLoader.o +1551
DelayedRenderingViewModifier.o -1487
Log.o +1477
PollCommentsView.o +1475
AlertBannerViewModifier.o +1472
StreamLazyImage.o +1457
MentionsCommandHandler.o +1447
PhotoAttachmentPickerView.o +1396
ZoomableScrollView.o +1395
VideoPreviewLoader.o +1353
PollResultsView.o +1342
PhotoAssetsUtils.o +1310
ChatChannelListView.o +1270
MessageActionsViewModel.o +1256
AsyncTask.o -1229
ChatInfoParticipantsView.o +1229
TaskLoadData.o -1205
LinkTextView.o +1183
InstantCommandsView.o +1160
TrailingComposerView.o +1157
ReactionsHelperViews.o +1154
LockedView.o +1153
ImageProcessingOptions.o +1152
TaskFetchWithPublisher.o +1126
AttachmentPickerTypeView.o +1119
ParticipantInfoView.o +1092
BouncedMessageActionsModifier.o +1082
ImageProcessing.o -1081
ComposerModels.o -1072
AddUsersView.o +1071
BottomReactionsView.o +1024
ChannelAvatarsMerger.o -989
AttachmentPickerView.o +979
WaveformView.o +970
FileAttachmentsView.o +966
LoadingView.o +960
PollAllOptionsView.o +951
SwiftyGifManager.o +935
ImagePipeline+Delegate.o +934
LazyImageView.o +924
ImagePipelineDelegate.o -922
FileAttachmentPreview.o +882
ComposerTextInputView.o +863
ImageCaching.o -852
MessageActionsView.o +847
MediaAttachmentsViewModel.o +846
ReactionsBubbleView.o +832
MessageComposerViewModel+Recording.o +829
Atomic.o +823
Deprecated.o -789
SearchBar.o +786
AddedImageAttachmentsView.o +786
SwiftUI+UIAlertController.o +746
DataCache.o +726
FetchImage.o -724
MessageViewModel.o -716
TitleWithCloseButton.o +705
ChatChannelInfoViewModel.o +684
MentionUsersView.o +677
DeletedMessageView.o +671
ImageDecoders+Default.o -654
AnimatedFrame.o -615
ImagePublisher.o -592
ChatChannelHelperViews.o +589
ChatThreadListLoadingView.o +576
ImageProcessors+Resize.o -571
ComposerConfig.o -564
AudioVisualizationView.o +563
DiscardAttachmentButton.o +560
GridMediaView.o +558
MessageListConfig.o +554
DefaultChannelActions.o +552
ImageDecoders+Video.o -544
GalleryHeaderView.o +540
ColorPalette.o +539
ReactionUserView.o +535
WebView.o +515
ImageResponse.o -512
InputTextView.o +509
FilePickerView.o +495
AutoLayoutHelpers.o +479
ChatThreadListView.o +475
RecordingView.o +464
ChatChannelHelpers.o +463
FileAttachmentsViewModel.o +457
MoreChannelActionsFullScreenWrappingView.o +433
NSLayoutConstraint+Extensions.o +430
AudioSessionFeedbackGenerator.o -428
AudioRecordingNameFormatter.o -420
MessagePreviewFormatter.o -410
ImageSourceHelpers.o -397
AttachmentUploadingStateView.o +385
ShareButtonView.o +384
ChatThreadListHeaderView.o -378
GIFAnimatable.o -372
NoContentView.o +370
TypingIndicatorView.o +368
SendInChannelView.o +368
AddedVoiceRecordingsView.o +365
AttachmentDownloadingStateView.o +361
ReactionsUsersViewModel.o -324
ChatChannelNamer.o -322
MessageRelativeDateFormatter.o +316
MarkdownFormatter.o +311
ActionBannerView.o +293
MessageTranslationFooterView.o +291
ImageEncoding.o -287
JumpToUnreadButton.o +286
MessageThreadHeaderViewModifier.o +285
StreamCore_-14BA7DE23376E301_PackageProduct +284
ImageEncoders+Default.o +284
VideoPlayerView.o +284
MessageAvatarView.o +264
ImagePrefetcher.o +255
MoreChannelActionsViewModel.o -251
ImageCDN.o -244
CreatePollViewModel.o -242
ImageContainer.o +231
AssetType.o +214
NukeImageProcessor.o +207
SendMessageButton.o +206
ImageDecoding.o -204
ReactionsIconProvider.o -196
MessageActionsResolver.o +196
ChatThreadListViewModel.o -195
ChatChannelDataSource.o +194
PollCommentsViewModel.o +188
ImageEncoders+ImageIO.o +186
StreamChat_-14BA7DE24FFA260A_PackageProduct -180
ChatClient+Extensions.o +178
Shimmer.o +168
HideTabBarModifier.o +167
CommandsContainerView.o +166
PercentageProgressView.o +159
LinkedList.o +156
GiphyCommandHandler.o -156
ChatThreadListFooterView.o +153
OnLoadViewModifier.o +151
ChatThreadListHeaderViewModifier.o +147
FloatingBannerViewModifier.o +147
Internal.o -145
AddUsersViewModel.o -144
KeyboardHandling.o +137
ImagePickerView.o +130
ReactionsOverlayViewModel.o +130
ChatChannelListHeader.o +130
GiphyBadgeView.o +129
NoChannelsView.o -122
SnapshotCreator.o +120
PollOptionAllVotesView.o +119
DiscardButtonView.o +114
ImageDecoderRegistry.o -112
UIImageView.o -108
AddedFileAttachmentsView.o -107
ImageProcessors+Composition.o -103
ActionItemView.o +99
MuteCommandHandler.o -96
ViewExtensions.o +86
AVDataAsset.o -83
NavigationBarThemeViewModifier.o +83
DataPublisher.o +78
MessageCachingUtils.o -73
ImageViewExtensions.o +68
ChannelControllerFactory.o -68
NavigationContainerView.o +64
RecordingTipView.o -64
SlowModeView.o -64
NoThreadsView.o -60
MessageListDateUtils.o -60
CommandsConfig.o -60
ChatChannelViewModel.o -53
ImageProcessors.o -52
ImageDecompression.o -50
Utils.o -48
SwiftUICore.tbd +48
Foundation.tbd -48
VideoPlayerFooterView.o +42

@testableapple testableapple merged commit a3f5bc2 into v5 Jan 7, 2026
9 of 11 checks passed
@testableapple testableapple deleted the ci/v5-mock-server branch January 7, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 CI/CD Any work related to CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants