Possibly the biggest news of the last five years, imo: Lightning Dev Kit might have just fixed the lightning problem where your payment fails if the recipient is offline. They not only have a protocol spec, but code + a guide for adding support in wallets: 

Async Payments: Getting Paid While Your Node Is Offline | Lightning Dev Kit Documentation
Async payments let an often-offline node receive Lightning payments without trusting a custodian and without locking up network capacity with long-...