fix(node): clarify wireless enrollment and restore active K1 after upgrade
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Wireless enrollment sequence R5
|
||||
|
||||
The owner confirmed onboard Bluetooth discovery and requested visible device
|
||||
rows, no redundant bottom Close button, and no Connect footer before a
|
||||
successful connection check. The board is connected to its router by Ethernet;
|
||||
only K1 needs that router's Wi-Fi. LinuxWifiAssociationProbe already represents
|
||||
Ethernet as a valid not-wifi path with continuity evidence. No host Wi-Fi
|
||||
association or network switching is added.
|
||||
|
||||
## Observed R4 connection result
|
||||
|
||||
The operation completed at 09:44:26 UTC with action=connect, status=failed,
|
||||
error_code=network-provision-candidate-not-fresh, phase=network_not_applied and
|
||||
side_effect_status=none. The selected native BLE handle was no longer usable;
|
||||
this attempt did not transmit the network settings. The exact preceding event
|
||||
that invalidated that handle is not established by the available projection.
|
||||
Do not describe this as a wrong Wi-Fi password, an Ethernet failure or a K1
|
||||
station refusal. Private journal inspection without interactive sudo was
|
||||
unavailable; no authentication bypass was used.
|
||||
|
||||
## Interface sequence
|
||||
|
||||
WirelessEnrollmentWindow keeps the top close action and omits the footer when
|
||||
there are no contributed actions. The supported-model selector remains first.
|
||||
The K1 contribution renders discovered devices as canonical ResourceList /
|
||||
ResourceRow entries with explicit Select actions. Wi-Fi appears after selection.
|
||||
|
||||
Check connection explicitly says it sends the entered Wi-Fi settings to K1 and
|
||||
checks communication with the board. It uses the existing single provision
|
||||
intent and observes its owned bootstrap; it does not issue a second command.
|
||||
The separate read-only state check is reserved for an unconfirmed network
|
||||
outcome, preserving recovery without another provisioning write.
|
||||
|
||||
Connect appears only after the dialog obtains a successful current connection
|
||||
proof, including the exact runtime, discovery generation, mode revision,
|
||||
selected device and device session. Closing with this button finishes the
|
||||
dialog and refreshes inventory; it does not provision again or create another
|
||||
backend enrollment phase. A restart, outage, new scan, changed mode/device or
|
||||
changed session invalidates the displayed completion action. The ordinary
|
||||
backend session is established by the verified connection itself.
|
||||
|
||||
A candidate-not-fresh result explicitly asks for a new Bluetooth scan and says
|
||||
that Wi-Fi settings were not sent. The failed selection is cleared and cannot
|
||||
be reselected from that same invalid generation in the open dialog. No runtime
|
||||
fence or BLE safety rule was relaxed. The device protocol, optional K1 backend,
|
||||
Rerun profiles and recovery supervisors are unchanged.
|
||||
|
||||
## Standalone Node upgrade
|
||||
|
||||
Inspection found that Node preinst stopped K1, while Node postinst left it
|
||||
stopped during a Node-only update. Preinst now records a previously active K1
|
||||
worker in a root-owned /run marker; postinst restores it if its optional package
|
||||
is already configured. A jointly upgraded plugin starts itself after its own
|
||||
configuration. An inactive plugin is not started by this path.
|
||||
|
||||
The real shell scripts were executed against isolated OS paths and fake OS
|
||||
commands for active/configured, inactive/configured and active/unpacked cases.
|
||||
The focused Python suite has 21 passing tests, including Ethernet without a
|
||||
host Wi-Fi request and retention of a usable native BLE capture after scanning.
|
||||
The Core frontend suite has 791 passing tests; Core TypeScript and production
|
||||
build passed. Ruff, shell syntax and diff checks passed.
|
||||
|
||||
Node 0.8.3 is the replacement UI/host package. Installed optional K1
|
||||
0.1.2+private.1 is retained. Exact artifact and installation acceptance follows;
|
||||
a new fresh-cache UI connection, live streams and recovery remain pending.
|
||||
Reference in New Issue
Block a user