View Issue Details

IDProjectCategoryView StatusLast Update
0004800Talermerchant frontend (blog)public2017-06-06 14:18
ReporterFlorian Dold Assigned ToMarcello Stanisci  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.3Fixed in Version0.3 
Summary0004800: check that error scenarios are handled correctly / error messages are propagated
DescriptionSometimes error messages are swallowed.

For some reason I brought the wallet in a state where it tried to pay with a spent coin. The merchant just gave a nondescript error.

We should write selenium test cases for these error scenarios, and maybe even have a document that lists all of those.
TagsNo tags attached.


Christian Grothoff

2016-11-18 00:13

manager   ~0011524

We have the exchange's new error codes. All exchange errors (400 and 500) return those. The merchant backend should pass those back to the frontend, boxed in its own error code (merchant: my error: XXX went wrong when talking to the exchange; the exchange unexpectedly returned error YYY). Plus JSON diagnostics.

Christian Grothoff

2016-11-18 00:14

manager   ~0011525

For the double-spending, we should refine the exsiting backend testcases to trigger this in the test.

Florian Dold

2016-11-18 00:16

manager   ~0011526

This is more/also about the front end and properly propagating error messages to it, so that the wallet can react appropriately.

The selenium test cases should verify that the error message actually shows up on the front end page.

Florian Dold

2017-02-13 10:46

manager   ~0011733

One thing that is important to consider: If we're implementing an API that returns JSON, we *never* should return HTML.

Currently in the blog, we throw a BackendError when obtaining a proposal from the backend fails. This will then be caught and converted into an HTML error response, which is not appropriate for /generate-contract.

Marcello Stanisci

2017-03-08 17:09

viewer   ~0011911

As of commit b5d7a6a6b90527, no error is returned in HTML.

The general behaviour is to echo back to the wallet what the
backend says.

Issue History

Date Modified Username Field Change
2016-11-17 23:47 Florian Dold New Issue
2016-11-18 00:13 Christian Grothoff Note Added: 0011524
2016-11-18 00:14 Christian Grothoff Note Added: 0011525
2016-11-18 00:14 Christian Grothoff Assigned To => Marcello Stanisci
2016-11-18 00:14 Christian Grothoff Status new => assigned
2016-11-18 00:14 Christian Grothoff Product Version => git (master)
2016-11-18 00:14 Christian Grothoff Target Version => 0.3
2016-11-18 00:16 Florian Dold Note Added: 0011526
2017-02-13 10:46 Florian Dold Note Added: 0011733
2017-03-08 17:09 Marcello Stanisci Status assigned => resolved
2017-03-08 17:09 Marcello Stanisci Resolution open => fixed
2017-03-08 17:09 Marcello Stanisci Note Added: 0011911
2017-05-03 02:16 Christian Grothoff Fixed in Version => 0.3
2017-06-06 14:18 Christian Grothoff Status resolved => closed