woocommerce / woocommerce-android

WooCommerce Android app
https://www.woocommerce.com/mobile
GNU General Public License v2.0
266 stars 133 forks source link

Clean up shipment tracking 404 error logs #3080

Open anitaa1990 opened 3 years ago

anitaa1990 commented 3 years ago

We optionally support for stores with the Shipment tracking plugin, to add/delete/track their shipment. If the shipment tracking plugin is not found, the following error message is displayed in the logs at the moment:

Error fetching order shipment tracking info: No route was found matching the URL and request method

This is sometimes confusing for HE's when looking over logs since this is logged as an error with the site, when in fact, it's just to let us know if the ST plugin is installed.

designsimply commented 3 years ago

(internal reference: p4a5px-2El-p2#comment-11432)

rossanafmenezes commented 2 years ago

Hi there 👋

I have been looking into this issue and I kind of hit a wall here.

1 - I have tested sending a support request from the app using a site without the extension installed and I don't see the error message in the logs anymore. 4210116-ZD

2 - However, to confirm (and try to understand a bit about how it works) I traced the data flow from OrderDetailsViewModel and the AppPrefs, OrderDetailRepository and then to the ContinuationWrapper.kt where it looks like there is a call to WooLog.

@anitaa1990 do you know if I am at least on the right path? 😅

anitaa1990 commented 2 years ago

Hey @rossanafmenezes, I'm so sorry for missing this message! There seems to be a lot of notifications from GitHub and this got missed!

So this issue here was that in the app logs (which can be found in the Settings -> Help & support -> Application Logs), if the shipment tracking plugin is not available for a store, we display Error fetching order shipment tracking info: No route was found matching the URL and request method error message in the logs.

The error message actually comes from FluxC I think. You're right that it is originating from this line in OrderDetailRepository 😄 .

I tested on a store without the Shipment Tracking plugin installed. And when I click on an order from the app, I see the following error from the logs:

2021-08-18 11:11:15.413 12365-12428/com.woocommerce.android.prealpha E/Volley: [858] BasicNetwork.performRequest: Unexpected response code 404 for https://public-api.wordpress.com/rest/v1.1/jetpack-blogs/193017045/rest-api/?path=%2Fwc%2Fv2%2Forders%2F582%2Fshipment-trackings%2F%26_method%3Dget&json=true&query=%7B%22_fields%22%3A%22date_shipped%2Ctracking_id%2Ctracking_link%2Ctracking_number%2Ctracking_provider%22%7D&locale=en_US
2021-08-18 11:11:15.414 12365-12365/com.woocommerce.android.prealpha E/WordPress-API: Volley error on https://public-api.wordpress.com/rest/v1.1/jetpack-blogs/193017045/rest-api/?path=%2Fwc%2Fv2%2Forders%2F582%2Fshipment-trackings%2F%26_method%3Dget&json=true&query=%7B%22_fields%22%3A%22date_shipped%2Ctracking_id%2Ctracking_link%2Ctracking_number%2Ctracking_provider%22%7D&locale=en_US
    com.android.volley.ClientError
        at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:199)
        at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
        at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
        at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)