Telegram-iOS/submodules/InstantPageUI/Sources
isaac da5a92c1be InstantPage tables: stroke all borders in one path
drawInTile previously stroked each cell's full perimeter, double-drawing
every interior gridline; visible now that the rich-data chat bubble uses
tableBorderColor at 0.25 alpha. Stroking each segment in its own
strokePath call would also have left ~1pt² overdraw at every interior
4-cell junction (where a horizontal divider crosses a vertical one) and
at every T-junction with the outer rounded rect — each strokePath
rasterizes independently and composites against the previous result.

Build a single CGMutablePath containing each cell's interior top/left
segment (skipping cells on the table's top/left boundary) plus the outer
rounded perimeter rect, and call strokePath once. CGContextStrokePath
fills the union of all stroke geometries as a single fill op, so each
pixel is painted exactly once regardless of how many segments overlap.

Empty cells (text == nil) are no longer skipped wholesale: their fill
and text remain gated on text != nil (preserves today's no-fill-for-
empty behavior), but their interior divider segments still get appended
so divider continuity is preserved around them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 10:58:18 +02:00
..
InstantImageGalleryItem.swift Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
InstantPageAnchorItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageArticleItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageArticleNode.swift Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
InstantPageAudioItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageAudioNode.swift Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
InstantPageChecklistMarkerItem.swift Various improvements 2026-04-25 17:32:26 +02:00
InstantPageContentNode.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageController.swift Various fixes 2024-08-01 22:08:52 +02:00
InstantPageControllerNode.swift Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
InstantPageDetailsItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageDetailsNode.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageExternalMediaResource.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageFeedbackItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageFeedbackNode.swift Temp 2024-11-27 17:37:21 +04:00
InstantPageFormulaItem.swift Markdown improvements 2026-04-27 18:45:30 +02:00
InstantPageGalleryController.swift Various improvements 2026-01-30 18:50:18 +08:00
InstantPageGalleryFooterContentNode.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
InstantPageImageItem.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageImageNode.swift Merge commit '96b1432434' 2026-04-24 11:24:47 +04:00
InstantPageItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageLayout.swift Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
InstantPageLayoutSpacings.swift Markdown improvements 2026-04-27 18:45:30 +02:00
InstantPageLinkSelectionView.swift Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
InstantPageMath.swift Markdown improvements 2026-04-27 18:45:30 +02:00
InstantPageMedia.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageMediaPlaylist.swift [WIP] Dynamic video streaming 2024-09-18 01:04:29 +08:00
InstantPageMultiTextAdapter.swift Rich bubble: text selection in context-preview mode 2026-05-02 00:36:35 +02:00
InstantPageNavigationBar.swift Accessibility improvements 2023-02-06 19:58:06 +04:00
InstantPageNode.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPagePeerReferenceItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPagePeerReferenceNode.swift Temp 2024-11-27 17:37:21 +04:00
InstantPagePlayableVideoItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPagePlayableVideoNode.swift Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
InstantPageReferenceController.swift Various improvements 2025-02-25 14:46:07 +00:00
InstantPageReferenceControllerNode.swift Refactoring 2026-04-03 15:50:39 +08:00
InstantPageScrollableNode.swift Web app improvements 2024-07-02 21:03:22 +04:00
InstantPageSettingsBacklightItemNode.swift Various settings UI improvements 2021-10-25 19:16:03 +04:00
InstantPageSettingsButtonItemNode.swift Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
InstantPageSettingsFontFamilyItemNode.swift Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
InstantPageSettingsFontSizeItemNode.swift Various settings UI improvements 2021-10-25 19:16:03 +04:00
InstantPageSettingsItemNode.swift Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
InstantPageSettingsItemTheme.swift Temp 2025-09-12 10:54:22 +02:00
InstantPageSettingsNode.swift Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
InstantPageSettingsSwitchItemNode.swift Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
InstantPageSettingsThemeItemNode.swift Temp 2025-09-12 10:54:22 +02:00
InstantPageShapeItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageSlideshowItem.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageSlideshowItemNode.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageStoredState.swift Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
InstantPageSubContentNode.swift Various improvements 2026-04-22 23:03:51 +02:00
InstantPageTableItem.swift InstantPage tables: stroke all borders in one path 2026-05-02 10:58:18 +02:00
InstantPageTextItem.swift Rich bubble: text selection in context-preview mode 2026-05-02 00:36:35 +02:00
InstantPageTextSelectionNode.swift Context menu pagination 2023-10-24 12:59:28 +04:00
InstantPageTextStyleStack.swift Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
InstantPageTheme.swift Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
InstantPageTile.swift Make instant view classes public for browser ui integration 2023-03-17 23:56:15 +04:00
InstantPageTileNode.swift Various improvements 2026-04-28 19:00:04 +04:00
InstantPageWebEmbedItem.swift Local instant view 2024-08-29 11:44:05 +04:00
InstantPageWebEmbedNode.swift Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00