WinterGram/submodules
isaac 9195cfa7ca Rich data bubble: restore bottom inset during streaming
The bubble's bottom inset is supplied by the `statusBottomEdge + 6.0`
max() in the measure closure, but that branch is gated by `!hasDraft`.
During streaming (status hidden, alpha=0) the gate skips the max() and
nothing else supplies the inset — boundingSize.height ends up at only
`revealedContentSize.height + 2` (= bounds.maxY + closingPad + rim),
so descenders of the last revealed line sit cramped against the bubble's
bottom edge and the bubble visibly grows by 6pt the moment streaming
ends and the status node fades in.

Adds an explicit `if hasDraft { boundingSize.height += 6.0 }` after
the streamingHeaderOffset application — same 6pt the status max() would
contribute, so the streaming bubble's bottom breathing room matches its
post-stream height and the grow-pop disappears.

The `hadDraft && !hasDraft` finalize pass already gets the inset via
the status max() (since `!hasDraft` is true), so it's untouched. The
non-streaming path is also untouched.

TextBubble doesn't have this issue because it computes a position-based
`bottomInset` and adds it to boundingSize.height unconditionally (see
ChatMessageTextBubbleContentNode.swift:234-256, :827). RichData absorbed
that value into the `+ 6.0` constant inside its `!hasDraft` status
max(), which made it disappear during streaming. CLAUDE.md gains a
sibling bullet flagging that future refactor-the-constant-into-bottomInset
work must remove both ends in the same commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:53:34 +02:00
..
AccountContext Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
AccountUtils
ActionSheetPeerItem Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ActivityIndicator Temp 2025-09-12 10:54:22 +02:00
AdUI Update 2025-11-26 23:05:30 +08:00
AlertUI
AnimatedAvatarSetNode Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
AnimatedCountLabelNode Glass 2025-09-01 18:44:03 +02:00
AnimatedNavigationStripeNode
AnimatedStickerNode Cleanup 2025-06-28 19:48:34 +02:00
AnimationCompression Cleanup 2025-05-11 03:16:53 +04:00
AnimationUI
AppBundle Cleanup 2025-05-11 03:16:53 +04:00
AppLock Cleanup 2025-06-28 19:48:34 +02:00
AppLockState
ArchivedStickerPacksNotice Refactor 2026-03-10 00:38:36 +01:00
AsyncDisplayKit Support Xcode 26.4 2026-03-30 20:44:10 +08:00
AttachmentTextInputPanelNode Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
AttachmentUI Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
AudioBlob Bug fixes 2026-02-06 17:14:35 +04:00
AudioWaveform Various improvements 2025-05-22 06:12:04 +02:00
AuthorizationUI Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
AuthorizationUtils
AvatarNode Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
AvatarVideoNode Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
BotPaymentsUI forMainFrameOnly 2026-02-13 18:15:03 +04:00
BroadcastUploadHelpers Cleanup 2025-05-11 03:16:53 +04:00
BrowserUI InstantPage list checkboxes (task-list style): parse, serialize, render 2026-05-27 16:44:47 +02:00
BuildConfig
BuildConfigExtra Cleanup 2025-05-11 03:16:53 +04:00
CalendarMessageScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
CallListUI Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
Camera Various fixes 2026-04-29 15:49:21 +02:00
ChatContextQuery Update 2025-09-17 11:18:26 +04:00
ChatImportUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ChatInterfaceState Postbox → TelegramEngine refactor: wave 1 2026-04-16 23:16:45 +02:00
ChatListFilterSettingsHeaderItem Glass 2025-12-26 20:29:30 +08:00
ChatListSearchItemHeader Temp fixes 2025-12-27 16:34:51 +08:00
ChatListSearchRecentPeersNode Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
ChatListUI Make rich messages editable via InstantPage↔markdown round-trip 2026-05-26 23:10:48 +02:00
ChatMessageBackground Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ChatMessageInteractiveMediaBadge
ChatPresentationInterfaceState Various improvements 2026-05-05 16:53:47 +02:00
ChatSendMessageActionUI Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
ChatTextLinkEditUI Various improvements 2026-04-28 23:53:26 +02:00
ChatTitleActivityNode Glass 2025-12-20 03:02:08 +08:00
CheckNode Various improvements 2026-03-24 16:47:36 +08:00
CloudData Fix base64 2026-04-17 09:06:14 +02:00
CodeInputView Update 2026-02-15 22:50:18 +04:00
ComponentFlow Temp 2026-04-14 15:33:19 +02:00
Components Various improvements 2026-04-29 20:24:29 +02:00
ConfettiEffect
ContactListUI Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
ContactsHelper New address book implementation 2025-07-09 17:47:33 +04:00
ContactsPeerItem Various fixes 2026-04-14 03:33:34 +02:00
ContextUI Context controller portal-view transition 2026-05-05 20:26:25 +02:00
CounterControllerTitleView Various improvements 2026-03-22 13:44:04 +01:00
CountrySelectionUI Fixes 2026-01-02 23:11:51 +08:00
Crc32 Cleanup 2025-05-11 03:16:53 +04:00
CryptoUtils Cleanup 2025-06-28 13:14:15 +02:00
DatePickerNode Various improvements 2026-03-06 13:20:49 +01:00
DateSelectionUI
DebugSettingsUI Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
DeleteChatPeerActionSheetItem Monoforums 2025-05-29 02:05:13 +08:00
DeviceAccess Various fixes 2026-04-17 11:06:56 +02:00
DeviceLocationManager
DeviceProximity
DirectionalPanGesture
DirectMediaImageCache
Display Rich-bubble text selection (post-V2 fix) 2026-05-20 00:33:47 +08:00
DrawingUI Postbox -> TelegramEngine wave 20: shortLivedResourceCachePathPrefix consumer sweep 2026-04-21 02:27:39 +04:00
Emoji Various improvements 2026-04-24 03:16:14 +02:00
EncryptionKeyVisualization Cleanup 2025-05-11 03:16:53 +04:00
EncryptionProvider Cleanup 2025-05-11 03:16:53 +04:00
FastBlur
FeaturedStickersScreen Postbox refactor waves 427-437: combinedView → engine.data migrations 2026-05-20 00:18:15 +08:00
FetchManagerImpl
ffmpeg feat: tgcalls CLI test tool with group SFU, video, and adaptation 2026-04-30 18:28:43 +02:00
FFMpegBinding Fix resample 2026-04-21 22:04:47 +04:00
FileMediaResourceStatus Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
GalleryData Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
GalleryUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
GameUI Refactoring 2026-04-03 15:50:39 +08:00
Geocoding
GlassButtonNode Cleanup 2025-06-28 19:48:34 +02:00
GradientBackground Merge branch 'master' into glass 2025-09-02 19:55:51 +02:00
GraphCore Update API 2026-04-16 01:18:22 +02:00
GraphUI Update API 2026-04-16 01:18:22 +02:00
GridMessageSelectionNode [WIP] Polls 2026-03-13 11:04:33 +01:00
GZip Cleanup 2025-06-28 19:48:34 +02:00
HashtagSearchUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
HexColor
HorizontalPeerItem Postbox -> TelegramEngine wave 15: SelectablePeerNode stateManager collapse 2026-04-20 20:37:41 +02:00
ICloudResources Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
ImageBlur Conference updates 2025-04-08 14:38:46 +04:00
ImageCompression
ImageContentAnalysis Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ImageTransparency
ImportStickerPackUI Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
InAppPurchaseManager Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
InstantPageCache Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
InstantPageUI InstantPage V2: render inline RichText images 2026-05-28 14:21:25 +02:00
InvisibleInkDustNode
InviteLinksUI Various fixes 2026-04-26 01:07:12 +02:00
ItemListAddressItem Various improvements 2026-03-22 16:41:22 +01:00
ItemListAvatarAndNameInfoItem Postbox -> TelegramEngine wave 17: ItemListAvatarAndNameInfoItem stateManager: collapse 2026-04-20 21:46:02 +02:00
ItemListPeerActionItem Various fixes 2026-02-27 14:34:18 +04:00
ItemListPeerItem Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ItemListStickerPackItem Postbox -> TelegramEngine wave 20: shortLivedResourceCachePathPrefix consumer sweep 2026-04-21 02:27:39 +04:00
ItemListUI Various fixes 2026-03-29 17:42:24 +02:00
ItemListVenueItem Glass 2025-12-26 20:29:30 +08:00
JoinLinkPreviewUI Refactoring 2026-04-03 15:50:39 +08:00
LanguageLinkPreviewUI Refactoring 2026-04-03 15:50:39 +08:00
LanguageSuggestionUI
LegacyComponents Various fixes 2026-04-29 15:49:21 +02:00
LegacyMediaPickerUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
LegacyUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
libphonenumber Cleanup 2025-06-28 19:48:34 +02:00
ListMessageItem Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
ListSectionHeaderNode Temp fixes 2025-12-27 16:34:51 +08:00
LiveLocationManager Postbox -> TelegramEngine wave 7: last TelegramEngine.* facade leaks 2026-04-20 00:25:28 +02:00
LiveLocationPositionNode Temp 2025-09-12 10:54:22 +02:00
LiveLocationTimerNode
LocalAuth
LocalizedPeerData
LocalMediaResources Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
LocationResources Various improvements 2025-10-16 05:30:06 +04:00
LocationUI Merge commit '96b1432434' 2026-04-24 11:24:47 +04:00
lottie-ios
LottieCpp Cleanup 2025-06-28 19:48:34 +02:00
ManagedAnimationNode
ManagedFile
MapResourceToAvatarSizes MediaResource → EngineMediaResource refactor: wave 2 2026-04-17 09:07:54 +02:00
Markdown
Media
MediaPasteboardUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
MediaPickerUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
MediaPlayer Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
MediaResources Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
MergeLists
MetalEngine Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-05-02 10:10:18 +01:00
MimeTypes Various improvements 2026-04-22 23:03:51 +02:00
MonotonicTime Cleanup 2025-05-11 03:16:53 +04:00
MoreButtonNode
MosaicLayout
MozjpegBinding Cleanup 2025-05-11 03:16:53 +04:00
MtProtoKit Cleanup 2026-04-21 22:04:58 +04:00
MurMurHash32
MusicAlbumArtResources Various fixes 2025-08-18 17:33:54 +04:00
NetworkLogging
NotificationMuteSettingsUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
NotificationSoundSelectionUI Various improvements 2026-04-24 03:16:14 +02:00
NotificationsPresentationData
NumberPluralizationForm
ObjCRuntimeUtils Update 2025-09-24 02:35:23 +08:00
OpenInExternalAppUI Various improvements 2026-02-24 21:44:29 +04:00
openssl Bazel 2025-05-22 02:28:38 +08:00
OpenSSLEncryptionProvider Cleanup 2025-06-28 19:48:34 +02:00
OpusBinding Various improvements 2025-07-01 14:57:33 +02:00
OverlayStatusController Cleanup 2025-06-28 19:48:34 +02:00
PasscodeInputFieldNode
PasscodeUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
PassportUI Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
PasswordSetupUI Various improvements 2026-04-24 03:16:14 +02:00
Pasteboard Disable list preprocessing on paste 2025-07-24 13:16:41 +02:00
PaymentMethodUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
Pdf
PeerAvatarGalleryUI Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
PeerInfoAvatarListNode Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
PeerInfoUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
PeerOnlineMarkerNode
PeerPresenceStatusManager
PeersNearbyIconNode
PeersNearbyUI Postbox -> TelegramEngine waves 37-43 + wave 44 design/plan (squashed) 2026-04-24 23:19:43 +04:00
PersistentStringHash
PhoneInputNode
PhoneNumberFormat
PhotoResources Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
PKCS Cleanup 2025-05-11 03:16:53 +04:00
PlatformRestrictionMatching Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
Postbox Improve draft sorting 2026-04-30 12:15:57 +04:00
PremiumUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
PresentationDataUtils PresentationDataUtils: drop direct Postbox dependency 2026-04-16 23:55:52 +02:00
ProgressNavigationButtonNode
PromptUI PromptUI: drop unused Postbox dependency 2026-04-16 23:55:48 +02:00
QrCode
QrCodeUI Various improvements 2026-04-10 14:30:23 +02:00
RadialStatusNode
RaiseToListen Cleanup 2025-05-11 03:16:53 +04:00
Reachability
ReactionSelectionNode Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
RingBuffer
rlottie
RMIntro Cleanup 2025-06-21 12:17:20 +02:00
SaveToCameraRoll Postbox -> TelegramEngine wave 3: MediaBox fetch/status/data facades + SaveToCameraRoll 2026-04-19 23:45:34 +02:00
ScreenCaptureDetection
SearchBarNode Various improvements 2026-04-07 16:47:08 +02:00
SearchPeerMembers Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
SearchUI Various improvements 2026-04-18 08:41:08 +02:00
SectionHeaderItem Glass 2025-12-26 20:29:30 +08:00
SegmentedControlNode Various improvements 2025-10-20 22:57:29 +04:00
SelectablePeerNode Postbox -> TelegramEngine wave 15: SelectablePeerNode stateManager collapse 2026-04-20 20:37:41 +02:00
SemanticStatusNode Various improvements 2025-06-10 22:11:07 +02:00
SettingsUI InstantPage list checkboxes (task-list style): parse, serialize, render 2026-05-27 16:44:47 +02:00
ShareController Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
ShareItems Fix data image sharing 2026-04-23 01:48:48 +02:00
ShimmerEffect Various fixes 2026-01-05 15:14:19 +04:00
SinglePhoneInputNode
SlotMachineAnimationNode Cleanup 2025-06-28 19:48:34 +02:00
SoftwareVideo Fix 2026-04-26 02:46:44 +04:00
SolidRoundedButtonNode Update 2025-10-31 18:23:12 +04:00
SparseItemGrid Various improvements 2026-04-22 23:03:51 +02:00
Speak
sqlcipher Bazel 2025-05-22 02:28:38 +08:00
SSignalKit Cleanup 2025-06-28 19:48:34 +02:00
StatisticsUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
StickerPackPreviewUI Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
StickerPeekUI StickerPeekUI: drop unused Postbox dependency 2026-04-16 23:37:44 +02:00
StickerResources Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
StringPluralization
StringTransliteration
Stripe Cleanup 2025-06-28 19:48:34 +02:00
Sunrise
Svg Add swift svg 2026-04-24 23:19:15 +04:00
SwipeToDismissGesture Check idea from https://github.com/TelegramMessenger/Telegram-iOS/pull/1712/commits/be6bc8845d20930d2335dfc8695bad3a75144166 2025-03-19 18:51:04 +01:00
SwitchNode
TabBarUI Various improvements 2026-03-18 00:27:13 +01:00
TelegramAnimatedStickerNode Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
TelegramApi Update API 2026-05-24 00:24:21 +04:00
TelegramAudio Various improvements 2026-04-03 22:15:42 +08:00
TelegramBaseController Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
TelegramCallsUI Fix audio route button 2026-05-20 00:30:43 +08:00
TelegramCore Various fixes 2026-05-27 19:05:44 +02:00
TelegramIntents Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
TelegramNotices Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
TelegramPermissions Various improvements 2025-05-20 22:30:48 +02:00
TelegramPermissionsUI Various improvements 2025-12-16 20:05:44 +04:00
TelegramPresentationData Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
TelegramStringFormatting InstantPage list checkboxes (task-list style): parse, serialize, render 2026-05-27 16:44:47 +02:00
TelegramUI Rich data bubble: restore bottom inset during streaming 2026-05-28 16:53:34 +02:00
TelegramUIPreferences Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
TelegramUniversalVideoContent Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
TelegramUpdateUI Various improvements 2026-01-25 22:17:49 +04:00
TelegramVoip Merge commit '93244da737' 2026-05-05 00:45:32 +02:00
TemporaryCachedPeerDataManager Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
TextFormat Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
TextInputMenu
TextSelectionNode WIP 2026-05-20 00:34:25 +08:00
TgVoipWebrtc Update tgcalls 2026-05-05 20:28:43 +02:00
TinyThumbnail
TooltipUI Various improvements 2025-10-11 00:56:21 +08:00
TouchDownGesture
TranslateUI Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
Tuples
UIKitRuntimeUtils Various improvements 2026-03-06 18:13:48 +01:00
UndoUI Fix 2026-04-27 01:39:39 +02:00
UrlEscaping Fix url parsing 2026-01-14 22:58:31 +04:00
UrlHandling Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
UrlWhitelist
Utils Update device list 2025-12-09 01:28:37 +04:00
WallpaperBackgroundNode Glass gallery 2026-01-27 21:04:08 +08:00
WallpaperResources Postbox refactor waves 278-356: squash 2026-05-05 14:11:06 +02:00
WebPBinding Support Xcode 26.4 2026-03-30 20:44:10 +08:00
WebSearchUI Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
WebsiteType Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
WebUI Postbox refactor waves 358-426 2026-05-07 07:36:30 +02:00
WidgetItems
WidgetItemsUtils
YuvConversion