From 2d242a48e192aacb99ad67c8e3aec293afc4bfd8 Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Sun, 24 May 2026 22:29:26 +0200 Subject: [PATCH] Validate config values before storing and sending to watch Co-Authored-By: Claude Sonnet 4.6 --- countdown_watchface/src/pkjs/index.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/countdown_watchface/src/pkjs/index.js b/countdown_watchface/src/pkjs/index.js index 4b8d2d2..d251449 100644 --- a/countdown_watchface/src/pkjs/index.js +++ b/countdown_watchface/src/pkjs/index.js @@ -77,10 +77,17 @@ Pebble.addEventListener('webviewclosed', function(e) { if (!e.response || e.response === 'cancel') return; try { var cfg = JSON.parse(decodeURIComponent(e.response)); - localStorage.setItem('chunk', cfg.chunk); - localStorage.setItem('start', cfg.start); - localStorage.setItem('end', cfg.end); - sendConfig(cfg); + var chunk = parseInt(cfg.chunk, 10); + var start = parseInt(cfg.start, 10); + var end = parseInt(cfg.end, 10); + if (chunk <= 0 || chunk > 60) return; + if (start < 0 || start > 22) return; + if (end < 1 || end > 23) return; + if (start >= end) return; + localStorage.setItem('chunk', chunk); + localStorage.setItem('start', start); + localStorage.setItem('end', end); + sendConfig({ chunk: chunk, start: start, end: end }); } catch (err) { console.log('Failed to parse config: ' + err); }