From 5787bbf3d5ce857d030b3e10c794018fe9e94bbe Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 2 Jan 2023 14:16:03 +0100 Subject: [PATCH 1/5] Expose shouldRemoveJetpackFeatures helper to ObjC --- .../Coordinator/JetpackFeaturesRemovalCoordinator.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift b/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift index d3b95bf4c2ae..11d8bc87b40c 100644 --- a/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift +++ b/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift @@ -1,7 +1,7 @@ import Foundation /// A class containing convenience methods for the the Jetpack features removal experience -class JetpackFeaturesRemovalCoordinator { +class JetpackFeaturesRemovalCoordinator: NSObject { /// Enum descibing the current phase of the Jetpack features removal enum GeneralPhase: String { @@ -108,6 +108,7 @@ class JetpackFeaturesRemovalCoordinator { } /// Used to determine if the Jetpack features should be removed based on the removal phase. + @objc static func shouldRemoveJetpackFeatures() -> Bool { switch generalPhase() { case .four, .newUsers: From 6197b2b51dd7fd82844fa61e0408bc4333864081 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 30 Dec 2022 13:50:04 +0100 Subject: [PATCH 2/5] Disable Story posts when Jetpack features are removed --- WordPress/Classes/Models/Blog.h | 1 + WordPress/Classes/Models/Blog.m | 3 ++- .../ViewRelated/Blog/My Site/MySiteViewController+FAB.swift | 6 +----- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/WordPress/Classes/Models/Blog.h b/WordPress/Classes/Models/Blog.h index 78c35062476c..075e13a70bc6 100644 --- a/WordPress/Classes/Models/Blog.h +++ b/WordPress/Classes/Models/Blog.h @@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_BEGIN @class UserSuggestion; @class SiteSuggestion; @class PageTemplateCategory; +@class JetpackFeaturesRemovalCoordinator; extern NSString * const BlogEntityName; extern NSString * const PostFormatStandard; diff --git a/WordPress/Classes/Models/Blog.m b/WordPress/Classes/Models/Blog.m index d6f885f4d70c..17e55c17486b 100644 --- a/WordPress/Classes/Models/Blog.m +++ b/WordPress/Classes/Models/Blog.m @@ -691,7 +691,8 @@ - (BOOL)supportsPluginManagement - (BOOL)supportsStories { BOOL hasRequiredJetpack = [self hasRequiredJetpackVersion:@"9.1"]; - return hasRequiredJetpack || self.isHostedAtWPcom; + // Stories are disabled in iPad until this Kanvas issue is solved: https://github.com/tumblr/kanvas-ios/issues/104 + return (hasRequiredJetpack || self.isHostedAtWPcom) && ![UIDevice isPad] && ![JetpackFeaturesRemovalCoordinator shouldRemoveJetpackFeatures]; } - (BOOL)supportsContactInfo diff --git a/WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController+FAB.swift b/WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController+FAB.swift index 5d6efbbafa33..a2ebc2545405 100644 --- a/WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController+FAB.swift +++ b/WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController+FAB.swift @@ -28,7 +28,7 @@ extension MySiteViewController { var actions: [ActionSheetItem] = [] - if shouldShowNewStory { + if blog?.supports(.stories) ?? false { actions.append(StoryAction(handler: newStory, source: source)) } @@ -38,8 +38,4 @@ extension MySiteViewController { let coordinator = CreateButtonCoordinator(self, actions: actions, source: source, blog: blog) return coordinator } - - private var shouldShowNewStory: Bool { - return (blog?.supports(.stories) ?? false) && !UIDevice.isPad() - } } From afd74187c93e8764ae772efbb6455dc3666ba587 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 3 Jan 2023 10:25:12 +0100 Subject: [PATCH 3/5] Expose `jetpackFeaturesEnabled` helper to ObjC --- .../Coordinator/JetpackFeaturesRemovalCoordinator.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift b/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift index e08cb14fe73a..9d9feaa73a20 100644 --- a/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift +++ b/WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift @@ -1,7 +1,7 @@ import Foundation /// A class containing convenience methods for the the Jetpack features removal experience -class JetpackFeaturesRemovalCoordinator { +class JetpackFeaturesRemovalCoordinator: NSObject { /// Enum descibing the current phase of the Jetpack features removal enum GeneralPhase: String { @@ -108,6 +108,7 @@ class JetpackFeaturesRemovalCoordinator { } /// Used to determine if the Jetpack features are enabled based on the removal phase. + @objc static func jetpackFeaturesEnabled() -> Bool { switch generalPhase() { case .four, .newUsers: From 6336f6260ae944790b94a5be202bb71563ffcd9c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 3 Jan 2023 10:31:41 +0100 Subject: [PATCH 4/5] Replace `shouldRemoveJetpackFeatures` calls with new function --- WordPress/Classes/Models/Blog.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/Classes/Models/Blog.m b/WordPress/Classes/Models/Blog.m index 17e55c17486b..03813e39c42c 100644 --- a/WordPress/Classes/Models/Blog.m +++ b/WordPress/Classes/Models/Blog.m @@ -692,7 +692,7 @@ - (BOOL)supportsStories { BOOL hasRequiredJetpack = [self hasRequiredJetpackVersion:@"9.1"]; // Stories are disabled in iPad until this Kanvas issue is solved: https://github.com/tumblr/kanvas-ios/issues/104 - return (hasRequiredJetpack || self.isHostedAtWPcom) && ![UIDevice isPad] && ![JetpackFeaturesRemovalCoordinator shouldRemoveJetpackFeatures]; + return (hasRequiredJetpack || self.isHostedAtWPcom) && ![UIDevice isPad] && [JetpackFeaturesRemovalCoordinator jetpackFeaturesEnabled]; } - (BOOL)supportsContactInfo From b156b82d045f845bc573fcccb98d5883d2f37a86 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 3 Jan 2023 10:32:04 +0100 Subject: [PATCH 5/5] Update release notes --- RELEASE-NOTES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 517908625788..ceec2d88994d 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,7 +1,7 @@ 21.5 ----- * [***] [internal] A significant refactor to the app’s architecture was made to allow for the new simplified UI. Regression testing on the app’s main flows is needed. [#19817] - +* [**] [internal] Disable Story posts when Jetpack features are removed [#19823] 21.4 -----