mirror of
https://github.com/penpot/penpot.git
synced 2026-10-03 09:16:15 +00:00
* 🐛 Stop browser logging from crashing on empty levels Stop level->int crashes from taking down the dashboard when a nil or unknown level reaches the browser logger. Invalid levels now warn and are ignored in enabled?, setup! and the console handler, which renders unknown records with a neutral fallback. Alias the schema-legal :fatal level to :error in the browser mappings and validate the JS-exported debug.set_logging, which previously threw on missing arguments and wrote unreachable keyword keys into the loggers map. Closes #11690 AI-assisted-by: muse-spark-1.3-contributor * 🐛 Guard logger args and strengthen logging tests Close the residual throw paths next to the empty-level crash: guard non-string loggers in enabled? and setup!, coerce set_logging arguments safely, and validate logger keys. Strengthen the regression tests so the fatal alias cannot regress silently: enabled-logger filtering, JVM fatal and bogus cases, setup! skip proof, and invalid-logger cases. Related to #11690 AI-assisted-by: muse-spark-1.3-contributor * 🐛 Address low findings from logging review Validate the logger before the level in console-log-handler, share a public valid-logger? predicate with debug/set-logging, and keep warn formatting consistent across boundaries. Document the fail-soft-FE/strict-BE split on enabled? and the valid-level? contract on set-level!. Cover safe fallbacks, bad logger keys, handler logger skips, and loggers-map isolation in common tests, and add a frontend test for debug/set-logging. Related to #11690 AI-assisted-by: muse-spark-1.3-contributor