From 566f979f5d864b83d73b8a67d2b6046e8fcaa6c2 Mon Sep 17 00:00:00 2001 From: Matt Marjanovic Date: Fri, 21 Aug 2026 14:00:06 -0700 Subject: [PATCH 1/6] Fix: In LCARS clock, do not delete the timer alarm when leaving clock. The TIMER_IDX alarm, used for the "1-tap timer" feature of the LCARS clock, should not be deleted by the UI remove() method. Otherwise, the timer is lost whenever another app takes control of UI, e.g., when a message is displayed by Messages app. This commit brings back the intended behavior: when leaving the clock, an active timer remains active; and when returning to the clock, the clock will take control of the timer (display its current state, etc) again. --- apps/lcars/ChangeLog | 1 + apps/lcars/lcars.app.js | 2 +- apps/lcars/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index a763e55cd62..5e2b688de28 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -30,3 +30,4 @@ 0.30: Add many new colors to the settings and allows random colors on startup if enabled. 0.31: Replace degree symbol in temperature by '. 0.32: Fix settings - permit CoreT as an option for the rows. +0.33: Stop deleting the timer alarm when switching away from clock (bug introduced in v0.29). diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 13b71ac8033..054ac4551bb 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -853,9 +853,9 @@ Bangle.setUI({mode:"clock",remove:function() { Bangle.removeListener("lock",onLock); Bangle.removeListener("charging",onCharge); Bangle.removeListener("touch",onTouch); - require('sched').setAlarm(TIMER_IDX, undefined); g.setTheme(themeBefore); widget_utils.cleanup(); + // NB: Leave TIMER_IDX alarm alone; timer should persist while leaving and returning to clock. }}); Bangle.loadWidgets(); // Clear the screen once, at startup and draw clock diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 45b701d8767..c998ad685f7 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -3,7 +3,7 @@ "name": "LCARS Clock", "shortName":"LCARS", "icon": "lcars.png", - "version":"0.32", + "version":"0.33", "readme": "README.md", "supports": ["BANGLEJS2","BANGLEJS3_COMPAT"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From b48dcacbbcd899914207137b65e1325ac678d948 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 22 Aug 2026 08:13:05 +0200 Subject: [PATCH 2/6] lcars: fix lint warnings --- apps/lcars/ChangeLog | 1 + apps/lcars/lcars.app.js | 24 +++++++++++++----------- apps/lcars/metadata.json | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index 5e2b688de28..268cc9dc5a5 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -31,3 +31,4 @@ 0.31: Replace degree symbol in temperature by '. 0.32: Fix settings - permit CoreT as an option for the rows. 0.33: Stop deleting the timer alarm when switching away from clock (bug introduced in v0.29). +0.34: Fix lint warnings. diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 054ac4551bb..efc5340a03f 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -23,15 +23,16 @@ for (const key in saved_settings) { settings[key] = saved_settings[key]; } - -//Colors to use -var color_options = [ - 'Green', 'Orange', 'Cyan', 'Purple', 'Red', 'Blue', 'Yellow', 'White', - 'Purple', 'Pink', 'Light Green', 'Brown', 'Turquoise', 'Magenta', 'Lime', - 'Gold', 'Sky Blue', 'Rose', 'Lavender', 'Amber', 'Indigo', 'Teal', - 'Crimson', 'Maroon', 'Firebrick', 'Dark Red', 'Aqua', 'Emerald', 'Royal Blue', - 'Sunset Orange', 'Turquoise Blue', 'Hot Pink', 'Goldenrod', 'Deep Sky Blue' -]; + /* fix no-unused-vars lint warning +* //Colors to use +* var color_options = [ +* 'Green', 'Orange', 'Cyan', 'Purple', 'Red', 'Blue', 'Yellow', 'White', +* 'Purple', 'Pink', 'Light Green', 'Brown', 'Turquoise', 'Magenta', 'Lime', +* 'Gold', 'Sky Blue', 'Rose', 'Lavender', 'Amber', 'Indigo', 'Teal', +* 'Crimson', 'Maroon', 'Firebrick', 'Dark Red', 'Aqua', 'Emerald', 'Royal Blue', +* 'Sunset Orange', 'Turquoise Blue', 'Hot Pink', 'Goldenrod', 'Deep Sky Blue' +* ]; +*/ var bg_code = [ '#00ff00', '#FF9900', '#0094FF', '#FF00DC', '#ff0000', '#0000ff', '#ffef00', '#FFFFFF', @@ -78,6 +79,7 @@ let convert24to16 = function(input) //Converting colors to the correct format. +let color1C, color2C, color3C; // fix lint warning no-undef let randomColors = function () { if (settings.randomColors) { @@ -290,9 +292,9 @@ let printRow = function(text, value, y, c){ g.drawString(text, 135, y); // Plot text - width = g.stringWidth(value); + const WIDTH = g.stringWidth(value); g.setColor(cBlack); - g.fillRect(130-width-8, y-2, 130, y+18); + g.fillRect(130-WIDTH-8, y-2, 130, y+18); g.setColor(c); g.setFontAlign(1,-1,0); g.drawString(value, 126, y); diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index c998ad685f7..6b56596d4d8 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -3,7 +3,7 @@ "name": "LCARS Clock", "shortName":"LCARS", "icon": "lcars.png", - "version":"0.33", + "version":"0.34", "readme": "README.md", "supports": ["BANGLEJS2","BANGLEJS3_COMPAT"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From 1d554c69a042cabdaa398912ba12ef5702ee616a Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 22 Aug 2026 08:17:00 +0200 Subject: [PATCH 3/6] lcars: drop color selection array from app.js ... as it's unused there. --- apps/lcars/lcars.app.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index efc5340a03f..39e6f37332c 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -23,17 +23,6 @@ for (const key in saved_settings) { settings[key] = saved_settings[key]; } - /* fix no-unused-vars lint warning -* //Colors to use -* var color_options = [ -* 'Green', 'Orange', 'Cyan', 'Purple', 'Red', 'Blue', 'Yellow', 'White', -* 'Purple', 'Pink', 'Light Green', 'Brown', 'Turquoise', 'Magenta', 'Lime', -* 'Gold', 'Sky Blue', 'Rose', 'Lavender', 'Amber', 'Indigo', 'Teal', -* 'Crimson', 'Maroon', 'Firebrick', 'Dark Red', 'Aqua', 'Emerald', 'Royal Blue', -* 'Sunset Orange', 'Turquoise Blue', 'Hot Pink', 'Goldenrod', 'Deep Sky Blue' -* ]; -*/ - var bg_code = [ '#00ff00', '#FF9900', '#0094FF', '#FF00DC', '#ff0000', '#0000ff', '#ffef00', '#FFFFFF', '#FF00FF', '#6C00FF', '#99FF00', '#8B4513', '#40E0D0', '#FF00FF', '#00FF00', '#FFD700', From a0ea8c7faf198a3177e9bfbd65f23f79ca537791 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 22 Aug 2026 08:27:49 +0200 Subject: [PATCH 4/6] lcars: harmonise naming of files with rest of repository --- apps/lcars/{lcars.app.js => app.js} | 0 apps/lcars/{lcars.png => app.png} | Bin apps/lcars/{lcars.icon.js => icon.js} | 0 apps/lcars/metadata.json | 8 ++++---- apps/lcars/{lcars.settings.js => settings.js} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename apps/lcars/{lcars.app.js => app.js} (100%) rename apps/lcars/{lcars.png => app.png} (100%) rename apps/lcars/{lcars.icon.js => icon.js} (100%) rename apps/lcars/{lcars.settings.js => settings.js} (100%) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/app.js similarity index 100% rename from apps/lcars/lcars.app.js rename to apps/lcars/app.js diff --git a/apps/lcars/lcars.png b/apps/lcars/app.png similarity index 100% rename from apps/lcars/lcars.png rename to apps/lcars/app.png diff --git a/apps/lcars/lcars.icon.js b/apps/lcars/icon.js similarity index 100% rename from apps/lcars/lcars.icon.js rename to apps/lcars/icon.js diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 6b56596d4d8..3233076155a 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -2,7 +2,7 @@ "id": "lcars", "name": "LCARS Clock", "shortName":"LCARS", - "icon": "lcars.png", + "icon": "app.png", "version":"0.34", "readme": "README.md", "supports": ["BANGLEJS2","BANGLEJS3_COMPAT"], @@ -15,9 +15,9 @@ {"url":"screenshot_3.png"}], "allow_emulator":true, "storage": [ - {"name":"lcars.app.js","url":"lcars.app.js"}, - {"name":"lcars.img","url":"lcars.icon.js","evaluate":true}, - {"name":"lcars.settings.js","url":"lcars.settings.js"} + {"name":"lcars.app.js","url":"app.js"}, + {"name":"lcars.img","url":"icon.js","evaluate":true}, + {"name":"lcars.settings.js","url":"settings.js"} ], "data":[{"name":"lcars.setting.json"}] } diff --git a/apps/lcars/lcars.settings.js b/apps/lcars/settings.js similarity index 100% rename from apps/lcars/lcars.settings.js rename to apps/lcars/settings.js From 6eb540802f0d49ee8a24c0fa28c143947a4e47fa Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 22 Aug 2026 08:34:20 +0200 Subject: [PATCH 5/6] lcars: add to ChangeLog --- apps/lcars/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index 268cc9dc5a5..dffc7ab99a8 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -31,4 +31,4 @@ 0.31: Replace degree symbol in temperature by '. 0.32: Fix settings - permit CoreT as an option for the rows. 0.33: Stop deleting the timer alarm when switching away from clock (bug introduced in v0.29). -0.34: Fix lint warnings. +0.34: Fix lint warnings. Harmonise file names with rest of repository. From 2b8dd69ead4d362453086f7a2f2f3501e154b455 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 22 Aug 2026 08:35:02 +0200 Subject: [PATCH 6/6] lint_exemptions: rm "lcars.app.js" --- apps/lint_exemptions.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/apps/lint_exemptions.js b/apps/lint_exemptions.js index 8e755dbb093..978e5cf3515 100644 --- a/apps/lint_exemptions.js +++ b/apps/lint_exemptions.js @@ -183,13 +183,6 @@ module.exports = { "no-undef" ] }, - "apps/lcars/lcars.app.js": { - "hash": "297b92373c9e8db3ba31cb3aa42909d18a1951eef9bd7e8e0847957aa411765d", - "rules": [ - "no-unused-vars", - "no-undef" - ] - }, "apps/widagps/widget.js": { "hash": "a58cdc481962575ef0aa0bfaedcc1f9de3ce966218c5b16168d8ed8b4b9672b8", "rules": [