From 0584b16ce177be669646ace606d7dd93623d1fb4 Mon Sep 17 00:00:00 2001 From: Urban Sanden Date: Wed, 3 Jun 2026 17:15:51 +0200 Subject: [PATCH] fix: render attribute JSON in Safari using textContent The Subject/Context/Action attribute JSON is stored in hidden `` elements (`.hide` is `display:none`) and read by the inline script to pretty-print it. The script used `.innerText`, which WebKit/Safari returns as an empty string for `display:none` elements (Chrome falls back to the text content). As a result the JSON blocks rendered empty in Safari while working in Chrome. Switch the three reads to `.textContent`, which is unaffected by CSS rendering state and behaves consistently across browsers. Also replace the dead `$!button_color` Velocity quiet-reference on the Continue button (never populated by the plugin or a theme, so it rendered as nothing) with the literal `button-primary` class. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../authentication-action/debug-attribute/index.vm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/templates/authentication-action/debug-attribute/index.vm b/src/main/resources/templates/authentication-action/debug-attribute/index.vm index 8f55cb6..36aae25 100644 --- a/src/main/resources/templates/authentication-action/debug-attribute/index.vm +++ b/src/main/resources/templates/authentication-action/debug-attribute/index.vm @@ -128,7 +128,7 @@

 
-        
+    
 
     
 
@@ -161,9 +161,9 @@
         }
     };
 
-    var subjectJSON = document.querySelector('.subject-json').innerText
-    var contextJSON = document.querySelector('.context-json').innerText
-    var actionJSON = document.querySelector('.action-json').innerText
+    var subjectJSON = document.querySelector('.subject-json').textContent
+    var contextJSON = document.querySelector('.context-json').textContent
+    var actionJSON = document.querySelector('.action-json').textContent
 
     document.querySelector('.json-pretty-subject').innerHTML = library.json.prettyPrint(JSON.parse(`[${subjectJSON}]`))
     document.querySelector('.json-pretty-context').innerHTML = library.json.prettyPrint(JSON.parse(`[${contextJSON}]`))