minibits-cash / minibits_wallet

MIT License
73 stars 7 forks source link

Zaps over NWC reliability issues #119

Open minibits-cash opened 3 hours ago

minibits-cash commented 3 hours ago

When sending zaps from another app connected to the Minibits wallet over Nostr Wallet Connect, there are frequent failures leading to the zaps not paid and wallet not able to send future transactions. Typically it is manifested by one or combination of errors:

After detailed debugging with help of other users (as the issue does not occur in dev environment, where the device is always on and cable connected) we found out, that Android tends to kill ongoing zap transactions processing, namely if there are more zaps being processed in sequence over time - apparently hitting some Android limits for resource allocation for an app in the background. Interrupted transactions cause either unsync of recovery proof counters with the mint or spent ecash remaining in the wallet leading to above errors.

Workaround to fix the wallet is:

Some users pointed that setting Enable background data services in Android app settings improved the situation, but this option is not available, e.g. on Samsung devices. Another option is likely to set app battery settings to Unrestricted.

This issue will monitor progress on finding appropriate solution to deliver stable zap experience over NWC that the world needs so much today!

minibits-cash commented 3 hours ago

There is a new over the air update released (0.1.9-beta.35) that delivers major speed up for zaps paid with ecash from Minibits mint. Streamlining of lightning payment process and offloading some operations to the Minibits server should cut the processing time by half - it is yet to be seen if it helps to avoid hitting Android limits even for hard core zappers!

I will collect actionnable findings and suggestions here.