View Issue Details

IDProjectCategoryView StatusLast Update
0007606Talerwallet (Android App)public2023-09-23 15:09
Reportergrote Assigned Toavalos  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.1 
Target Version0.9.3Fixed in Version0.9.3 
Summary0007606: TalerErrorInfo should get rendered with an option to expand the raw JSON
DescriptionTalerErrorInfo is a mixed bag and can include undefined fields. For debugging, in dev mode, when rendering it, there should be the option to show its JSON as an indented string to help with debugging.
TagsNo tags attached.

Activities

avalos

2023-01-24 17:37

developer   ~0019702

Where should we put the option, and how should we show the JSON? I think putting both things in the transaction list would take a lot of space. Even a button that shows the JSON in a dialog would take a lot of space, especially if shown below the existing action button. Putting both things in the transaction details pages would involve repeating them all over.

grote

2023-01-24 17:57

developer   ~0019703

I agree we should avoid showing this in the transaction list. if the error is related to one transaction, we could show it in the details page. Otherwise, for errors in response to things, we sometimes show a dismissable bottom sheet dialog and sometimes render it as the empty state message.

avalos

2023-01-26 20:54

developer   ~0019704

How do we get the full JSON of the error? Currently, we're serializing the error to TalerErrorCode. Fields not present in this class will get discarded by the serializer, so we can't show them to the user.

grote

2023-01-27 16:36

developer   ~0019705

Congratulations! You found the tricky part of this implementation request :)

I also don't know, but in the worst case we need a custom class wrapping TalerErrorInfo with a custom serializer storing the entire json.

avalos

2023-02-15 06:31

developer   ~0019844

The serialization part of this request was implemented in 23dd3cd9e783955b2badc5dab850468512e6cae7. Unknown fields in every error object are added to the `extra` field. Now we need to write a serializer for TalerErrorInfo that will return the string that we need to show.

avalos

2023-03-03 03:55

developer   ~0019918

TalerErrorInfo can be either embedded in each transaction, or happen as a result of a wallet-core request. How should we handle both cases in the UI?

avalos

2023-03-10 07:20

developer   ~0019945

Expanding JSON errors for each transaction is now implemented in `dev/ivan-avalos/master`.

avalos

2023-03-10 07:20

developer   ~0019946

Screenshot_20230310_002032.png (112,871 bytes)   
Screenshot_20230310_002032.png (112,871 bytes)   

avalos

2023-03-10 07:22

developer   ~0019947

It doesn't look as nice for XML fragments, but I didn't want to create a custom dialog layout only to change the body text to monospace.
Screenshot_20230310_002217.png (118,120 bytes)   
Screenshot_20230310_002217.png (118,120 bytes)   

avalos

2023-07-25 00:34

developer   ~0020382

This should be fixed now that the error handling branch was merged.

Issue History

Date Modified Username Field Change
2023-01-24 15:07 grote New Issue
2023-01-24 15:07 grote Status new => assigned
2023-01-24 15:07 grote Assigned To => avalos
2023-01-24 17:37 avalos Note Added: 0019702
2023-01-24 17:57 grote Note Added: 0019703
2023-01-26 20:54 avalos Note Added: 0019704
2023-01-27 16:36 grote Note Added: 0019705
2023-02-15 06:31 avalos Note Added: 0019844
2023-03-03 03:55 avalos Note Added: 0019918
2023-03-10 07:20 avalos Note Added: 0019945
2023-03-10 07:20 avalos Note Added: 0019946
2023-03-10 07:20 avalos File Added: Screenshot_20230310_002032.png
2023-03-10 07:22 avalos Note Added: 0019947
2023-03-10 07:22 avalos File Added: Screenshot_20230310_002217.png
2023-04-04 19:33 Florian Dold Target Version 0.9.2 => 0.9.3
2023-07-25 00:34 avalos Status assigned => resolved
2023-07-25 00:34 avalos Resolution open => fixed
2023-07-25 00:34 avalos Note Added: 0020382
2023-09-23 15:07 Christian Grothoff Fixed in Version => 0.9.3
2023-09-23 15:09 Christian Grothoff Status resolved => closed