I am a frequent user of the "Add to Nightly" share target, and primarily use it with the "Send to another device" option. My primary use case is that I tend to read email primarily from my phone rather than the laptop, even when I'm at the laptop, but when viewing links sent to me in email I often prefer to open the link in the browser on my laptop instead of the phone. Most of the time this works great. Share the link from the phone, hit "Sync now" in the laptop's browser and I'm off and running. The last couple months it seems to be failing more frequently though. Almost always when it doesn't work, I run Nightly on the phone, go to Settings, and into my Firefox Account, and under Sync Now it says "Last synced: 2 hours ago" or somesuch. Hitting "Sync Now" immediately sends out the link and it shows up on the laptop browser. Sometimes I force-quit Nightly (along with other things) to free up CPU usage (no, it's not to free memory, Android has great memory management). This obviously causes the related background processes to quit as well. However, other apps I use that have background processes (including one that I wrote, which I don't remember doing anything special to cause it to behave like this, so it must be the default behavior that Firefox is perhaps accidentally suppressing somehow) automatically restart the background processes after being killed. The most-recent occurrence (and why I'm filing this bug) was a situation where the browser had actually been used recently, and had not been force-quit. It was still in memory and the tab selection screen was in front when I went back into the browser (because I had last closed a tab then hit the Home button to get out without picking another tab). So I picked a tab, went to settings and into the Firefox account, and saw that it hadn't synced in a few hours, hit "Sync Now" and off it went. To me, the most obvious code workaround for this would be for the "send to devices" share receiver to ensure that the sync service is actually running when it puts the link into the queue to be synced.
(and of course, a real fix would involve figuring out why the sync service stops and/or doesn't restart)