From 71aff864ec4bd7af79941e495c1972d35e1b9e78 Mon Sep 17 00:00:00 2001 From: Hafiz Rahman Date: Mon, 18 Nov 2024 17:01:56 +0700 Subject: [PATCH 1/5] Update parameter key for number of items to fetch to be `per_page` --- Networking/Networking/Remote/MediaRemote.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Networking/Networking/Remote/MediaRemote.swift b/Networking/Networking/Remote/MediaRemote.swift index d3ea16b803f..4dc087e54e5 100644 --- a/Networking/Networking/Remote/MediaRemote.swift +++ b/Networking/Networking/Remote/MediaRemote.swift @@ -294,7 +294,7 @@ public extension MediaRemote { private enum ParameterKey { static let pageNumber: String = "page" - static let pageSize: String = "number" + static let pageSize: String = "per_page" static let wordPressMediaPostID: String = "post" static let altText: String = "alt" static let wordPressAltText: String = "alt_text" From 15196e05cc9245f3eb6f8eb71236dee15ef290e1 Mon Sep 17 00:00:00 2001 From: Hafiz Rahman Date: Mon, 18 Nov 2024 17:09:48 +0700 Subject: [PATCH 2/5] Update release notes. --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 90333c8c6d0..1a1b76d8dc5 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -13,6 +13,7 @@ - [*] Menu tab > Payments: in the "deposits" summary view at the top, all mentions of "deposits/deposit/deposited" have been renamed to "payouts/payout/paid out" respectively to match the renaming in web. [https://github.com/woocommerce/woocommerce-ios/pull/14402] - [*] Receipts: Added message confirming receipt sent to customer after successful payment. [https://github.com/woocommerce/woocommerce-ios/pull/14390] - [internal] Simplifies App Icon by only using a single image for all supported platforms. [https://github.com/woocommerce/woocommerce-ios/pull/14429] +- [**] Media Library: On sites logged in with application password, when picking image from WordPress Media Library, all images will now load correctly. [https://github.com/woocommerce/woocommerce-ios/pull/14444] 21.1 ----- From 7215568fbe05f767eebc8710a371eceb86007256 Mon Sep 17 00:00:00 2001 From: Hafiz Rahman Date: Tue, 19 Nov 2024 13:43:49 +0700 Subject: [PATCH 3/5] Differentiate parameter between dotcom API and dotorg API. --- Networking/Networking/Remote/MediaRemote.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Networking/Networking/Remote/MediaRemote.swift b/Networking/Networking/Remote/MediaRemote.swift index 4dc087e54e5..a16845a566e 100644 --- a/Networking/Networking/Remote/MediaRemote.swift +++ b/Networking/Networking/Remote/MediaRemote.swift @@ -89,7 +89,7 @@ public class MediaRemote: Remote, MediaRemoteProtocol { completion: @escaping (Result<[Media], Error>) -> Void) { let parameters: [String: Any] = [ ParameterKey.contextKey: context ?? Default.context, - ParameterKey.pageSize: pageSize, + ParameterKey.dotComPageSize: pageSize, ParameterKey.pageNumber: pageNumber, ParameterKey.fields: "ID,date,URL,thumbnails,title,alt,extension,mime_type,file", ParameterKey.mimeType: imagesOnly ? "image" : nil, @@ -123,7 +123,7 @@ public class MediaRemote: Remote, MediaRemoteProtocol { pageSize: Int = 25, completion: @escaping (Result<[WordPressMedia], Error>) -> Void) { let parameters: [String: Any] = [ - ParameterKey.pageSize: pageSize, + ParameterKey.dotOrgPageSize: pageSize, ParameterKey.pageNumber: pageNumber, ParameterKey.fieldsWordPressSite: ParameterValue.wordPressMediaFields, ParameterKey.mimeType: imagesOnly ? "image" : nil, @@ -294,7 +294,8 @@ public extension MediaRemote { private enum ParameterKey { static let pageNumber: String = "page" - static let pageSize: String = "per_page" + static let dotComPageSize: String = "number" // https://developer.wordpress.com/docs/api/1.2/get/sites/%24site/media/ + static let dotOrgPageSize: String = "per_page" // https://developer.wordpress.org/rest-api/reference/media/#arguments static let wordPressMediaPostID: String = "post" static let altText: String = "alt" static let wordPressAltText: String = "alt_text" From 02bd74d9967b94e677b427694b36851bb6f8011a Mon Sep 17 00:00:00 2001 From: Hafiz Rahman Date: Wed, 20 Nov 2024 12:38:01 +0700 Subject: [PATCH 4/5] Update .org API to use media_type instead of mime_type Issue originally identified in Android https://github.com/wordpress-mobile/WordPress-FluxC-Android/pull/3109#discussion_r1844958555 --- Networking/Networking/Remote/MediaRemote.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Networking/Networking/Remote/MediaRemote.swift b/Networking/Networking/Remote/MediaRemote.swift index a16845a566e..1696ffa4843 100644 --- a/Networking/Networking/Remote/MediaRemote.swift +++ b/Networking/Networking/Remote/MediaRemote.swift @@ -126,7 +126,7 @@ public class MediaRemote: Remote, MediaRemoteProtocol { ParameterKey.dotOrgPageSize: pageSize, ParameterKey.pageNumber: pageNumber, ParameterKey.fieldsWordPressSite: ParameterValue.wordPressMediaFields, - ParameterKey.mimeType: imagesOnly ? "image" : nil, + ParameterKey.mediaType: imagesOnly ? "image" : nil, ParameterKey.wordPressMediaParent: productID ].compactMapValues { $0 } @@ -302,6 +302,7 @@ public extension MediaRemote { static let fields: String = "fields" static let fieldsWordPressSite: String = "_fields" static let mimeType: String = "mime_type" + static let mediaType: String = "media_type" static let postID: String = "post_ID" static let contextKey: String = "context" static let wordPressMediaParentID = "parent_id" From 43c06797e93fc51f8e1b0ac071dd4d141f6943f6 Mon Sep 17 00:00:00 2001 From: Hafiz Rahman Date: Wed, 20 Nov 2024 12:40:51 +0700 Subject: [PATCH 5/5] Update comments --- Networking/Networking/Remote/MediaRemote.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Networking/Networking/Remote/MediaRemote.swift b/Networking/Networking/Remote/MediaRemote.swift index 1696ffa4843..7fb630ae3c2 100644 --- a/Networking/Networking/Remote/MediaRemote.swift +++ b/Networking/Networking/Remote/MediaRemote.swift @@ -294,14 +294,22 @@ public extension MediaRemote { private enum ParameterKey { static let pageNumber: String = "page" - static let dotComPageSize: String = "number" // https://developer.wordpress.com/docs/api/1.2/get/sites/%24site/media/ - static let dotOrgPageSize: String = "per_page" // https://developer.wordpress.org/rest-api/reference/media/#arguments + // For dotcom API usage, we want to use "number" + // https://developer.wordpress.com/docs/api/1.2/get/sites/%24site/media/ + static let dotComPageSize: String = "number" + // For dotorg API usage, we want to use "per_page" + // https://developer.wordpress.org/rest-api/reference/media/#arguments + static let dotOrgPageSize: String = "per_page" static let wordPressMediaPostID: String = "post" static let altText: String = "alt" static let wordPressAltText: String = "alt_text" static let fields: String = "fields" static let fieldsWordPressSite: String = "_fields" + // For dotcom API usage, we want to use "mime_type" + // https://developer.wordpress.com/docs/api/1.2/get/sites/%24site/media/ static let mimeType: String = "mime_type" + // For dotorg API usage, we want to use "media_type" + // https://developer.wordpress.org/rest-api/reference/media/#list-media static let mediaType: String = "media_type" static let postID: String = "post_ID" static let contextKey: String = "context"