Tinker won't load onto P1 (breathing magenta problem)

I’m trying to flash tinker from the Particle App to my P1 on a custom board. It is currently breathing magenta, and when I initiate a tinker flash from the app, it start flashing magenta as expected. But, when it restarts, after flashing green to cyan, it start breathing magenta again. Womp womp.

The catch: I can’t put the board into listening or dfu mode because we’re also having issues with our mode/setup button, which is now doing nothing (and yes, the button is functional!). More on that here.

Suggestions? Is this a 0.4.6 problem? Is there a way to flash an update over the air since I can’t get into DFU? Is there a magical (and apparently secret) factory reset?

UPDATE! I was able to make it work only by flashing tinker through the Build platform, NOT the Dev environment or the App. Not sure why, but would love to make Dev work since all our custom firmware is there.

Still have the button issue though.

Updating via Dev is known not to work at this time. Please see this post int he Particle Firmware Update thread