From bb10a5a3dd08edf4e2554aa976ca0ec21cfc9586 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 15 Dec 2021 11:48:03 +0000 Subject: [PATCH] boot 0.39: Fix passkey support (fix https://github.com/espruino/Espruino/issues/2035 --- apps.json | 4 ++-- apps/boot/ChangeLog | 1 + apps/boot/bootupdate.js | 2 +- apps/setting/ChangeLog | 1 + apps/setting/settings.js | 4 +++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps.json b/apps.json index 89492ec7d..941bc0716 100644 --- a/apps.json +++ b/apps.json @@ -16,7 +16,7 @@ { "id": "boot", "name": "Bootloader", - "version": "0.38", + "version": "0.39", "description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings", "icon": "bootloader.png", "type": "bootloader", @@ -167,7 +167,7 @@ { "id": "setting", "name": "Settings", - "version": "0.36", + "version": "0.37", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/boot/ChangeLog b/apps/boot/ChangeLog index b941a9937..5c929421b 100644 --- a/apps/boot/ChangeLog +++ b/apps/boot/ChangeLog @@ -42,3 +42,4 @@ 0.36: Add comments to .boot0 to make debugging a bit easier 0.37: Remove Quiet Mode settings: now handled by Quiet Mode Schedule app 0.38: Option to log to file if settings.log==2 +0.39: Fix passkey support (fix https://github.com/espruino/Espruino/issues/2035) diff --git a/apps/boot/bootupdate.js b/apps/boot/bootupdate.js index 3001bb5c1..e338d9020 100644 --- a/apps/boot/bootupdate.js +++ b/apps/boot/bootupdate.js @@ -88,7 +88,7 @@ if (global.save) boot += `global.save = function() { throw new Error("You can't // Apply any settings-specific stuff if (s.options) boot+=`Bangle.setOptions(${E.toJS(s.options)});\n`; if (s.brightness && s.brightness!=1) boot+=`Bangle.setLCDBrightness(${s.brightness});\n`; -if (s.passkey!==undefined && s.passkey.length==6) boot+=`NRF.setSecurity({passkey:${s.passkey}, mitm:1, display:1});\n`; +if (s.passkey!==undefined && s.passkey.length==6) boot+=`NRF.setSecurity({passkey:${E.toJS(s.passkey.toString())}, mitm:1, display:1});\n`; if (s.whitelist) boot+=`NRF.on('connect', function(addr) { if (!(require('Storage').readJSON('setting.json',1)||{}).whitelist.includes(addr)) NRF.disconnect(); });\n`; // Pre-2v10 firmwares without a theme/setUI delete g.theme; // deleting stops us getting confused by our own decl. builtins can't be deleted diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index c676e3828..64844dcbc 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -39,3 +39,4 @@ 0.34: Remove Quiet Mode LCD settings: now handled by Quiet Mode Schedule app 0.35: Change App/Widget settings to 'App Settings' so it fits on Bangle screen 0.36: Added 'Utils' menu with helpful utilities for restoring Bangle.js +0.37: Going into passkey menu now saves settings with passkey diff --git a/apps/setting/settings.js b/apps/setting/settings.js index f55f9937f..9cba09d6c 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -276,8 +276,10 @@ function showPasskeyMenu() { showBLEMenu(); } }; - if (!settings.passkey || settings.passkey.length!=6) + if (!settings.passkey || settings.passkey.length!=6) { settings.passkey = "123456"; + updateSettings(); + } for (var i=0;i<6;i++) (function(i){ menu[`Digit ${i+1}`] = { value : 0|settings.passkey[i],