I'm not sure if this is a bug report or a lesson learned, but here goes:
Due to commit "Perform all database interactions in the apk." (c23cf), if an activity requests su, the activity's onResume() is always called. Prior to c23cf onResume() was only called after the permission window showed up.
This means activities cannot (easily) call su in their onResume (like to update the view in case while it was paused you allowed/revoked their su privileges) without causing an infinite loop.
In retrospect, it was bad for me to do this originally as even prior to c23cf if the user didn't check "always allow" they would still have an infinite loop.
I'm looking into it a bit deeper as I'm curious.