Devices: fixes from review round 4

- A switch clears every headset-specific list and its buttons at once.
- SSH goes to the IPv4 address that answered the probe, not the name again.
- A rejected headset edit changes nothing.
- The SteamOS/Lepton builds recorded in reports are read again per headset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
saphidandClaude Opus 5.5 committed 2026-09-28 22:00:09 +10:00
1 parent 318bc3b84f
commit d383a26746
5 files changed
+22 -7

No files matched your search

+5 -6
View File
@@ -519,12 +519,11 @@ class Registry:
"""-> the device after the change. The caller mirrors user and port into ~/.ssh/config."""
with self.lock:
d = self._find(device_id)
if name is not None:
d["name"] = check_text(name, "name") or d["alias"]
if user is not None:
d["user"] = check_user(user)
if port is not None:
d["port"] = check_port(port)
# Check everything first: a rejected edit changes nothing.
name = None if name is None else (check_text(name, "name") or d["alias"])
user = None if user is None else check_user(user)
port = None if port is None else check_port(port)
d.update({k: v for k, v in (("name", name), ("user", user), ("port", port)) if v is not None})
self.save()
return copy.deepcopy(d)