Consider the end user experience; would you want to use an app that crashes? Poor performance can be forgiven(especially if the end user doesn't have anything to compare against) but an unstable app will automatically be worse than any other alternatives. I would recommend troubleshooting to find out why code assertions are causing a crash because to me that's an indicator of a larger problem.
Open communication can also help manage the end user expectations. I personally like and have been inspired by the Dev blogs for the game Factorio. For example here is a blog post from them about their new(at the time) Crash log uploading feature that some people weirdly didn't like.
https://www.factorio.com/blog/post/fff-231
That's a judgement call you have to make. You know what your app means for your users, and will have to decide whether your crashes are OK or not.
Personally, if it was my app, I would just fix the issue. State should be clear. If state is not clear, then the application is probably not well architected.
And maybe allowing the app to continue running in an unexpected state (instead of crashing) is not a good idea?