Your payment is pending as its being tried across several potential routes to the destination. In the case of failure, the routes that were tried failed. If the node is reachable (via lightning channels) from your node, the failure is likely due to there not being sufficient liquidity to complete your payment across all channels on the route. Sometimes this can be fix by increasing the fee you're willing to pay to get a payment routed, as your node will also try more expensive routes that might have sufficient liquidity. It can also be fixed by using a multi-path payment, which pays across several routes atomically, pooling liquidity across the routes. If you can't make a multi-path payment, you can try making several smaller payments non-atomically, where each payment could take advantage of a different route.
How can the UX be improved so that at least it says "sorry, failed because x". Currently Strike shows success and then its pending and eventually disappears (same on the receiving end, whether it's Breez or Phoenix doesn't make any difference)
reply
This seems more like a poor application ux than a lightning thing. Most node implementations will tell you if you failed to find a route for instance. On SN I sat when I can’t find a route and suggest increasing the fee
reply