View Issue Details

IDProjectCategoryView StatusLast Update
0007454Talerwallet (Android App)public2023-02-23 17:06
ReporterChristian Grothoff Assigned Togrote  
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Version0.9 
Target Version0.9.2Fixed in Version0.9.2 
Summary0007454: p2p payments hang if subject includes a smiley
DescriptionThanks to Reto Koenig for reporting. Not sure if this is wallet-core or Android UI.
Steps To ReproduceDo p2p push/pull payment, enter a smiley/emoji.
TagsNo tags attached.


related to 0007554 closedavalos migrate Android wallet to quickjs Taler runtime 


Florian Dold

2023-01-04 14:23

manager   ~0019566

I've added emojis to the subject in the p2p and merchant integration tests of wallet core now, works with no issues.

This must be a UI problem.

We even already had other unicode characters in integration tests before.


2023-01-05 17:13

developer   ~0019579

Maybe something in akono?

I am sending this:

  "amount": "KUDOS:1",
  "partialContractTerms": {
    "amount": "KUDOS:1",
    "summary": "�",
    "purse_expiration": {
      "t_s": 1673194082

and what I am getting from akono-jni.cpp is this:

(node:21705) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token  in JSON at position 168
at JSON.parse (<anonymous>)
at Object.<anonymous> (/vmod/@gnu-taler/taler-wallet-embedded:55330:26)
at (<anonymous>)
at /vmod/@gnu-taler/taler-wallet-embedded:80:71
at new Promise (<anonymous>)
at __awaiter (/vmod/@gnu-taler/taler-wallet-embedded:76:12)
at onMessage (/vmod/@gnu-taler/taler-wallet-embedded:55325:35)
at eval (eval at global.__native_run ([eval]:1:78), <anonymous>:3:10)
at eval (<anonymous>)
at global.__native_run ([eval]:1:78)

So this sounds like something at the node layer to me.


2023-01-05 17:18

developer   ~0019580

Also kinda bad that things just hang because akono/wallet-core are not returning an error at all:

node:21705) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

Florian Dold

2023-01-06 14:01

manager   ~0019589

That might be a bug in akono, but I don't think we want to debug akono/nodejs.

Instead, we should first move to the quickjs Taler runtime.

@Christian: For which release should we prioritize that now, since there are already severe bugs depending on it?

Christian Grothoff

2023-01-06 14:51

manager   ~0019591

Tough one. I'd still target it for 0.9.4, but of course if it happens faster, no problem ;-)

Christian Grothoff

2023-01-06 14:51

manager   ~0019592

Is there a bug open on quickjs we can put these as child bugs to?

Florian Dold

2023-01-06 15:44

manager   ~0019598

I've linked the Android/quickjs issue


2023-01-12 19:57

developer   ~0019640

Maybe this could be relevant:


2023-01-12 19:59

developer   ~0019641

Actually, this seems more relevant:

> The ability for JSON encoders to use the numeric escape sequences instead just offers you more choice. One reason you may choose the numeric escape sequences would be if a transport mechanism in between your encoder and the intended decoder is not binary-safe.


2023-02-01 01:23

developer   ~0019727

This seems not to be an issue with QuickJS.

Christian Grothoff

2023-02-01 13:14

manager   ~0019730

So .... bug resolved?


2023-02-01 14:30

developer   ~0019731

I'd say it gets resolved until the QuickJS branch gets merged. It still has some issues, but it's not far from being ready.


2023-02-22 12:36

developer   ~0019900

Resolved by replacing akono with qtart in and following.

Issue History

Date Modified Username Field Change
2022-11-14 12:50 Christian Grothoff New Issue
2022-11-14 12:50 Christian Grothoff Status new => assigned
2022-11-14 12:50 Christian Grothoff Assigned To => Florian Dold
2023-01-04 14:22 Florian Dold Assigned To Florian Dold => grote
2023-01-04 14:23 Florian Dold Note Added: 0019566
2023-01-05 17:13 grote Assigned To grote => Florian Dold
2023-01-05 17:13 grote Status assigned => feedback
2023-01-05 17:13 grote Note Added: 0019579
2023-01-05 17:18 grote Note Added: 0019580
2023-01-06 14:01 Florian Dold Note Added: 0019589
2023-01-06 14:01 Florian Dold Assigned To Florian Dold => Christian Grothoff
2023-01-06 14:51 Christian Grothoff Note Added: 0019591
2023-01-06 14:51 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2023-01-06 14:51 Christian Grothoff Note Added: 0019592
2023-01-06 14:51 Christian Grothoff Status feedback => assigned
2023-01-06 15:44 Florian Dold Relationship added related to 0007554
2023-01-06 15:44 Florian Dold Note Added: 0019598
2023-01-12 17:01 Florian Dold Assigned To Florian Dold => grote
2023-01-12 19:57 avalos Note Added: 0019640
2023-01-12 19:59 avalos Note Added: 0019641
2023-01-17 18:12 Christian Grothoff Target Version 0.9.1 => 0.9.2
2023-02-01 01:23 avalos Note Added: 0019727
2023-02-01 13:14 Christian Grothoff Note Added: 0019730
2023-02-01 14:30 avalos Note Added: 0019731
2023-02-22 12:36 grote Status assigned => resolved
2023-02-22 12:36 grote Resolution open => fixed
2023-02-22 12:36 grote Note Added: 0019900
2023-02-23 17:06 Christian Grothoff Status resolved => closed
2023-02-23 17:06 Christian Grothoff Fixed in Version => 0.9.2