Particle publish with WITH_ACK not working properly?

I have a couple questions:

  1. Since this issue affects Mesh endpoints ability to publish, wouldn't it be wise for @will to add it to the list of Gen 3 known issues? Maybe we can get a top-down approach addressing the problem (or at least documenting it).

  2. Would using waitUntil or waitFor along with a bool test successfully block until the publish is complete?

I'm just not clear on how I can check the truthiness of Particle.publish if it returns a future bool and I want to have code that runs contingent on the outcome of its success (such as turning off the radio).

Do I need to save the bool first, then run something like a waitUntil? From what @joel is describing, if Particle.publish is not immediately checked it will not block, and waitUntil may not return until the future event has complete and thus is unable to block if used alone. So something like this:

Mesh.connect();  
bool rval = Particle.publish("test_event", "test_data", PRIVATE, WITH_ACK);
if(!rval) {
 waitUntil(rval);
}
Mesh.off();