From fc3bdb904c4092a517c998eacc5f8323d9d54048 Mon Sep 17 00:00:00 2001 From: Momo Ozawa Date: Mon, 22 Jan 2024 11:16:04 +0000 Subject: [PATCH 01/27] filter and sort tab bar subviews --- .../System/WPTabBarController+Swift.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/System/WPTabBarController+Swift.swift b/WordPress/Classes/ViewRelated/System/WPTabBarController+Swift.swift index 98d2a9e5e4eb..f3617c48ca4b 100644 --- a/WordPress/Classes/ViewRelated/System/WPTabBarController+Swift.swift +++ b/WordPress/Classes/ViewRelated/System/WPTabBarController+Swift.swift @@ -109,12 +109,23 @@ extension WPTabBarController { @objc func animateSelectedItem(_ item: UITabBarItem, for tabBar: UITabBar) { - guard let index = tabBar.items?.firstIndex(of: item), tabBar.subviews.count > index + 1 else { + // Order of subviews may not be guaranteed, so filter and sort them + let tabBarButtons = tabBar.subviews + .filter { $0 is UIControl } + .sorted { $0.frame.minX < $1.frame.minX } + + // The number of buttons should be the same as the number of tab bar items + guard tabBarButtons.count == tabBar.items?.count else { return } - let button = tabBar.subviews[(index + 1)] + // Get the button that corresponds to the selected tab bar item + guard let index = tabBar.items?.firstIndex(of: item), + let button = tabBarButtons[safe: index] else { + return + } + // Get the button's image view guard let imageView = button.subviews.lazy.compactMap({ $0 as? UIImageView }).first else { return } From 6033a88d0768c89afa58d81e603e3c2756a75393 Mon Sep 17 00:00:00 2001 From: Derek Blank Date: Tue, 23 Jan 2024 10:35:09 +1000 Subject: [PATCH 02/27] Update gutenberg-mobile ref to 1.110.1 --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 1d1311433fcf..32be97aea32e 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - tag: v1.110.0 + commit: 801c7c041d3448cf25539577dfecbeb530cb3e8d github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 35f8ccf85a0c..5e5f392cd3b3 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -26,7 +26,7 @@ PODS: - FSInteractiveMap (0.1.0) - Gifu (3.3.1) - Gridicons (1.2.0) - - Gutenberg (1.110.0) + - Gutenberg (1.110.1) - JTAppleCalendar (8.0.5) - Kanvas (1.4.9): - CropViewController @@ -107,7 +107,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.110.0.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-801c7c041d3448cf25539577dfecbeb530cb3e8d.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -176,7 +176,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.110.0.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-801c7c041d3448cf25539577dfecbeb530cb3e8d.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -199,7 +199,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 0e64ef7d9c46ba0a681c82f5969622f3db9bf033 + Gutenberg: 6a74fdd2fb6a9280241bc1e960b552c84b8d99f1 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From b994f8399a12dc8bd58a89479475dd4fe328efed Mon Sep 17 00:00:00 2001 From: Derek Blank Date: Tue, 23 Jan 2024 10:35:51 +1000 Subject: [PATCH 03/27] Update RELEASE-NOTES.txt --- RELEASE-NOTES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index e97ee3c00edc..347757241f3b 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,6 +1,9 @@ 24.1 ----- +24.0.1 +----- +* [**] Fix crash when RichText values are not defined [https://github.com/wordpress-mobile/gutenberg-mobile/pull/6563] 24.0 ----- From 2e325dab60ee1ead208e2f19f78ab92dd19a504c Mon Sep 17 00:00:00 2001 From: Derek Blank Date: Tue, 23 Jan 2024 12:37:13 +1000 Subject: [PATCH 04/27] Update Gutenberg ref to 1.110.1 tag --- Gutenberg/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 32be97aea32e..aca862de9d55 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 801c7c041d3448cf25539577dfecbeb530cb3e8d + tag: v1.110.1 github_org: wordpress-mobile repo_name: gutenberg-mobile From 1b67c0eea339dff8fda85198aac355f79b9d7b1c Mon Sep 17 00:00:00 2001 From: Derek Blank Date: Tue, 23 Jan 2024 12:52:09 +1000 Subject: [PATCH 05/27] Update Podfile.lock --- Podfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index 5e5f392cd3b3..a4a2a91c6183 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -107,7 +107,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-801c7c041d3448cf25539577dfecbeb530cb3e8d.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.110.1.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -176,7 +176,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-801c7c041d3448cf25539577dfecbeb530cb3e8d.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.110.1.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -199,7 +199,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 6a74fdd2fb6a9280241bc1e960b552c84b8d99f1 + Gutenberg: 8447da3bcd1f27d4fc7559ad0c78eebb8521352b JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 51b02626913521008b0b23a6bb8a931136c82b53 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Mon, 22 Jan 2024 22:12:37 -0800 Subject: [PATCH 06/27] Bump version number --- config/Version.internal.xcconfig | 4 ++-- config/Version.public.xcconfig | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/Version.internal.xcconfig b/config/Version.internal.xcconfig index 1ee9c570d67e..4d022141aa6b 100644 --- a/config/Version.internal.xcconfig +++ b/config/Version.internal.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 24.0.0.20240118 -VERSION_SHORT = 24.0 +VERSION_LONG = 24.0.1.20240122 +VERSION_SHORT = 24.0.1 diff --git a/config/Version.public.xcconfig b/config/Version.public.xcconfig index 769ddae0edb0..2227e6118166 100644 --- a/config/Version.public.xcconfig +++ b/config/Version.public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 24.0.0.3 -VERSION_SHORT = 24.0 +VERSION_LONG = 24.0.1.0 +VERSION_SHORT = 24.0.1 From 5e1af7f840a1699cbec7c6e83d67b532525fe181 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 23 Jan 2024 19:11:09 +1100 Subject: [PATCH 07/27] Add raw release notes for WordPress 24.1 --- WordPress/Resources/release_notes.txt | 29 +++++++++++++-------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/WordPress/Resources/release_notes.txt b/WordPress/Resources/release_notes.txt index c977a44b587f..7a9516e1ae8f 100644 --- a/WordPress/Resources/release_notes.txt +++ b/WordPress/Resources/release_notes.txt @@ -1,16 +1,15 @@ -* [*] Block Editor: Fix missing custom color indicator for custom gradients [https://github.com/WordPress/gutenberg/pull/57605] -* [**] Block Editor: Display a notice when a network connection is unavailable [https://github.com/WordPress/gutenberg/pull/56934] -* [**] Block Editor: Image block media uploads display a custom error message when there is no internet connection [https://github.com/wordpress-mobile/WordPress-iOS/pull/22282] -* [**] Image block media uploads display a custom error message when there is no internet connection [https://github.com/wordpress-mobile/WordPress-iOS/pull/22282] -* [**] Improve media previews on long-press: load higher-resolution thumbnails and increase the preview size, add support for GIFs and video playback, enable for documents and other files [#22274] -* [*] Add prefetching to Site Media details screen [#22292] -* [*] Allow trashing draft and scheduled posts with no confirmation [#22337] -* [*] Add "Share" action to the site context menu [#22298] -* [*] Update the post "Publish" context action for Contributors to "Submit for Review" instead of "Publish" [#22358] -* [**] Add a pre-publishing sheet to the "Publish" flow invoked from the post context menu as a replacement for a simple confirmation sheet [#22358] -* [**] Block Editor: Media uploads that failed due to lack of internet connectivity automatically retry once a connection is re-established [https://github.com/wordpress-mobile/WordPress-iOS/pull/22238] -* [**] Block Editor: Manually retrying a single failed media upload will retry all failed media uploads in a post [https://github.com/wordpress-mobile/WordPress-iOS/pull/22240] -* [*] [internal] Drop iOS 14 Support: Remove deprecated UIDocumentPickerViewController API [#22286] -* [***] [internal] Refactor WP.com sign in API requests [#22421] -* [*] Add In-App Feedback Prompt. [#22050] +You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty. +When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color. + +Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along. + +Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) + +As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. + +We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm. + +There’s now a “Share” action in the site context menu so you can share your site with others. + +Finally, because we live for the applause, we improved the in-app rating prompt. You’ll be asked to leave a review if you’re happy with the app, or given a feedback form if you feel the app needs work. Feedback is how we get better, so feel free to share yours! From 401990b5ebf4b1e2013469f762d612739c004d57 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 23 Jan 2024 19:11:48 +1100 Subject: [PATCH 08/27] Add raw release notes for Jetpack 24.1 --- WordPress/Jetpack/Resources/release_notes.txt | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/WordPress/Jetpack/Resources/release_notes.txt b/WordPress/Jetpack/Resources/release_notes.txt index c977a44b587f..7a9516e1ae8f 100644 --- a/WordPress/Jetpack/Resources/release_notes.txt +++ b/WordPress/Jetpack/Resources/release_notes.txt @@ -1,16 +1,15 @@ -* [*] Block Editor: Fix missing custom color indicator for custom gradients [https://github.com/WordPress/gutenberg/pull/57605] -* [**] Block Editor: Display a notice when a network connection is unavailable [https://github.com/WordPress/gutenberg/pull/56934] -* [**] Block Editor: Image block media uploads display a custom error message when there is no internet connection [https://github.com/wordpress-mobile/WordPress-iOS/pull/22282] -* [**] Image block media uploads display a custom error message when there is no internet connection [https://github.com/wordpress-mobile/WordPress-iOS/pull/22282] -* [**] Improve media previews on long-press: load higher-resolution thumbnails and increase the preview size, add support for GIFs and video playback, enable for documents and other files [#22274] -* [*] Add prefetching to Site Media details screen [#22292] -* [*] Allow trashing draft and scheduled posts with no confirmation [#22337] -* [*] Add "Share" action to the site context menu [#22298] -* [*] Update the post "Publish" context action for Contributors to "Submit for Review" instead of "Publish" [#22358] -* [**] Add a pre-publishing sheet to the "Publish" flow invoked from the post context menu as a replacement for a simple confirmation sheet [#22358] -* [**] Block Editor: Media uploads that failed due to lack of internet connectivity automatically retry once a connection is re-established [https://github.com/wordpress-mobile/WordPress-iOS/pull/22238] -* [**] Block Editor: Manually retrying a single failed media upload will retry all failed media uploads in a post [https://github.com/wordpress-mobile/WordPress-iOS/pull/22240] -* [*] [internal] Drop iOS 14 Support: Remove deprecated UIDocumentPickerViewController API [#22286] -* [***] [internal] Refactor WP.com sign in API requests [#22421] -* [*] Add In-App Feedback Prompt. [#22050] +You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty. +When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color. + +Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along. + +Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) + +As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. + +We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm. + +There’s now a “Share” action in the site context menu so you can share your site with others. + +Finally, because we live for the applause, we improved the in-app rating prompt. You’ll be asked to leave a review if you’re happy with the app, or given a feedback form if you feel the app needs work. Feedback is how we get better, so feel free to share yours! From 200ca3967b9de01630e4cbd70ae80c1699fd1d83 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 23 Jan 2024 08:15:35 +0000 Subject: [PATCH 09/27] Update metadata strings --- WordPress/Resources/AppStoreStrings.po | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/WordPress/Resources/AppStoreStrings.po b/WordPress/Resources/AppStoreStrings.po index 1a7a59f29536..7a9f06722679 100644 --- a/WordPress/Resources/AppStoreStrings.po +++ b/WordPress/Resources/AppStoreStrings.po @@ -45,13 +45,23 @@ msgctxt "app_store_keywords" msgid "blogger,writing,blogging,web,maker,online,store,business,make,create,write,blogs" msgstr "" -msgctxt "v24.0-whats-new" +msgctxt "v24.1-whats-new" msgid "" -"When you’re editing text blocks in the editor, your device’s keyboard will no longer disappear mid-edit. The editor will also scroll directly to a new block when you add it. Write away, friend.\n" +"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty.\n" "\n" -"Miss logging in with your security keys? Not anymore—we’ve re-enabled security keys for two-factor authentication during login. The only one getting into your account is you.\n" +"When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color.\n" "\n" -"Finally, we tackled several rare (and not-so-rare) problems that were causing app crashes. These issues were mostly related to editing tags and categories, using duplicate tags, deleting posts, and editing deleted posts. All in a day’s work.\n" +"Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along.\n" +"\n" +"Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" +"\n" +"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" +"\n" +"We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm.\n" +"\n" +"There’s now a “Share” action in the site context menu so you can share your site with others.\n" +"\n" +"Finally, because we live for the applause, we improved the in-app rating prompt. You’ll be asked to leave a review if you’re happy with the app, or given a feedback form if you feel the app needs work. Feedback is how we get better, so feel free to share yours!\n" msgstr "" #. translators: This is a standard chunk of text used to tell a user what's new with a release when nothing major has changed. From 1349fba2363ab936342d46e0e87241652e5dad9d Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 23 Jan 2024 08:15:35 +0000 Subject: [PATCH 10/27] Update metadata strings --- WordPress/Jetpack/Resources/AppStoreStrings.po | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/WordPress/Jetpack/Resources/AppStoreStrings.po b/WordPress/Jetpack/Resources/AppStoreStrings.po index b9a6a1c0ec64..8ef7e75eb89f 100644 --- a/WordPress/Jetpack/Resources/AppStoreStrings.po +++ b/WordPress/Jetpack/Resources/AppStoreStrings.po @@ -81,17 +81,23 @@ msgctxt "app_store_keywords" msgid "social,notes,jetpack,writing,geotagging,media,blog,website,blogging,journal" msgstr "" -msgctxt "v24.0-whats-new" +msgctxt "v24.1-whats-new" msgid "" -"You can now get a WordPress plan with a free domain in the domain dashboard. We also made some improvements to the Site Domains screen so it’s even easier to manage your domains.\n" +"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty.\n" "\n" -"When you’re editing text blocks in the editor, your device’s keyboard will no longer disappear mid-edit. The editor will also scroll directly to a new block when you add it. Write away, friend.\n" +"When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color.\n" "\n" -"Miss logging in with your security keys? Not anymore—we’ve re-enabled security keys for two-factor authentication during login. The only one getting into your account is you.\n" +"Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along.\n" "\n" -"We updated the colors of the login screen to match both WordPress and Jetpack. After all, teamwork makes the dream work.\n" +"Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" "\n" -"Finally, we made assorted code fixes and tackled several rare (and not-so-rare) problems that were causing app crashes. These issues were mostly related to editing tags and categories, using duplicate tags, deleting posts, and editing deleted posts. All in a day’s work.\n" +"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" +"\n" +"We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm.\n" +"\n" +"There’s now a “Share” action in the site context menu so you can share your site with others.\n" +"\n" +"Finally, because we live for the applause, we improved the in-app rating prompt. You’ll be asked to leave a review if you’re happy with the app, or given a feedback form if you feel the app needs work. Feedback is how we get better, so feel free to share yours!\n" msgstr "" #. translators: This is a promo message that will be attached on top of the first screenshot in the App Store. From 3242461680b6ff14c1846d1ce91e010659e1e61d Mon Sep 17 00:00:00 2001 From: Siobhan Date: Tue, 23 Jan 2024 12:59:00 +0000 Subject: [PATCH 11/27] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 012178e20ac5..e41ca03ad3b9 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - tag: v1.111.0 + commit: d8b0a62dd0089397ccc64345b469ddc64813de59 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index df5509caf529..3ac15eb8a220 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -26,7 +26,7 @@ PODS: - FSInteractiveMap (0.1.0) - Gifu (3.3.1) - Gridicons (1.2.0) - - Gutenberg (1.111.0) + - Gutenberg (1.111.1) - JTAppleCalendar (8.0.5) - Kanvas (1.4.9): - CropViewController @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.0.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-d8b0a62dd0089397ccc64345b469ddc64813de59.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.0.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-d8b0a62dd0089397ccc64345b469ddc64813de59.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -194,7 +194,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: c222e0a909a508ecb1cc130278c17c0193cb64fc + Gutenberg: fc3d09cbd97f7a2001a28131695df02ecfacd82a JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 5b1c7aaf52a263ce5cf3f929b03fec16748ef02c Mon Sep 17 00:00:00 2001 From: Siobhan Date: Tue, 23 Jan 2024 16:32:48 +0000 Subject: [PATCH 12/27] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index e41ca03ad3b9..7109716a0fe9 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: d8b0a62dd0089397ccc64345b469ddc64813de59 + tag: v1.111.1 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 3ac15eb8a220..21981db4cfaf 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-d8b0a62dd0089397ccc64345b469ddc64813de59.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.1.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-d8b0a62dd0089397ccc64345b469ddc64813de59.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.1.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -194,7 +194,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: fc3d09cbd97f7a2001a28131695df02ecfacd82a + Gutenberg: 7804b67585e78d11beef84613175b4e73c682db7 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From e1f2db51a72644c6964eb65d2820104bb84b8bdd Mon Sep 17 00:00:00 2001 From: kean Date: Tue, 23 Jan 2024 15:45:50 -0500 Subject: [PATCH 13/27] Revert the Site Header action sheet change --- .../Detail Header/BlogDetailHeaderView.swift | 16 ++++++++-------- .../SitePickerViewController+SiteActions.swift | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift b/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift index b9526c62c861..71dbed6a6df9 100644 --- a/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift +++ b/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift @@ -119,9 +119,9 @@ class BlogDetailHeaderView: UIView { assert(delegate != nil) if let siteActionsMenu = delegate?.makeSiteActionsMenu() { - titleView.siteActionButton.showsMenuAsPrimaryAction = true - titleView.siteActionButton.menu = siteActionsMenu - titleView.siteActionButton.addAction(UIAction { _ in + titleView.siteSwitcherButton.menu = siteActionsMenu + titleView.siteSwitcherButton.addTarget(self, action: #selector(siteSwitcherTapped), for: .touchUpInside) + titleView.siteSwitcherButton.addAction(UIAction { _ in WPAnalytics.trackEvent(.mySiteHeaderMoreTapped) }, for: .menuActionTriggered) } @@ -214,7 +214,7 @@ extension BlogDetailHeaderView { let stackView = UIStackView(arrangedSubviews: [ siteIconView, titleStackView, - siteActionButton + siteSwitcherButton ]) stackView.alignment = .center @@ -280,9 +280,9 @@ extension BlogDetailHeaderView { return button }() - let siteActionButton: UIButton = { + let siteSwitcherButton: UIButton = { let button = UIButton(frame: .zero) - let image = UIImage(named: "more-horizontal-mobile")?.withRenderingMode(.alwaysTemplate) + let image = UIImage(named: "chevron-down-slim")?.withRenderingMode(.alwaysTemplate) button.setImage(image, for: .normal) button.contentMode = .center @@ -359,8 +359,8 @@ extension BlogDetailHeaderView { private func setupConstraintsForSiteSwitcher() { NSLayoutConstraint.activate([ - siteActionButton.heightAnchor.constraint(equalToConstant: Dimensions.siteSwitcherHeight), - siteActionButton.widthAnchor.constraint(equalToConstant: Dimensions.siteSwitcherWidth) + siteSwitcherButton.heightAnchor.constraint(equalToConstant: Dimensions.siteSwitcherHeight), + siteSwitcherButton.widthAnchor.constraint(equalToConstant: Dimensions.siteSwitcherWidth) ]) } } diff --git a/WordPress/Classes/ViewRelated/Blog/Site Picker/SitePickerViewController+SiteActions.swift b/WordPress/Classes/ViewRelated/Blog/Site Picker/SitePickerViewController+SiteActions.swift index 26a3afaf38f0..b40c0dee66f5 100644 --- a/WordPress/Classes/ViewRelated/Blog/Site Picker/SitePickerViewController+SiteActions.swift +++ b/WordPress/Classes/ViewRelated/Blog/Site Picker/SitePickerViewController+SiteActions.swift @@ -65,7 +65,7 @@ extension SitePickerViewController { } let viewController = UIActivityViewController(activityItems: [url], applicationActivities: nil) if let popover = viewController.popoverPresentationController { - popover.sourceView = blogDetailHeaderView.titleView.siteActionButton + popover.sourceView = blogDetailHeaderView.titleView.siteSwitcherButton } present(viewController, animated: true, completion: nil) WPAnalytics.trackEvent(.mySiteHeaderShareSiteTapped) @@ -83,7 +83,7 @@ extension SitePickerViewController { return } - showAddSiteActionSheet(from: blogDetailHeaderView.titleView.siteActionButton, + showAddSiteActionSheet(from: blogDetailHeaderView.titleView.siteSwitcherButton, canCreateWPComSite: canCreateWPComSite, canAddSelfHostedSite: canAddSelfHostedSite) From 00844f09f82b0d14abe36bccec02df43a40bd068 Mon Sep 17 00:00:00 2001 From: Hassaan El-Garem Date: Wed, 24 Jan 2024 02:11:53 +0200 Subject: [PATCH 14/27] Update: disable stories for all blogs --- WordPress/Classes/Models/Blog.m | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/WordPress/Classes/Models/Blog.m b/WordPress/Classes/Models/Blog.m index 8c50399741ef..8aec062683a5 100644 --- a/WordPress/Classes/Models/Blog.m +++ b/WordPress/Classes/Models/Blog.m @@ -705,9 +705,7 @@ - (BOOL)supportsPluginManagement - (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 jetpackFeaturesEnabled]; + return NO; } - (BOOL)supportsContactInfo From f7d86e406ea45aab9430ee48abece9126120329b Mon Sep 17 00:00:00 2001 From: Hassaan El-Garem Date: Wed, 24 Jan 2024 02:24:46 +0200 Subject: [PATCH 15/27] Add: release note for disabling stories --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 69aa345d5390..cbf98dc2ed00 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -19,6 +19,7 @@ * [*] [internal] Drop iOS 14 Support: Remove deprecated UIDocumentPickerViewController API [#22286] * [***] [internal] Refactor WP.com sign in API requests [#22421] * [*] Add In-App Feedback Prompt. [#22050] +* [**] Disabled the ability of creating new Story posts. [#22453] 24.0 ----- From efe43e1dd5184d0b7da72794ff913fb815ed37b2 Mon Sep 17 00:00:00 2001 From: Momo Ozawa Date: Wed, 24 Jan 2024 10:32:34 +0000 Subject: [PATCH 16/27] fix ui test This reverts commit 267355a3f28f9823fd7aa231f5ef10776461b94a. --- .../Detail Header/BlogDetailHeaderView.swift | 4 ++-- .../UITestsFoundation/Screens/MySiteScreen.swift | 11 +++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift b/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift index 71dbed6a6df9..b0a4deb116a5 100644 --- a/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift +++ b/WordPress/Classes/ViewRelated/Blog/Blog Details/Detail Header/BlogDetailHeaderView.swift @@ -290,7 +290,7 @@ extension BlogDetailHeaderView { button.tintColor = .secondaryLabel button.accessibilityLabel = NSLocalizedString("mySite.siteActions.button", value: "Site Actions", comment: "Button that reveals more site actions") button.accessibilityHint = NSLocalizedString("mySite.siteActions.hint", value: "Tap to show more site actions", comment: "Accessibility hint for button used to show more site actions") - button.accessibilityIdentifier = .siteActionAccessibilityId + button.accessibilityIdentifier = .switchSiteAccessibilityId return button }() @@ -370,7 +370,7 @@ private extension String { // MARK: Accessibility Identifiers static let siteTitleAccessibilityId = "site-title-button" static let siteUrlAccessibilityId = "site-url-button" - static let siteActionAccessibilityId = "site-action-button" + static let switchSiteAccessibilityId = "switch-site-button" } private enum Strings { diff --git a/WordPress/UITestsFoundation/Screens/MySiteScreen.swift b/WordPress/UITestsFoundation/Screens/MySiteScreen.swift index f64833667779..218f66297904 100644 --- a/WordPress/UITestsFoundation/Screens/MySiteScreen.swift +++ b/WordPress/UITestsFoundation/Screens/MySiteScreen.swift @@ -96,13 +96,10 @@ public class MySiteScreen: ScreenObject { $0.buttons["site-url-button"] } - private let siteActionButtonGetter: (XCUIApplication) -> XCUIElement = { - $0.buttons["site-action-button"] - } - private let switchSiteButtonGetter: (XCUIApplication) -> XCUIElement = { - $0.buttons["Switch site"] + $0.buttons["switch-site-button"] } + var activityLogCard: XCUIElement { activityLogCardGetter(app) } var activityLogCardHeaderButton: XCUIElement { activityLogCardHeaderButtonGetter(app) } var blogDetailsRemoveSiteButton: XCUIElement { blogDetailsRemoveSiteButtonGetter(app) } @@ -124,7 +121,6 @@ public class MySiteScreen: ScreenObject { var segmentedControlMenuButton: XCUIElement { segmentedControlMenuButtonGetter(app) } var siteTitleButton: XCUIElement { siteTitleButtonGetter(app) } var siteUrlButton: XCUIElement { siteUrlButtonGetter(app) } - var siteActionButton: XCUIElement { siteActionButtonGetter(app) } var switchSiteButton: XCUIElement { switchSiteButtonGetter(app) } // Timeout duration to overwrite value defined in XCUITestHelpers @@ -133,7 +129,7 @@ public class MySiteScreen: ScreenObject { public init(app: XCUIApplication = XCUIApplication()) throws { try super.init( expectedElementGetters: [ - siteActionButtonGetter, + switchSiteButtonGetter, createButtonGetter ], app: app @@ -141,7 +137,6 @@ public class MySiteScreen: ScreenObject { } public func showSiteSwitcher() throws -> MySitesScreen { - siteActionButton.tap() switchSiteButton.tap() return try MySitesScreen() } From 043df6ac0bc31d7db773bfd7a34d157b7d9a154a Mon Sep 17 00:00:00 2001 From: Siobhan Date: Thu, 25 Jan 2024 15:57:27 +0000 Subject: [PATCH 17/27] feat: Remove optimisation pop-up for upload With this commit, we remove the main "advertiseImageOptimization" function and all code that calls it. --- WordPress/Classes/Services/MediaHelper.swift | 32 ------------------ .../Classes/Services/MediaSettings.swift | 19 ----------- .../Utility/Analytics/WPAnalyticsEvent.swift | 3 -- .../GutenbergMediaPickerHelper.swift | 19 +++-------- .../SiteMediaAddMediaMenuController.swift | 12 +++---- ...gsViewController+FeaturedImageUpload.swift | 8 ++--- .../Screens/Editor/BlockEditorScreen.swift | 33 ------------------- .../WordPressTest/MediaSettingsTests.swift | 13 -------- 8 files changed, 10 insertions(+), 129 deletions(-) diff --git a/WordPress/Classes/Services/MediaHelper.swift b/WordPress/Classes/Services/MediaHelper.swift index 7c582c6005ba..4beb471de0c3 100644 --- a/WordPress/Classes/Services/MediaHelper.swift +++ b/WordPress/Classes/Services/MediaHelper.swift @@ -67,38 +67,6 @@ class MediaHelper: NSObject { } } - - static func advertiseImageOptimization(completion: @escaping (() -> Void)) { - guard MediaSettings().advertiseImageOptimization else { - completion() - return - } - - let title = NSLocalizedString("appSettings.optimizeImagesPopup.title", value: "Keep optimizing images?", - comment: "Title of an alert informing users to enable image optimization in uploads.") - let message = NSLocalizedString("appSettings.optimizeImagesPopup.message", value: "Image optimization shrinks images for faster uploading.\n\nThis option is enabled by default, but you can change it in the app settings at any time.", - comment: "Message of an alert informing users to enable image optimization in uploads.") - let turnOffTitle = NSLocalizedString("appSettings.optimizeImagesPopup.turnOff", value: "No, turn off", comment: "Title of button for turning off image optimization, displayed in the alert informing users to enable image optimization in uploads.") - let leaveOnTitle = NSLocalizedString("appSettings.optimizeImagesPopup.turnOn", value: "Yes, leave on", comment: "Title of button for leaving on image optimization, displayed in the alert informing users to enable image optimization in uploads.") - - let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) - let turnOffAction = UIAlertAction(title: turnOffTitle, style: .default) { _ in - MediaSettings().imageOptimizationEnabled = false - WPAnalytics.track(.appSettingsOptimizeImagesPopupTapped, properties: ["option": "off"]) - completion() - } - let leaveOnAction = UIAlertAction(title: leaveOnTitle, style: .default) { _ in - MediaSettings().imageOptimizationEnabled = true - WPAnalytics.track(.appSettingsOptimizeImagesPopupTapped, properties: ["option": "on"]) - completion() - } - alert.addAction(turnOffAction) - alert.addAction(leaveOnAction) - alert.preferredAction = leaveOnAction - alert.presentFromRootViewController() - - MediaSettings().advertiseImageOptimization = false - } } extension Media { diff --git a/WordPress/Classes/Services/MediaSettings.swift b/WordPress/Classes/Services/MediaSettings.swift index 8b01674c3d3b..181c57fd342c 100644 --- a/WordPress/Classes/Services/MediaSettings.swift +++ b/WordPress/Classes/Services/MediaSettings.swift @@ -8,7 +8,6 @@ class MediaSettings: NSObject { fileprivate let imageQualityKey = "SavedImageQualitySetting" fileprivate let removeLocationKey = "SavedRemoveLocationSetting" fileprivate let maxVideoSizeKey = "SavedMaxVideoSizeSetting" - fileprivate let advertiseImageOptimizationKey = "SavedAdvertiseImageOptimization" fileprivate let defaultImageOptimization = true fileprivate let defaultMaxImageDimension = 2000 @@ -209,11 +208,6 @@ class MediaSettings: NSObject { } set { database.set(newValue, forKey: imageOptimizationKey) - - // If the user changes this setting manually, we disable the image optimization popup. - if advertiseImageOptimization { - advertiseImageOptimization = false - } } } @@ -229,17 +223,4 @@ class MediaSettings: NSObject { database.set(newValue.rawValue, forKey: imageQualityKey) } } - - var advertiseImageOptimization: Bool { - get { - if let savedAdvertiseImageOptimization = database.object(forKey: advertiseImageOptimizationKey) as? Bool { - return savedAdvertiseImageOptimization - } else { - return true - } - } - set { - database.set(newValue, forKey: advertiseImageOptimizationKey) - } - } } diff --git a/WordPress/Classes/Utility/Analytics/WPAnalyticsEvent.swift b/WordPress/Classes/Utility/Analytics/WPAnalyticsEvent.swift index 23b4b5b5d5bd..367ccb2cb526 100644 --- a/WordPress/Classes/Utility/Analytics/WPAnalyticsEvent.swift +++ b/WordPress/Classes/Utility/Analytics/WPAnalyticsEvent.swift @@ -320,7 +320,6 @@ import Foundation case appSettingsClearSpotlightIndexTapped case appSettingsClearSiriSuggestionsTapped case appSettingsOpenDeviceSettingsTapped - case appSettingsOptimizeImagesPopupTapped // Notifications case notificationsPreviousTapped @@ -1111,8 +1110,6 @@ import Foundation return "app_settings_max_image_size_changed" case .appSettingsImageQualityChanged: return "app_settings_image_quality_changed" - case .appSettingsOptimizeImagesPopupTapped: - return "app_settings_optimize_images_popup_tapped" // Account Close case .accountCloseTapped: diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergMediaPickerHelper.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergMediaPickerHelper.swift index dea27f2a5e9b..f3622b3563d6 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergMediaPickerHelper.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergMediaPickerHelper.swift @@ -62,10 +62,8 @@ extension GutenbergMediaPickerHelper: ImagePickerControllerDelegate { switch mediaType { case UTType.image.identifier: if let image = info[.originalImage] as? UIImage { - MediaHelper.advertiseImageOptimization() { [self] in - self.didPickMediaCallback?([image]) - self.didPickMediaCallback = nil - } + self.didPickMediaCallback?([image]) + self.didPickMediaCallback = nil } case UTType.movie.identifier: @@ -103,16 +101,7 @@ extension GutenbergMediaPickerHelper: PHPickerViewControllerDelegate { return } - let mediaFilter = picker.configuration.filter - if mediaFilter == PHPickerFilter(.all) || mediaFilter == PHPickerFilter(.image) { - MediaHelper.advertiseImageOptimization() { [self] in - didPickMediaCallback?(results.map(\.itemProvider)) - didPickMediaCallback = nil - } - } - else { - didPickMediaCallback?(results.map(\.itemProvider)) - didPickMediaCallback = nil - } + didPickMediaCallback?(results.map(\.itemProvider)) + didPickMediaCallback = nil } } diff --git a/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift b/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift index e4f5bc35f905..e4922d813d96 100644 --- a/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift +++ b/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift @@ -48,11 +48,9 @@ final class SiteMediaAddMediaMenuController: NSObject, PHPickerViewControllerDel return } - MediaHelper.advertiseImageOptimization() { [self] in - for result in results { - let info = MediaAnalyticsInfo(origin: .mediaLibrary(.deviceLibrary), selectionMethod: .fullScreenPicker) - coordinator.addMedia(from: result.itemProvider, to: blog, analyticsInfo: info) - } + for result in results { + let info = MediaAnalyticsInfo(origin: .mediaLibrary(.deviceLibrary), selectionMethod: .fullScreenPicker) + coordinator.addMedia(from: result.itemProvider, to: blog, analyticsInfo: info) } } @@ -71,9 +69,7 @@ final class SiteMediaAddMediaMenuController: NSObject, PHPickerViewControllerDel switch mediaType { case UTType.image.identifier: if let image = info[.originalImage] as? UIImage { - MediaHelper.advertiseImageOptimization() { - addAsset(from: image) - } + addAsset(from: image) } case UTType.movie.identifier: if let videoURL = info[.mediaURL] as? URL { diff --git a/WordPress/Classes/ViewRelated/Post/PostSettingsViewController+FeaturedImageUpload.swift b/WordPress/Classes/ViewRelated/Post/PostSettingsViewController+FeaturedImageUpload.swift index 2e993068bcff..984cbcb311d3 100644 --- a/WordPress/Classes/ViewRelated/Post/PostSettingsViewController+FeaturedImageUpload.swift +++ b/WordPress/Classes/ViewRelated/Post/PostSettingsViewController+FeaturedImageUpload.swift @@ -40,9 +40,7 @@ extension PostSettingsViewController: PHPickerViewControllerDelegate, ImagePicke public func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { self.dismiss(animated: true) { if let result = results.first { - MediaHelper.advertiseImageOptimization() { [self] in - self.setFeaturedImage(with: result.itemProvider) - } + self.setFeaturedImage(with: result.itemProvider) } } } @@ -50,9 +48,7 @@ extension PostSettingsViewController: PHPickerViewControllerDelegate, ImagePicke func imagePicker(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) { self.dismiss(animated: true) { if let image = info[.originalImage] as? UIImage { - MediaHelper.advertiseImageOptimization() { [self] in - self.setFeaturedImage(with: image) - } + self.setFeaturedImage(with: image) } } } diff --git a/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift b/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift index 4def7eedb799..538bab40667b 100644 --- a/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift +++ b/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift @@ -96,14 +96,6 @@ public class BlockEditorScreen: ScreenObject { $0.staticTexts["You have unsaved changes."] } - private let leaveOnImageOptimizationButtonGetter: (XCUIApplication) -> XCUIElement = { - $0.buttons["Yes, leave on"] - } - - private let turnOffImageOptimizationButtonGetter: (XCUIApplication) -> XCUIElement = { - $0.buttons["No, turn off"] - } - var addBlockButton: XCUIElement { addBlockButtonGetter(app) } var chooseFromDeviceButton: XCUIElement { chooseFromDeviceButtonGetter(app) } var closeButton: XCUIElement { closeButtonGetter(app) } @@ -127,8 +119,6 @@ public class BlockEditorScreen: ScreenObject { var switchToHTMLModeButton: XCUIElement { switchToHTMLModeButtonGetter(app) } var undoButton: XCUIElement { undoButtonGetter(app) } var unsavedChangesLabel: XCUIElement { unsavedChangesLabelGetter(app) } - var leaveOnImageOptimizationButton: XCUIElement { leaveOnImageOptimizationButtonGetter(app) } - var turnOffImageOptimizationButton: XCUIElement { turnOffImageOptimizationButtonGetter(app) } public init(app: XCUIApplication = XCUIApplication()) throws { // The block editor has _many_ elements but most are loaded on-demand. To verify the screen @@ -197,32 +187,10 @@ public class BlockEditorScreen: ScreenObject { public func addImageGallery() throws -> BlockEditorScreen { addBlock("Gallery block") try addMultipleImages(numberOfImages: 3) - try dismissImageOptimizationPopupIfNeeded() - - return self - } - - /** - Chooses the option of Optimize Images popup. - */ - @discardableResult - public func chooseOptimizeImages(option: Bool) throws -> BlockEditorScreen { - if option { - leaveOnImageOptimizationButton.tap() - } - else { - turnOffImageOptimizationButton.tap() - } return self } - public func dismissImageOptimizationPopupIfNeeded() throws { - if leaveOnImageOptimizationButton.waitForIsHittable() { - try chooseOptimizeImages(option: true) - } - } - public func addVideoFromUrl(urlPath: String) -> Self { addMediaBlockFromUrl( blockType: "Video block", @@ -462,7 +430,6 @@ public class BlockEditorScreen: ScreenObject { private func addMultipleImages(numberOfImages: Int) throws { try chooseFromDevice() .selectMultipleImages(numberOfImages) - try dismissImageOptimizationPopupIfNeeded() } private func chooseFromDevice() throws -> PHPickerScreen { diff --git a/WordPress/WordPressTest/MediaSettingsTests.swift b/WordPress/WordPressTest/MediaSettingsTests.swift index b2e38489bd25..d1063bac0380 100644 --- a/WordPress/WordPressTest/MediaSettingsTests.swift +++ b/WordPress/WordPressTest/MediaSettingsTests.swift @@ -23,12 +23,6 @@ class MediaSettingsTests: XCTestCase { expect(imageQuality).to(equal(.medium)) } - func testDefaultAdvertiseImageOptimization() { - let settings = MediaSettings(database: EphemeralKeyValueDatabase()) - let advertiseImageOptimization = settings.advertiseImageOptimization - expect(advertiseImageOptimization).to(beTrue()) - } - // MARK: - Max Image Size values func testMaxImageSizeMigratesCGSizeToInt() { let dimension = Int(1200) @@ -74,11 +68,4 @@ class MediaSettingsTests: XCTestCase { settings.imageOptimizationEnabled = false expect(settings.imageQualityForUpload).to(equal(.high)) } - - func testAdvertiseImageOptimizationValueBasedOnOptimization() { - let settings = MediaSettings(database: EphemeralKeyValueDatabase()) - expect(settings.advertiseImageOptimization).to(beTrue()) - settings.imageOptimizationEnabled = false - expect(settings.advertiseImageOptimization).to(beFalse()) - } } From 563ec2f4bcf15aca63c7d721de56e3eb1cbd55da Mon Sep 17 00:00:00 2001 From: Siobhan Date: Thu, 25 Jan 2024 16:18:52 +0000 Subject: [PATCH 18/27] refactor: Remove redundant tests --- .../UITests/Tests/AppSettingsTests.swift | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/WordPress/UITests/Tests/AppSettingsTests.swift b/WordPress/UITests/Tests/AppSettingsTests.swift index 2589f0477553..0cd1726b9dd3 100644 --- a/WordPress/UITests/Tests/AppSettingsTests.swift +++ b/WordPress/UITests/Tests/AppSettingsTests.swift @@ -3,20 +3,10 @@ import XCTest final class AppSettingsTests: XCTestCase { - let testsRequiringAppDeletion = [ - "testImageOptimizationEnabledByDefault", - "testImageOptimizationIsTurnedOnEditor", - "testImageOptimizationIsTurnedOffEditor" - ] - @MainActor override func setUpWithError() throws { try super.setUpWithError() - - let removeBeforeLaunching = testsRequiringAppDeletion.contains { testName in - self.name.contains(testName) - } - setUpTestSuite(removeBeforeLaunching: removeBeforeLaunching) + setUpTestSuite() try LoginFlow .login(email: WPUITestCredentials.testWPcomUserEmail) @@ -33,28 +23,4 @@ final class AppSettingsTests: XCTestCase { .goToAppSettings() .verifyImageOptimizationSwitch(enabled: true) } - - func testImageOptimizationIsTurnedOnEditor() throws { - try TabNavComponent() - .goToBlockEditorScreen() - .addImage() - .chooseOptimizeImages(option: true) - .closeEditor() - try TabNavComponent() - .goToMeScreen() - .goToAppSettings() - .verifyImageOptimizationSwitch(enabled: true) - } - - func testImageOptimizationIsTurnedOffEditor() throws { - try TabNavComponent() - .goToBlockEditorScreen() - .addImage() - .chooseOptimizeImages(option: false) - .closeEditor() - try TabNavComponent() - .goToMeScreen() - .goToAppSettings() - .verifyImageOptimizationSwitch(enabled: false) - } } From a23a4c3503a6557787f74450911fd5f896362b89 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 23 Jan 2024 13:45:52 +0100 Subject: [PATCH 19/27] Disable Story block --- .../Classes/ViewRelated/Gutenberg/GutenbergViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 6f3854294701..336761cbf53b 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1252,7 +1252,7 @@ extension GutenbergViewController: GutenbergBridgeDataSource { .unsupportedBlockEditor: isUnsupportedBlockEditorEnabled, .canEnableUnsupportedBlockEditor: post.blog.jetpack?.isConnected ?? false, .isAudioBlockMediaUploadEnabled: !isFreeWPCom, - .mediaFilesCollectionBlock: post.blog.supports(.stories) && !UIDevice.isPad(), + .mediaFilesCollectionBlock: false, // Only enable reusable block in WP.com sites until the issue // (https://github.com/wordpress-mobile/gutenberg-mobile/issues/3457) in self-hosted sites is fixed .reusableBlock: isWPComSite, From 36edfafce904ff70522f28283eff9a76f92a46c6 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 23 Jan 2024 19:13:46 +0100 Subject: [PATCH 20/27] Remove initial prop to control Story block --- .../Classes/ViewRelated/Gutenberg/GutenbergViewController.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 336761cbf53b..6b6192b66b43 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1230,7 +1230,6 @@ extension GutenbergViewController: GutenbergBridgeDataSource { .unsupportedBlockEditor: false, .canEnableUnsupportedBlockEditor: false, .isAudioBlockMediaUploadEnabled: !isFreeWPCom, - .mediaFilesCollectionBlock: false, .reusableBlock: false, .shouldUseFastImage: !post.blog.isPrivate(), .facebookEmbed: false, @@ -1252,7 +1251,6 @@ extension GutenbergViewController: GutenbergBridgeDataSource { .unsupportedBlockEditor: isUnsupportedBlockEditorEnabled, .canEnableUnsupportedBlockEditor: post.blog.jetpack?.isConnected ?? false, .isAudioBlockMediaUploadEnabled: !isFreeWPCom, - .mediaFilesCollectionBlock: false, // Only enable reusable block in WP.com sites until the issue // (https://github.com/wordpress-mobile/gutenberg-mobile/issues/3457) in self-hosted sites is fixed .reusableBlock: isWPComSite, From 1fc41dabe781083a07877c92d3bcec820e31bf6c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 26 Jan 2024 16:10:57 +0100 Subject: [PATCH 21/27] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 7109716a0fe9..6d947f0ca9cb 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - tag: v1.111.1 + commit: 9fe963032e189dc6bb8dbbb4b9238d34759c0ed8 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 21981db4cfaf..2a76cb738eed 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -26,7 +26,7 @@ PODS: - FSInteractiveMap (0.1.0) - Gifu (3.3.1) - Gridicons (1.2.0) - - Gutenberg (1.111.1) + - Gutenberg (1.111.2) - JTAppleCalendar (8.0.5) - Kanvas (1.4.9): - CropViewController @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.1.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-9fe963032e189dc6bb8dbbb4b9238d34759c0ed8.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.1.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-9fe963032e189dc6bb8dbbb4b9238d34759c0ed8.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -194,7 +194,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 7804b67585e78d11beef84613175b4e73c682db7 + Gutenberg: 4d47368ed6d58e8ee5eb7a91a18e821d0e1fd4ab JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 43261574cd0fc59b48fbb3eb54cde6db45ffba9e Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 26 Jan 2024 16:12:14 +0100 Subject: [PATCH 22/27] Update release notes --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 23976c744606..ec9570c7d385 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -23,6 +23,7 @@ * [***] [internal] Refactor WP.com sign in API requests [#22421] * [*] Add In-App Feedback Prompt. [#22050] * [**] Disabled the ability of creating new Story posts. [#22453] +* [**] Disabled Story block [#22449] 24.0 ----- From b3d8808855a3a5b0bd18e2b10666c454e0e9447a Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 26 Jan 2024 19:17:39 +0100 Subject: [PATCH 23/27] Update Gutenberg Mobile reference with tag --- Gutenberg/config.yml | 2 +- Podfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 6d947f0ca9cb..4be58670cd0d 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 9fe963032e189dc6bb8dbbb4b9238d34759c0ed8 + tag: v1.111.2 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 2a76cb738eed..46d4a6af3fd4 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-9fe963032e189dc6bb8dbbb4b9238d34759c0ed8.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.2.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-9fe963032e189dc6bb8dbbb4b9238d34759c0ed8.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.111.2.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -194,7 +194,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 4d47368ed6d58e8ee5eb7a91a18e821d0e1fd4ab + Gutenberg: e26c990bd4a71201d1f1dcbf6827ff77b8ec0776 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From f30ce52e44d4d4628b49539d70eb18fbcada17ff Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Mon, 29 Jan 2024 12:07:21 +1100 Subject: [PATCH 24/27] Update WordPress 24.1 release notes with feedback from @kean See https://github.com/wordpress-mobile/WordPress-iOS/pull/22441 --- WordPress/Resources/release_notes.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/WordPress/Resources/release_notes.txt b/WordPress/Resources/release_notes.txt index 7a9516e1ae8f..82d5f86580ee 100644 --- a/WordPress/Resources/release_notes.txt +++ b/WordPress/Resources/release_notes.txt @@ -1,12 +1,11 @@ -You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty. +You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. +As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color. Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along. -Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) - -As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. +We added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm. From d00c632501fac163782e4eb34169454e07aea8d0 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Mon, 29 Jan 2024 12:08:08 +1100 Subject: [PATCH 25/27] Update Jetpack 24.1 release notes with feedback from @kean See https://github.com/wordpress-mobile/WordPress-iOS/pull/22441 --- WordPress/Jetpack/Resources/release_notes.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/WordPress/Jetpack/Resources/release_notes.txt b/WordPress/Jetpack/Resources/release_notes.txt index 7a9516e1ae8f..82d5f86580ee 100644 --- a/WordPress/Jetpack/Resources/release_notes.txt +++ b/WordPress/Jetpack/Resources/release_notes.txt @@ -1,12 +1,11 @@ -You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty. +You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. +As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color. Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along. -Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) - -As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient. +We added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif) We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm. From da157eee9b535aed64a607b52eab974470822690 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Mon, 29 Jan 2024 12:09:33 +1100 Subject: [PATCH 26/27] Update metadata strings --- WordPress/Resources/AppStoreStrings.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/WordPress/Resources/AppStoreStrings.po b/WordPress/Resources/AppStoreStrings.po index 7a9f06722679..f1b12c846429 100644 --- a/WordPress/Resources/AppStoreStrings.po +++ b/WordPress/Resources/AppStoreStrings.po @@ -47,15 +47,14 @@ msgstr "" msgctxt "v24.1-whats-new" msgid "" -"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty.\n" +"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect.\n" +"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" "\n" "When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color.\n" "\n" "Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along.\n" "\n" -"Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" -"\n" -"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" +"We added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" "\n" "We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm.\n" "\n" From 7b6e3481fb73ec5f21d7f7426c227ce201965e4e Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Mon, 29 Jan 2024 12:09:33 +1100 Subject: [PATCH 27/27] Update metadata strings --- WordPress/Jetpack/Resources/AppStoreStrings.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/WordPress/Jetpack/Resources/AppStoreStrings.po b/WordPress/Jetpack/Resources/AppStoreStrings.po index 8ef7e75eb89f..f069ce80d2f8 100644 --- a/WordPress/Jetpack/Resources/AppStoreStrings.po +++ b/WordPress/Jetpack/Resources/AppStoreStrings.po @@ -83,15 +83,14 @@ msgstr "" msgctxt "v24.1-whats-new" msgid "" -"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect. Nifty.\n" +"You’ll now see a notification when you’re working offline. Media uploads to image blocks will also pause when your internet connection cuts out, then resume when you reconnect.\n" +"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" "\n" "When you select a custom gradient in the block editor, there’s now an indicator to show your chosen color.\n" "\n" "Scrolling through your images on the Site Media details screen will make them load ahead of time for a faster experience. Or maybe they were there all along.\n" "\n" -"Image previews are now sized properly when you long-press a file in the media library. We’ve also added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" -"\n" -"As an added bonus, when you manually retry a failed media upload, the app will retry all other failed media uploads in your post. Now that’s efficient.\n" +"We added support for higher-resolution thumbnails, GIF and video playback, documents, and other file previews. (homer-simpson-woohoo.gif)\n" "\n" "We switched up the publishing flow to give you clearer instructions. Users with the “Contributor” role will see the “Submit for Review” action instead of “Publish.” You can also trash draft posts and deleted posts without having to confirm.\n" "\n"