lessgreen / OpenPUDO

Open PUDO Software Platform
GNU Affero General Public License v3.0
2 stars 1 forks source link

Bad error message if the PUDO does not select a reward option #12

Open puffetto opened 2 years ago

puffetto commented 2 years ago

During PUDO enroll if the user does not select any option this message is shown, it should better be "You have to select at least one option". IMG_2269

GilGalaad commented 2 years ago

this is the response from the backend 08/05/2022 14:09:28.797 TRACE [RestBodyFilter] [2baa74b1-feec-4e55-a1a1-56c1351791a4] Response: {"executionId":"2baa74b1-feec-4e55-a1a1-56c1351791a4","returnCode":400,"message":"Campo non valido: rewardPolicy"} i guess the actual message is being dropped in favour of a more generic one by the app itself.

fpietrosanti commented 2 years ago

@GilGalaad It's useful to drop to a Telegram Chat or Email Distribution list any backend errors . With GlobaLeaks we found extremely useful since the day-0 to have an "unhandled exception handler mailing list" where any single unexpected error in a normal flow where going, facilitating detection and analysis of bugs.

GilGalaad commented 2 years ago

@fpietrosanti the funcionality is already there. the problem is that this case would not trigger it, since this is a perfectly handled error (http 4xx), an invalid playload with a very specific exception messaged, so it would not be considered as "unhandled exception" (http 5xx). we could activate the mail message on 4xx errors too but i think we would generate hundreds of emails...

fpietrosanti commented 2 years ago

@fpietrosanti the funcionality is already there. the problem is that this case would not trigger it, since this is a perfectly handled error (http 4xx), an invalid playload with a very specific exception messaged, so it would not be considered as "unhandled exception" (http 5xx). we could activate the mail message on 4xx errors too but i think we would generate hundreds of emails...

The backend can detect it's own backend errors, but also client-side detectable related errors (such as any invalid data, like in this context). If we receive hundreds of email due to client-side bugs, it would still be valuable, because the client isn't expected to send anything inappropriate, if it does, it's a bug to be tracked down and reported with all the corresponding metadata, and if fixing the client do require time for upgrade-deploy-publishing, it would be a good indicator to require a backend quick workaround. At GlobaLeaks the backend does strict validation of data payload and session order and send any erroneous conditions receiving it's API endpoint, while also providing the full-payload and HTTP request received from the Javascript Client to enable such a debugging. That way, any client-side introduced error, is detected from the backend quite fast.

puffetto commented 2 years ago

/me prepares the filter.

Sent from my iPhone

On 9 May 2022, at 12:29, Fabio (naif) Pietrosanti @.***> wrote:

 @fpietrosanti the funcionality is already there. the problem is that this case would not trigger it, since this is a perfectly handled error (http 4xx), an invalid playload with a very specific exception messaged, so it would not be considered as "unhandled exception" (http 5xx). we could activate the mail message on 4xx errors too but i think we would generate hundreds of emails...

The backend can detect it's own backend errors, but also client-side detectable related errors (such as any invalid data, like in this context). If we receive hundreds of email due to client-side bugs, it would still be valuable, because the client isn't expected to send anything inappropriate, if it does, it's a bug to be tracked down and reported with all the corresponding metadata, and if fixing the client do require time for upgrade-deploy-publishing, it would be a good indicator to require a backend quick workaround. At GlobaLeaks the backend does strict validation of data payload and session order and send any erroneous conditions receiving it's API endpoint, while also providing the full-payload and HTTP request received from the Javascript Client to enable such a debugging. That way, any client-side introduced error, is detected from the backend quite fast.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.