From 5fb6c9636051423254c3f36f0ff19857898c93ad Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 14 Sep 2026 13:59:39 +0200 Subject: docs: record the network and bluetooth traps The native backends start empty for about two seconds, device lists are ObjectModels, NMSettings is not in QML scope, and quickshell has no BlueZ agent. Each one cost a probe to learn; writing them down is cheaper than re-learning them. --- AGENTS.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 67603e2..626d3c6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -144,6 +144,21 @@ changing that component. The ones that generalise: - **`Virsh.sampling` gates the 2s stats poll, not the whole service.** The lifecycle event stream runs unconditionally, which is what keeps the VM list and the tile's dots current while the page is closed. +- **`Quickshell.Networking` and `Quickshell.Bluetooth` start empty.** Devices, + the adapter and the wifi radio all read empty or false for roughly two + seconds after launch, then populate. Bindings repaint when they arrive; + nothing may cache the first paint. Both device lists are `ObjectModel`s, so + iterate `.values`, which is a plain array. +- **`NMSettings` is not in QML scope.** `typeof NMSettings` is `undefined`, so + a NetworkManager profile cannot be built from scratch in QML. This is why + the network module cannot join a hidden network, and the same class of + limit blocks enterprise 802.1x. +- **Quickshell has no BlueZ pairing agent and no generic D-Bus module.** A + device needing a passkey or PIN confirmed cannot be paired from QML; + `bluetoothctl` registers its own agent, so pairing is the one shell-out in + the bluetooth module. +- **`WifiNetwork.signalStrength` is `0..1`, not a percentage.** The known + networks a scan has not refreshed report a cached `1`. ## Theme -- cgit v1.2.3