An exception in a the callable schema of an integration won't be caught and will cause a 500 when user creates/duplicates/edits a metric. This can happen for numerous reasons (for example an HTTP call which is not authorized anymore).
For now, only invalid_grant errors are handled, and they are only handled in the UpdateView (not CreateView).
We should:
- have a unified way of handling exceptions between create and update views
- show a friendly user message both when the metric can be re-authorised (e.g. invalidgrant) and when the error is generic
- mention the issue is with the integration and link to github