diff --git a/client/homebrew/navbar/error-navitem.jsx b/client/homebrew/navbar/error-navitem.jsx index eb2872c22..8551408c5 100644 --- a/client/homebrew/navbar/error-navitem.jsx +++ b/client/homebrew/navbar/error-navitem.jsx @@ -21,10 +21,11 @@ const ErrorNavItem = createClass({ this.props.parent.setState(state); }; - const error = this.props.error; - const response = error.response; - const status = response.status; - const message = response.body?.message; + const error = this.props.error; + const response = error.response; + const status = response.status; + const HBErrorCode = response.body?.HBErrorCode; + const message = response.body?.message; let errMsg = ''; try { errMsg += `${error.toString()}\n\n`; @@ -40,7 +41,9 @@ const ErrorNavItem = createClass({ {message ?? 'Conflict: please refresh to get latest changes'} ; - } else if(status === 412) { + } + + if(status === 412) { return Oops!
@@ -48,6 +51,36 @@ const ErrorNavItem = createClass({
; } + + if(HBErrorCode === '04') { + return + Oops! +
+ You are no longer signed in as an author of + this brew! Were you signed out from a different + window? Visit our log in page, then try again! +

+ +
+ Sign In +
+
+
+ Not Now +
+
+
; + } + + if(response.body?.errors?.[0].reason == 'storageQuotaExceeded') { + return + Oops! +
+ Can't save because your Google Drive seems to be full! +
+
; + } if(response.req.url.match(/^\/api.*Google.*$/m)){ return @@ -57,6 +90,7 @@ const ErrorNavItem = createClass({ expired! Visit our log in page to sign out and sign back in with Google, then try saving again! +

diff --git a/server/app.js b/server/app.js index 5ae873a1c..970c2cd9c 100644 --- a/server/app.js +++ b/server/app.js @@ -477,7 +477,7 @@ app.use(async (err, req, res, next)=>{ if(err.originalUrl?.startsWith('/api/')) { // console.log('API error'); - res.status(err.status || err.response?.status || 500).send(err.message || err); + res.status(err.status || err.response?.status || 500).send(err); return; }