Lightdm seems to show a error popup once a greeter even prints the word error,
but does not even print the full log line.
So just change an ERROR to warn and encude the error message as bas64,
the default theme handles this kind of error just fine.

---
--- web-greeter-2.2.5/src/gresource/js/ThemeUtils.js	2017-04-24 21:51:30.000000000 +0200
+++ ThemeUtils.js	2022-02-03 01:21:13.467417715 +0100
@@ -142,7 +142,8 @@
 			return __ThemeUtils.dirlist( path );
 
 		} catch( err ) {
-			console.log( `[ERROR] theme_utils.dirlist(): ${err}` );
+			err = btoa(unescape(encodeURIComponent(err)));
+			console.log( `[WARN] theme_utils.dirlist(): ${err} (base64 to not trip lightdm up)` );
 			return [];
 		}
 	}
