Currently users can get report errors if they try hard enough, usually shapes that are too large or complex for a given report. The error messages are usually technical/vague, with no direction on what to do. Reports that don't complete will stay in the loading state forever. We can do better.
Any error should display a short message
"There was a problem. Please report this issue to your project administrator. If a specific sketch is causing the issue, please consider creating a Forum post and sharing your sketch so the issue can reproduced more easily"
Server should log any specific error info
Browser console should log any specific error info and should log an error
[ ] ErrorBoundary doesn't seem to catch client runtime errors, in production (e.g. accessing object that is undefined)
[ ] Initial metadata fetch error shows actual error text. Browser console should print "Failed to fetch project metadata".
[ ] Sync function on timeout will display "Failed to fetch". Catch this and give a better message.
[ ] Async function will just show loading forever if it doesn't return. if gp function doesn't return in timeout + X seconds, it likely won't ever return, client can report "Did not complete, this can happen with large or complex plans."
[ ] useFunction or maybe ResultCard could show a nicer error, or start with "Something went wrong with this report"
[ ] Improve error logging with separation by project ID. Gathers client and server side error metrics.
[ ] Warn user if plan size/complexity is greater than a specific amount
Currently users can get report errors if they try hard enough, usually shapes that are too large or complex for a given report. The error messages are usually technical/vague, with no direction on what to do. Reports that don't complete will stay in the loading state forever. We can do better.
Any error should display a short message "There was a problem. Please report this issue to your project administrator. If a specific sketch is causing the issue, please consider creating a Forum post and sharing your sketch so the issue can reproduced more easily"
Server should log any specific error info Browser console should log any specific error info and should log an error