The ACL update page doesn’t properly report errors. I tried to update it and got a “ACL Saved” message, but it didn’t actually work. It turns out that while the JSON was valid, it was missing a colon in one of the ports:
"ports": "*" is not valid, it should be
The only way I figured this out was by opening the browser devtools and look for the server return. The GUI reported that everything was fine, but the server was returning the exact error and how to fix it. I think the Tailscale front end team needs to take a look at this and render the error for the user.