Skip to content

Commit 4dfbf55

Browse files
committed
Merge commit '9e099d66124628ed33ed7ded87cd771e7e31adc2' into beta
2 parents 1439c8c + 9e099d6 commit 4dfbf55

File tree

372 files changed

+24328
-10421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

372 files changed

+24328
-10421
lines changed

.claude/settings.local.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(swift build)",
5+
"Bash(.build/debug/makeproject:*)",
6+
"Bash(mkdir:*)",
7+
"Bash(find:*)",
8+
"Bash(grep:*)"
9+
],
10+
"deny": []
11+
}
12+
}

MODULE.bazel.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Telegram/Telegram-iOS/en.lproj/Localizable.strings

Lines changed: 107 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14882,11 +14882,117 @@ Sorry for the inconvenience.";
1488214882
"Stories.ToastAddedToFolder_any" = "%@ stories added to folder.";
1488314883
"Stories.ToastAlbumNotAvailable" = "The album is no longer available.";
1488414884

14885-
1488614885
"Gift.Options.Gift.Premium" = "premium";
1488714886

1488814887
"Stars.Transaction.FragmentTopUpTon.Title" = "TON Top-Up";
1488914888
"Stars.Transaction.FragmentWithdrawalTon.Title" = "TON Withdrawal";
1489014889

1489114890
"Stars.Transaction.SearchFee.Title" = "Extra Search Fee";
1489214891
"Stars.Intro.Transaction.SearchFee" = "Extra Search Fee";
14892+
14893+
"PeerInfo.Gifts.Upgradable" = "Upgradable";
14894+
14895+
"Gift.Upgrade.GiftTitle" = "Make Unique";
14896+
"Gift.Upgrade.GiftDescription" = "Let %@ turn this gift into a unique collectible.";
14897+
"Gift.Upgrade.Unique.GiftDescription" = "%@ will get a unique number, model, backdrop, and symbol for the gift.";
14898+
"Gift.Upgrade.Transferable.GiftDescription" = "%@ will be able to send the gift to anyone Telegram.";
14899+
"Gift.Upgrade.Tradable.GiftDescription" = "%@ will be able to auction the gift on third-party NFT marketplaces.";
14900+
14901+
"Notification.StarGift.Subtitle.Upgrade.Prepaid" = "%@ can now turn this gift to a unique collectible";
14902+
14903+
"Notification.StarsGift.SentUpgradeYou" = "You sent an upgrade worth %1$@ for your gift to %2$@";
14904+
"Notification.StarsGift.SentUpgradeYouOther" = "You sent an upgrade worth %1$@ for the gift %2$@ received from %3$@";
14905+
"Notification.StarsGift.SentUpgradeYouUnknown" = "You sent an upgrade worth %1$@ for the gift to %2$@";
14906+
14907+
"Notification.StarsGift.SentUpgrade" = "%1$@ sent an upgrade worth %2$@ for your gift";
14908+
"Notification.StarsGift.SentUpgradeOther" = "%1$@ sent an upgrade worth %2$@ for the gift you received from %3$@";
14909+
14910+
"Notification.StarsGift.UpgradePrepaidYou" = "You unpacked the gift that %@ helped upgrade";
14911+
"Notification.StarsGift.UpgradePrepaid" = "%@ unpacked the gift that you helped upgrade";
14912+
14913+
"Gift.View.Unknown.Title" = "Gift";
14914+
14915+
"Conversation.StopVoiceMessageTitle" = "Audio Recording";
14916+
"Conversation.StopVoiceMessageDescription" = "Are you sure you want to pause recording?";
14917+
"Conversation.StopVoiceMessageDiscardAction" = "Discard";
14918+
"Conversation.StopVoiceMessagePauseAction" = "Pause";
14919+
14920+
"Gift.Options.GiftLocked.Title" = "Gift Locked";
14921+
14922+
"Gift.Unique.Value" = "Value";
14923+
"Gift.Unique.LearnMore" = "learn more";
14924+
14925+
"Gift.Upgrade.GiftUpgrade" = "Pay %@ for Upgrade";
14926+
"Gift.View.GiftUpgrade" = "Gift an Upgrade";
14927+
14928+
"Gift.View.OpenChatTheme" = "This gift is the chat's theme. [Change Theme >]()";
14929+
14930+
"Notification.ChatTheme.Text" = "%1$@ set **%2$@** as a new theme for this chat.";
14931+
"Notification.ChatTheme.TextYou" = "You set **%@** as a new theme for this chat.";
14932+
14933+
"Notification.ChangedThemeGift" = "%1$@ changed chat theme to %2$@";
14934+
"Notification.YouChangedThemeGift" = "You changed chat theme to %@";
14935+
14936+
"Conversation.Theme.GiftTransfer.Text" = "This gift is already your theme in the chat with **%@**. Remove it there and use it here instead?";
14937+
"Conversation.Theme.GiftTransfer.Proceed" = "Yes";
14938+
14939+
"PeerInfo.Tabs.SetMainTab" = "Set as Main Tab";
14940+
"PeerInfo.Tabs.SetMainTab.Succeed" = "Tab order changed.";
14941+
14942+
"MediaPlayer.SavedMusic.AddToProfile" = "Add to Profile";
14943+
"MediaPlayer.SavedMusic.RemoveFromProfile" = "This audio is visible on your profile. [Remove >]()";
14944+
14945+
"MediaPlayer.SavedMusic.AddedToProfile.View" = "View";
14946+
"MediaPlayer.SavedMusic.AddedToProfile" = "Audio added to your profile.";
14947+
"MediaPlayer.SavedMusic.RemovedFromProfile" = "Audio removed from your profile.";
14948+
14949+
"MediaPlayer.ContextMenu.SaveToFiles" = "Save to Files";
14950+
"MediaPlayer.ContextMenu.SaveTo" = "Save to...";
14951+
"MediaPlayer.ContextMenu.SaveTo.Profile" = "Profile";
14952+
"MediaPlayer.ContextMenu.SaveTo.SavedMessages" = "Saved Messages";
14953+
"MediaPlayer.ContextMenu.SaveTo.Files" = "Files";
14954+
"MediaPlayer.ContextMenu.SaveTo.Info" = "Choose where you want this audio to be saved.";
14955+
"MediaPlayer.ContextMenu.ShowInChat" = "Show in Chat";
14956+
"MediaPlayer.ContextMenu.Forward" = "Forward";
14957+
"MediaPlayer.ContextMenu.Delete" = "Delete";
14958+
"MediaPlayer.ContextMenu.Remove" = "Remove";
14959+
14960+
"MediaPlayer.Playlist.ThisChat" = "AUDIO IN THIS CHAT";
14961+
"MediaPlayer.Playlist.SavedMusic" = "%@'S PLAYLIST";
14962+
"MediaPlayer.Playlist.SavedMusicYou" = "YOUR PLAYLIST";
14963+
14964+
"Notification.PremiumGift.Stars_1" = "%@ Star";
14965+
"Notification.PremiumGift.Stars_any" = "%@ Stars";
14966+
14967+
"Ton.ProceedsOverview" = "PROCEEDS OVERVIEW";
14968+
"Ton.AvailableBalance" = "Balance Available to Withdraw";
14969+
"Ton.LifetimeProceeds" = "Total Lifetime Proceeds";
14970+
14971+
"Ton.WithdrawViaFragment" = "Withdraw via Fragment";
14972+
"Ton.WithdrawViaFragment.Info" = "Collect your TON using Fragment. [Learn More >]()";
14973+
"Ton.WithdrawViaFragment.Info_URL" = "https://telegram.org/tos/bot-developers#6-2-2-tpa-balance";
14974+
14975+
"MESSAGE_GIFT_THEME" = "%1$@ changed theme to %2$@";
14976+
14977+
"Gift.Upgrade.Skip" = "Skip";
14978+
"Gift.Upgrade.UpgradeNext" = "Upgrade Next Gift";
14979+
14980+
"Gift.Value.DescriptionAveragePrice" = "This is the average sale price of **%@** on Telegram and Fragment over the past month.";
14981+
"Gift.Value.DescriptionLastPriceFragment" = "This is the last price at which **%@** was last sold on Fragment.";
14982+
"Gift.Value.DescriptionLastPriceTelegram" = "This is the last price at which **%@** was last sold on Telegram.";
14983+
14984+
"Gift.Value.LastPriceInfo" = "**%1$@** is the last price for %2$@ gifts listed on Telegram and Fragment.";
14985+
"Gift.Value.MinimumPriceInfo" = "**%1$@** is the floor price for %2$@ gifts listed on Telegram and Fragment.";
14986+
"Gift.Value.AveragePriceInfo" = "**%1$@** is the average sale price for %2$@ gifts listed on Telegram and Fragment over the past month.";
14987+
14988+
"Gift.Value.AveragePrice" = "Last Sale";
14989+
"Gift.Value.InitialSale" = "Initial Sale";
14990+
"Gift.Value.InitialPrice" = "Initial Price";
14991+
"Gift.Value.LastSale" = "Last Sale";
14992+
"Gift.Value.LastPrice" = "Last Price";
14993+
"Gift.Value.MinimumPrice" = "Minimum Price";
14994+
"Gift.Value.AveragePrice" = "Average Price";
14995+
"Gift.Value.ForSaleOnTelegram" = "for sale on Telegram";
14996+
"Gift.Value.ForSaleOnFragment" = "for sale on Fragment";
14997+
14998+
"Gift.View.Context.SetAsTheme" = "Set as Theme in...";

submodules/AccountContext/Sources/AccountContext.swift

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ public enum ResolvedUrl {
333333
case shareStory(Int64)
334334
case storyFolder(peerId: PeerId, id: Int64)
335335
case giftCollection(peerId: PeerId, id: Int64)
336+
case sendGift(peerId: PeerId?)
336337
}
337338

338339
public enum ResolveUrlResult {
@@ -552,7 +553,42 @@ public final class NavigateToChatControllerParams {
552553
public let customChatNavigationStack: [EnginePeer.Id]?
553554
public let skipAgeVerification: Bool
554555

555-
public init(navigationController: NavigationController, chatController: ChatController? = nil, context: AccountContext, chatLocation: Location, chatLocationContextHolder: Atomic<ChatLocationContextHolder?> = Atomic<ChatLocationContextHolder?>(value: nil), subject: ChatControllerSubject? = nil, botStart: ChatControllerInitialBotStart? = nil, attachBotStart: ChatControllerInitialAttachBotStart? = nil, botAppStart: ChatControllerInitialBotAppStart? = nil, updateTextInputState: ChatTextInputState? = nil, activateInput: ChatControllerActivateInput? = nil, keepStack: NavigateToChatKeepStack = .default, useExisting: Bool = true, useBackAnimation: Bool = false, purposefulAction: (() -> Void)? = nil, scrollToEndIfExists: Bool = false, activateMessageSearch: (ChatSearchDomain, String)? = nil, peekData: ChatPeekTimeout? = nil, peerNearbyData: ChatPeerNearbyData? = nil, reportReason: NavigateToChatControllerParams.ReportReason? = nil, animated: Bool = true, forceAnimatedScroll: Bool = false, options: NavigationAnimationOptions = [], parentGroupId: PeerGroupId? = nil, chatListFilter: Int32? = nil, chatNavigationStack: [ChatNavigationStackItem] = [], changeColors: Bool = false, setupController: @escaping (ChatController) -> Void = { _ in }, pushController: ((ChatController, Bool, @escaping () -> Void) -> Void)? = nil, completion: @escaping (ChatController) -> Void = { _ in }, chatListCompletion: @escaping (ChatListController) -> Void = { _ in }, forceOpenChat: Bool = false, customChatNavigationStack: [EnginePeer.Id]? = nil, skipAgeVerification: Bool = false) {
556+
public init(
557+
navigationController: NavigationController,
558+
chatController: ChatController? = nil,
559+
context: AccountContext,
560+
chatLocation: Location,
561+
chatLocationContextHolder: Atomic<ChatLocationContextHolder?> = Atomic<ChatLocationContextHolder?>(value: nil),
562+
subject: ChatControllerSubject? = nil,
563+
botStart: ChatControllerInitialBotStart? = nil,
564+
attachBotStart: ChatControllerInitialAttachBotStart? = nil,
565+
botAppStart: ChatControllerInitialBotAppStart? = nil,
566+
updateTextInputState: ChatTextInputState? = nil,
567+
activateInput: ChatControllerActivateInput? = nil,
568+
keepStack: NavigateToChatKeepStack = .default,
569+
useExisting: Bool = true,
570+
useBackAnimation: Bool = false,
571+
purposefulAction: (() -> Void)? = nil,
572+
scrollToEndIfExists: Bool = false,
573+
activateMessageSearch: (ChatSearchDomain, String)? = nil,
574+
peekData: ChatPeekTimeout? = nil,
575+
peerNearbyData: ChatPeerNearbyData? = nil,
576+
reportReason: NavigateToChatControllerParams.ReportReason? = nil,
577+
animated: Bool = true,
578+
forceAnimatedScroll: Bool = false,
579+
options: NavigationAnimationOptions = [],
580+
parentGroupId: PeerGroupId? = nil,
581+
chatListFilter: Int32? = nil,
582+
chatNavigationStack: [ChatNavigationStackItem] = [],
583+
changeColors: Bool = false,
584+
setupController: @escaping (ChatController) -> Void = { _ in },
585+
pushController: ((ChatController, Bool, @escaping () -> Void) -> Void)? = nil,
586+
completion: @escaping (ChatController) -> Void = { _ in },
587+
chatListCompletion: @escaping (ChatListController) -> Void = { _ in },
588+
forceOpenChat: Bool = false,
589+
customChatNavigationStack: [EnginePeer.Id]? = nil,
590+
skipAgeVerification: Bool = false
591+
) {
556592
self.navigationController = navigationController
557593
self.chatController = chatController
558594
self.chatLocationContextHolder = chatLocationContextHolder
@@ -1290,7 +1326,7 @@ public protocol SharedAccountContext: AnyObject {
12901326
func makeStarsGiveawayBoostScreen(context: AccountContext, peerId: EnginePeer.Id, boost: ChannelBoostersContext.State.Boost) -> ViewController
12911327
func makeStarsIntroScreen(context: AccountContext) -> ViewController
12921328
func makeGiftViewScreen(context: AccountContext, message: EngineMessage, shareStory: ((StarGift.UniqueGift) -> Void)?) -> ViewController
1293-
func makeGiftViewScreen(context: AccountContext, gift: StarGift.UniqueGift, shareStory: ((StarGift.UniqueGift) -> Void)?, dismissed: (() -> Void)?) -> ViewController
1329+
func makeGiftViewScreen(context: AccountContext, gift: StarGift.UniqueGift, shareStory: ((StarGift.UniqueGift) -> Void)?, openChatTheme: (() -> Void)?, dismissed: (() -> Void)?) -> ViewController
12941330
func makeGiftWearPreviewScreen(context: AccountContext, gift: StarGift.UniqueGift) -> ViewController
12951331

12961332
func makeStorySharingScreen(context: AccountContext, subject: StorySharingSubject, parentController: ViewController) -> ViewController

submodules/AccountContext/Sources/ChatController.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,7 @@ public enum ChatControllerSubject: Equatable {
800800
case pinnedMessages(id: EngineMessage.Id?)
801801
case messageOptions(peerIds: [EnginePeer.Id], ids: [EngineMessage.Id], info: MessageOptionsInfo)
802802
case customChatContents(contents: ChatCustomContentsProtocol)
803+
case botForumThread(forumId: EnginePeer.Id, threadId: Int64)
803804

804805
public static func ==(lhs: ChatControllerSubject, rhs: ChatControllerSubject) -> Bool {
805806
switch lhs {
@@ -833,6 +834,12 @@ public enum ChatControllerSubject: Equatable {
833834
} else {
834835
return false
835836
}
837+
case let .botForumThread(forumId, threadId):
838+
if case .botForumThread(forumId, threadId) = rhs {
839+
return true
840+
} else {
841+
return false
842+
}
836843
}
837844
}
838845

@@ -1172,7 +1179,7 @@ public enum ChatHistoryListSource {
11721179
}
11731180

11741181
case `default`
1175-
case custom(messages: Signal<([Message], Int32, Bool), NoError>, messageId: MessageId?, quote: Quote?, loadMore: (() -> Void)?)
1182+
case custom(messages: Signal<([Message], Int32, Bool), NoError>, messageId: MessageId?, quote: Quote?, isSavedMusic: Bool, canReorder: Bool, loadMore: (() -> Void)?)
11761183
case customView(historyView: Signal<(MessageHistoryView, ViewUpdateType), NoError>)
11771184
}
11781185

submodules/AccountContext/Sources/MediaManager.swift

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public enum PeerMessagesMediaPlaylistId: Equatable, SharedMediaPlaylistId {
1212
case peer(PeerId)
1313
case recentActions(PeerId)
1414
case feed(Int32)
15+
case savedMusic(PeerId)
1516
case custom
1617

1718
public func isEqual(to: SharedMediaPlaylistId) -> Bool {
@@ -26,7 +27,8 @@ public enum PeerMessagesPlaylistLocation: Equatable, SharedMediaPlaylistLocation
2627
case messages(chatLocation: ChatLocation, tagMask: MessageTags, at: MessageId)
2728
case singleMessage(MessageId)
2829
case recentActions(Message)
29-
case custom(messages: Signal<([Message], Int32, Bool), NoError>, at: MessageId, loadMore: (() -> Void)?)
30+
case savedMusic(context: ProfileSavedMusicContext, at: Int32, canReorder: Bool)
31+
case custom(messages: Signal<([Message], Int32, Bool), NoError>, canReorder: Bool, at: MessageId, loadMore: (() -> Void)?)
3032

3133
public var playlistId: PeerMessagesMediaPlaylistId {
3234
switch self {
@@ -43,14 +45,55 @@ public enum PeerMessagesPlaylistLocation: Equatable, SharedMediaPlaylistLocation
4345
return .peer(id.peerId)
4446
case let .recentActions(message):
4547
return .recentActions(message.id.peerId)
48+
case let .savedMusic(context, _, _):
49+
return .savedMusic(context.peerId)
4650
case .custom:
4751
return .custom
4852
}
4953
}
5054

55+
public func effectiveLocation(context: AccountContext) -> PeerMessagesPlaylistLocation {
56+
switch self {
57+
case let .savedMusic(savedMusicContext, at, canReorder):
58+
let peerId = savedMusicContext.peerId
59+
return .custom(
60+
messages: combineLatest(
61+
savedMusicContext.state,
62+
context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: savedMusicContext.peerId))
63+
)
64+
|> map { state, peer in
65+
var messages: [Message] = []
66+
var peers = SimpleDictionary<PeerId, Peer>()
67+
if let peer {
68+
peers[peerId] = peer._asPeer()
69+
}
70+
for file in state.files {
71+
let stableId = UInt32(clamping: file.fileId.id % Int64(Int32.max))
72+
messages.append(Message(stableId: stableId, stableVersion: 0, id: MessageId(peerId: peerId, namespace: Namespaces.Message.Local, id: Int32(stableId)), globallyUniqueId: nil, groupingKey: nil, groupInfo: nil, threadId: nil, timestamp: 0, flags: [], tags: [.music], globalTags: [], localTags: [], customTags: [], forwardInfo: nil, author: nil, text: "", attributes: [], media: [file], peers: peers, associatedMessages: SimpleDictionary(), associatedMessageIds: [], associatedMedia: [:], associatedThreadInfo: nil, associatedStories: [:]))
73+
}
74+
var canLoadMore = false
75+
if case let .ready(canLoadMoreValue) = state.dataState {
76+
canLoadMore = canLoadMoreValue
77+
}
78+
return (messages, Int32(messages.count), canLoadMore)
79+
},
80+
canReorder: canReorder,
81+
at: MessageId(peerId: peerId, namespace: Namespaces.Message.Local, id: at),
82+
loadMore: { [weak savedMusicContext] in
83+
guard let savedMusicContext else {
84+
return
85+
}
86+
savedMusicContext.loadMore()
87+
}
88+
)
89+
default:
90+
return self
91+
}
92+
}
93+
5194
public var messageId: MessageId? {
5295
switch self {
53-
case let .messages(_, _, messageId), let .singleMessage(messageId), let .custom(_, messageId, _):
96+
case let .messages(_, _, messageId), let .singleMessage(messageId), let .custom(_, _, messageId, _):
5497
return messageId
5598
default:
5699
return nil
@@ -85,8 +128,14 @@ public enum PeerMessagesPlaylistLocation: Equatable, SharedMediaPlaylistLocation
85128
} else {
86129
return false
87130
}
88-
case let .custom(_, lhsAt, _):
89-
if case let .custom(_, rhsAt, _) = rhs, lhsAt == rhsAt {
131+
case let .savedMusic(lhsContext, lhsAt, _):
132+
if case let .savedMusic(rhsContext, rhsAt, _) = rhs {
133+
return lhsContext.peerId == rhsContext.peerId && lhsAt == rhsAt
134+
} else {
135+
return false
136+
}
137+
case let .custom(_, _, lhsAt, _):
138+
if case let .custom(_, _, rhsAt, _) = rhs, lhsAt == rhsAt {
90139
return true
91140
} else {
92141
return false
@@ -120,8 +169,10 @@ public func peerMessageMediaPlayerType(_ message: EngineMessage) -> MediaManager
120169
return nil
121170
}
122171

123-
public func peerMessagesMediaPlaylistAndItemId(_ message: EngineMessage, isRecentActions: Bool, isGlobalSearch: Bool, isDownloadList: Bool) -> (SharedMediaPlaylistId, SharedMediaPlaylistItemId)? {
124-
if isGlobalSearch && !isDownloadList {
172+
public func peerMessagesMediaPlaylistAndItemId(_ message: EngineMessage, isRecentActions: Bool, isGlobalSearch: Bool, isDownloadList: Bool, isSavedMusic: Bool) -> (SharedMediaPlaylistId, SharedMediaPlaylistItemId)? {
173+
if isSavedMusic {
174+
return (PeerMessagesMediaPlaylistId.savedMusic(message.id.peerId), PeerMessagesMediaPlaylistItemId(messageId: message.id, messageIndex: message.index))
175+
} else if isGlobalSearch && !isDownloadList {
125176
return (PeerMessagesMediaPlaylistId.custom, PeerMessagesMediaPlaylistItemId(messageId: message.id, messageIndex: message.index))
126177
} else if isRecentActions && !isDownloadList {
127178
return (PeerMessagesMediaPlaylistId.recentActions(message.id.peerId), PeerMessagesMediaPlaylistItemId(messageId: message.id, messageIndex: message.index))

submodules/AsyncDisplayKit/Source/ASDisplayNode+Layout.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ - (void)_assertSubnodeState
911911
NSArray<ASLayout *> *sublayouts = _calculatedDisplayNodeLayout.layout.sublayouts;
912912
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400
913913
#pragma clang diagnostic push
914-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 260000
914+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180500
915915
#pragma clang diagnostic ignored "-Wvla-cxx-extension"
916916
#endif
917917
#endif
@@ -938,7 +938,7 @@ - (void)_assertSubnodeState
938938

939939
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400
940940
#pragma clang diagnostic push
941-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 260000
941+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180500
942942
#pragma clang diagnostic ignored "-Wvla-cxx-extension"
943943
#endif
944944
#endif

submodules/AsyncDisplayKit/Source/ASExperimentalFeatures.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400
3636
#pragma clang diagnostic push
37-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 260000
37+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180500
3838
#pragma clang diagnostic ignored "-Wvla-cxx-extension"
3939
#endif
4040
#endif

0 commit comments

Comments
 (0)