homebridge-dyson-solarcycle-morph 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ All notable changes to this project are documented here.
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.1] — 2026-09-17
9
+
10
+ ### Changed
11
+
12
+ - The settings page shows the auth code field alongside the request and submit
13
+ buttons, rather than revealing it once a code has been requested. Someone who
14
+ already has a code in their inbox can type it straight in, and the step no
15
+ longer looks incomplete.
16
+ - Clearing the password no longer prints a notice explaining that the field is
17
+ now empty, next to the field that is now empty.
18
+
8
19
  ## [0.2.0] — 2026-09-17
9
20
 
10
21
  Identical in content to 0.1.0. Published from CI rather than from a developer's
@@ -16,6 +16,9 @@
16
16
  .morph-hint { font-size: .8rem; opacity: .7; }
17
17
  .morph-link { background: none; border: 0; padding: 0; font-size: .85rem;
18
18
  text-decoration: underline; cursor: pointer; color: inherit; opacity: .75; }
19
+ .morph-row { display: flex; gap: .5rem; align-items: flex-start; }
20
+ .morph-row input { flex: 1 1 auto; min-width: 0; }
21
+ .morph-row .btn { flex: 0 0 auto; white-space: nowrap; }
19
22
  </style>
20
23
 
21
24
  <div id="morph">
@@ -44,18 +47,22 @@
44
47
  </div>
45
48
 
46
49
  <div id="morph-auth">
50
+ <div id="morph-needs-lights" class="alert alert-warning morph-hidden">
51
+ Add a light below first — pairing fetches a key for each one, so there has to be
52
+ something to fetch it for.
53
+ </div>
47
54
  <div id="morph-lamps-work" class="alert alert-info morph-hidden">
48
55
  Your lights already have their keys and will work without this. Authorising again is only
49
56
  needed to add a light or re-pair one.
50
57
  </div>
51
- <button type="button" class="btn btn-primary" id="morph-request">Request code by email</button>
52
- <div id="morph-code" class="mt-3 morph-hidden">
53
- <div class="form-group">
54
- <label for="morph-otp">Code from the Dyson email</label>
55
- <input type="text" class="form-control" id="morph-otp" inputmode="numeric"
56
- autocomplete="one-time-code" style="max-width:12rem">
58
+ <div class="form-group mb-0">
59
+ <label for="morph-otp">Auth code</label>
60
+ <div class="morph-row">
61
+ <input type="text" class="form-control" id="morph-otp"
62
+ autocomplete="one-time-code" placeholder="from the Dyson email">
63
+ <button type="button" class="btn btn-secondary" id="morph-request">Request code</button>
64
+ <button type="button" class="btn btn-primary" id="morph-verify">Submit</button>
57
65
  </div>
58
- <button type="button" class="btn btn-primary" id="morph-verify">Authorise</button>
59
66
  </div>
60
67
  </div>
61
68
 
@@ -176,7 +183,6 @@
176
183
  */
177
184
  function showAuthorised(created, devices) {
178
185
  $('morph-auth').classList.add('morph-hidden');
179
- $('morph-code').classList.add('morph-hidden');
180
186
  $('morph-done').classList.remove('morph-hidden');
181
187
  $('morph-find').disabled = false;
182
188
  const parts = [];
@@ -296,7 +302,6 @@
296
302
  }
297
303
  const { message } = await homebridge.request('/start-auth', { account: stored });
298
304
  show(message, 'success');
299
- $('morph-code').classList.remove('morph-hidden');
300
305
  $('morph-otp').focus();
301
306
  }));
302
307
 
@@ -373,8 +378,8 @@
373
378
  delete configs[0].dysonAccount.password;
374
379
  await homebridge.updatePluginConfig(configs);
375
380
  $('morph-password').value = '';
381
+ // The button disappearing says it happened; a notice would only repeat that.
376
382
  refreshPasswordButton();
377
- show('Password cleared. Press Save to write that to config.json. Enter it again only if you need to authorise afresh.', 'success');
378
383
  })());
379
384
 
380
385
  for (const id of ['morph-email', 'morph-password', 'morph-country']) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-dyson-solarcycle-morph",
3
3
  "displayName": "Dyson Solarcycle Morph",
4
- "version": "0.2.0",
4
+ "version": "0.2.1",
5
5
  "description": "Homebridge plugin for the Bluetooth LE controlled Dyson Solarcycle/Lightcycle Morph task light",
6
6
  "license": "MIT",
7
7
  "author": "Oliver Rummeyer",