From f42daa161a6fe57be49a0ada1e1f26e210e15b08 Mon Sep 17 00:00:00 2001 From: Heino <132708558+HeinoDev@users.noreply.github.com> Date: Tue, 10 Nov 2026 18:09:56 +0100 Subject: [PATCH 1/2] Score submissions rejection & NaN Values --- .gitignore | 5 +++-- server/trapphone/phones.lua | 2 +- web/src/apps/Messages.tsx | 4 +++- web/src/styles.css | 11 +++++++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a45972a..86f3088 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,8 @@ tools/art/tex_*.png __pycache__/ *.pyc - # The built handset page. Each release builds it into its zip (.github/workflows/release.yml); to -# run a clone, `npm run build` in web/. +# run a clone, `npm run build` in `web/`. web/build/ + +web/bun.lock diff --git a/server/trapphone/phones.lua b/server/trapphone/phones.lua index 6393379..87163be 100644 --- a/server/trapphone/phones.lua +++ b/server/trapphone/phones.lua @@ -737,7 +737,7 @@ end) lib.callback.register('sd-trapphone:server:submitScore', function(src, game, score) local phone = phones.current(src) - if not phone or type(game) ~= 'string' or #game > 16 or type(score) ~= 'number' then return false end + if not phone or game ~= 'worm' or type(score) ~= 'number' or score ~= score then return false end score = math.floor(math.max(0, math.min(999999, score))) diff --git a/web/src/apps/Messages.tsx b/web/src/apps/Messages.tsx index cdf9ee5..d6249b8 100644 --- a/web/src/apps/Messages.tsx +++ b/web/src/apps/Messages.tsx @@ -48,7 +48,9 @@ export function Messages() { return ( - { nav.setIndex(i); open(i); }} empty={t('ui.messages.empty')} /> +
+ { nav.setIndex(i); open(i); }} empty={t('ui.messages.empty')} /> +
); } diff --git a/web/src/styles.css b/web/src/styles.css index f9cf681..e3153bf 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -913,6 +913,14 @@ button { opacity: 0.72; } +.messages-list .row-sub { + display: -webkit-box; + white-space: normal; + overflow-wrap: anywhere; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + .row-right { flex: none; font-size: 13px; @@ -1060,6 +1068,9 @@ button { font-weight: 600; } +.ticket-line span:first-child { min-width: 0; overflow-wrap: anywhere; } +.ticket-line span:last-child { flex: none; } + .ticket-meta { display: flex; justify-content: space-between; From 1484224068955a4cfdfca1469a20a478741d7dc2 Mon Sep 17 00:00:00 2001 From: Heino <132708558+HeinoDev@users.noreply.github.com> Date: Tue, 10 Nov 2026 19:56:07 +0100 Subject: [PATCH 2/2] Alignment & typography Keypad numbers now sit above their letters & navigation pad looks have been improved & a small polish of previous changes --- web/src/device/Handset.tsx | 4 +- web/src/styles.css | 109 ++++++++++++++++++++++++++++--------- 2 files changed, 85 insertions(+), 28 deletions(-) diff --git a/web/src/device/Handset.tsx b/web/src/device/Handset.tsx index 2fe8c62..0e6675a 100644 --- a/web/src/device/Handset.tsx +++ b/web/src/device/Handset.tsx @@ -22,8 +22,8 @@ function KeyButton({ k, className, label, children }: { k: Key; className: strin } const Arrow = ({ turn }: { turn: number }) => ( -