@dbergey one consideration to keep in mind is that knowing whether to disable or hide a button can be expensive depending on the permissions system behind it. This doesn't make it good design to not resolve until the button is pressed, but it can make it a very expensive or essentially unachievable design requirement to add.
Of course if your button ends up being disabled incorrectly (because someone tried to implement it and failed due to the auth system complexities), then it's bad. But from design in the abstract I agree that showing before the action is much better.