From 2e7e439f45e27f8adf6b33ebaa989843527d16b2 Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Tue, 3 Mar 2026 14:51:47 -0700 Subject: [PATCH] Surface errors when post publish silently fails Add a toast when publishPost() is called without network connectivity, so the user sees feedback instead of the publish silently doing nothing. Add warning log when PostUploadHandler receives an OnPostUploaded event for a post that is no longer tracked as uploading, including any error details that would otherwise be silently dropped. Ref: CMM-1297 Co-Authored-By: Claude Opus 4.6 --- .../wordpress/android/ui/uploads/PostUploadHandler.java | 7 +++++++ .../java/org/wordpress/android/ui/uploads/UploadUtils.java | 2 ++ 2 files changed, 9 insertions(+) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java b/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java index ccdb5534c0e2..9473dd9b4ba8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java @@ -662,6 +662,13 @@ public void handleAutoSavePostIfNotDraftResult(@NonNull AutoSavePostIfNotDraftRe public void onPostUploaded(OnPostUploaded event) { // check if the event is related to the PostModel that is being uploaded by PostUploadHandler if (!isPostUploading(event.post)) { + AppLog.w(T.POSTS, "PostUploadHandler > onPostUploaded: ignoring event for post " + + (event.post != null ? event.post.getId() : "null") + + " because it is not the currently uploading post" + + " (current=" + (sCurrentUploadingPost != null + ? sCurrentUploadingPost.getId() : "null") + ")" + + (event.isError() ? " error: " + event.error.type + + " " + event.error.message : "")); return; } SiteModel site = mSiteStore.getSiteByLocalId(event.post.getLocalSiteId()); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/uploads/UploadUtils.java b/WordPress/src/main/java/org/wordpress/android/ui/uploads/UploadUtils.java index 01acbd97fc0c..83cd6f7b29a8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/uploads/UploadUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/uploads/UploadUtils.java @@ -459,6 +459,8 @@ public static void publishPost(Activity activity, final PostModel post, SiteMode if (onPublishingCallback != null) { onPublishingCallback.onPublishing(isFirstTimePublish); } + } else { + ToastUtils.showToast(activity, R.string.no_network_message, ToastUtils.Duration.SHORT); } PostUtils.trackSavePostAnalytics(post, site); }