Summary
Implement Linux support for connection_status().
The types, command, permissions, and JS/TS bindings have already been merged in #2.
Linux exposes NetworkManager over D-Bus (org.freedesktop.NetworkManager): overall connectivity, metered state, and the active connection's transport type. Cellular roaming requires cross-referencing ModemManager (org.freedesktop.ModemManager1). On systems without NetworkManager (systemd-networkd-only, minimal containers, Alpine), the backend should gracefully degrade to a best-effort status rather than error.
Out of Scope
- Windows, iOS, and Android backends — separate follow-ups.
- Change-notification / observer APIs for status transitions.
- Data-limit fields (
approaching_data_limit, over_data_limit) — not exposed on Linux
Summary
Implement Linux support for
connection_status().The types, command, permissions, and JS/TS bindings have already been merged in #2.
Linux exposes NetworkManager over D-Bus (
org.freedesktop.NetworkManager): overall connectivity, metered state, and the active connection's transport type. Cellular roaming requires cross-referencing ModemManager (org.freedesktop.ModemManager1). On systems without NetworkManager (systemd-networkd-only, minimal containers, Alpine), the backend should gracefully degrade to a best-effort status rather than error.Out of Scope
approaching_data_limit,over_data_limit) — not exposed on Linux