Welcome to the community and posting for the first time!
I hope you made it work now.
Do you still face the issue with webhook URL generated with space in between in production?
Also, for the “onAppUninstall” function being not supported by linter while validating the app, could you raise it as a separate topic if it’s persisted?