From ad19c8f20facad00fab48dfef79418e52236a5e9 Mon Sep 17 00:00:00 2001 From: Carsten Rehfeld Date: Sat, 16 May 2026 21:30:29 +0200 Subject: [PATCH] fix(admin): relax Qute type-safety for arithmetic in list.html, fix JS template literals requireTypeSafeExpressions=false allows {page+1} and (page+1)*size in pagination conditions. JS template literals with ${days} replaced with string concatenation to avoid Qute consuming the {days} token. Co-Authored-By: Mira Rehfeld --- .../botstandards/apix/admin/resource/SandboxListResource.java | 2 +- .../src/main/resources/templates/SandboxListResource/list.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apix-admin/src/main/java/org/botstandards/apix/admin/resource/SandboxListResource.java b/apix-admin/src/main/java/org/botstandards/apix/admin/resource/SandboxListResource.java index cd0413a..c0df1ed 100644 --- a/apix-admin/src/main/java/org/botstandards/apix/admin/resource/SandboxListResource.java +++ b/apix-admin/src/main/java/org/botstandards/apix/admin/resource/SandboxListResource.java @@ -26,7 +26,7 @@ public class SandboxListResource { @ConfigProperty(name = "apix.admin.key") String adminKey; - @CheckedTemplate + @CheckedTemplate(requireTypeSafeExpressions = false) static class Templates { static native TemplateInstance list(AdminSandboxListResponse result, int page, int size, String tier); static native TemplateInstance error(String message); diff --git a/apix-admin/src/main/resources/templates/SandboxListResource/list.html b/apix-admin/src/main/resources/templates/SandboxListResource/list.html index deab1f1..0197746 100644 --- a/apix-admin/src/main/resources/templates/SandboxListResource/list.html +++ b/apix-admin/src/main/resources/templates/SandboxListResource/list.html @@ -117,7 +117,7 @@ document.querySelectorAll('[data-expires]').forEach(td => { const d = new Date(td.dataset.expires); const now = new Date(); const days = Math.round((d - now) / 86400000); - td.textContent = days < 0 ? `expired ${-days}d ago` : `in ${days}d`; + td.textContent = days < 0 ? ('expired ' + (-days) + 'd ago') : ('in ' + days + 'd'); });