From 2393187132f1cba816f5b639e740bcb3c1a22032 Mon Sep 17 00:00:00 2001
From: Svornost <11434-svornost@users.noreply.gitgud.io>
Date: Tue, 22 Sep 2020 14:18:38 -0700
Subject: [PATCH] Catch exceptions thrown by rules assistant instead of letting
 them eat the entire slave assignment report

---
 src/endWeek/rulesAssistantReport.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/endWeek/rulesAssistantReport.js b/src/endWeek/rulesAssistantReport.js
index e64a32c4dcf..f87b0924bcb 100644
--- a/src/endWeek/rulesAssistantReport.js
+++ b/src/endWeek/rulesAssistantReport.js
@@ -2,7 +2,12 @@ App.EndWeek.rulesAssistantReport = function() {
 	const frag = $(document.createDocumentFragment());
 	for (const slave of V.slaves) {
 		if (slave.useRulesAssistant === 1) {
-			frag.append(DefaultRules(slave));
+			try {
+				frag.append(DefaultRules(slave));
+			} catch (e) {
+				console.log("Exception thrown in rule evaluation:", slave, e);
+				frag.append(`<p><span class="error">Exception thrown executing Rules Assistant for ${SlaveFullName(slave)}: "${e.message}". One of your rules is probably broken.</span></p>`);
+			}
 		}
 	}
 	return frag[0];
-- 
GitLab