[v8.5.x] Alerting: Fix alert rule page crashing when datasource contained URL unsafe characters (#51122)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2022-06-20 15:59:23 +02:00
committed by GitHub
co-authored by Gilles De Mey
parent 87420e15b8
commit 4b378485cf
@@ -45,9 +45,10 @@ const pageTitle = 'Alerting / View rule';
export function RuleViewer({ match }: RuleViewerProps) {
const styles = useStyles2(getStyles);
const { id, sourceName } = match.params;
const { id } = match.params;
const identifier = ruleId.tryParse(id, true);
const { loading, error, result: rule } = useCombinedRule(identifier, sourceName);
const { loading, error, result: rule } = useCombinedRule(identifier, identifier?.ruleSourceName);
const runner = useMemo(() => new AlertingQueryRunner(), []);
const data = useObservable(runner.get());
const queries2 = useMemo(() => alertRuleToQueries(rule), [rule]);
@@ -86,7 +87,7 @@ export function RuleViewer({ match }: RuleViewerProps) {
);
}, []);
if (!sourceName) {
if (!identifier?.ruleSourceName) {
return (
<RuleViewerLayout title={pageTitle}>
<Alert title={errorTitle}>
@@ -96,7 +97,7 @@ export function RuleViewer({ match }: RuleViewerProps) {
);
}
const rulesSource = getRulesSourceByName(sourceName);
const rulesSource = getRulesSourceByName(identifier.ruleSourceName);
if (loading) {
return (