From 84698e61911b8d015abc6fd044aa78a5854e7b41 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 13:58:47 +0000 Subject: [PATCH] docs: publish channels: main api --- api/core/ble/navigation.html | 70 ++++- api/core/common/navigation.html | 70 ++++- .../-operation-lease/index.html | 141 +++++++++ .../-operation-lease/operation.html | 117 ++++++++ .../-radio-operation-lock.html} | 10 +- .../acquire.html | 6 +- .../active-operations.html | 117 ++++++++ .../-radio-operation-lock/holders.html | 117 ++++++++ .../-radio-operation-lock/index.html | 254 +++++++++++++++++ .../is-active.html | 6 +- .../release.html | 6 +- .../suppresses-transport.html | 117 ++++++++ .../-radio-operation-lock/with-operation.html | 117 ++++++++ .../-discovery-scan/index.html | 171 +++++++++++ .../-firmware-maintenance/index.html | 171 +++++++++++ .../-firmware-update}/index.html | 85 ++---- .../-radio-operation/entries.html | 117 ++++++++ .../-radio-operation/index.html | 269 ++++++++++++++++++ .../suppresses-transport.html | 117 ++++++++ .../-radio-operation/value-of.html | 117 ++++++++ .../-radio-operation/values.html | 117 ++++++++ .../index.html | 62 ++-- .../-measure-unit-kind/-f-o-o-t/index.html | 8 +- .../-measure-unit-kind/-i-n-c-h/index.html | 8 +- .../-k-i-l-o-g-r-a-m/index.html | 8 +- .../-k-i-l-o-m-e-t-e-r/index.html | 8 +- .../index.html | 8 +- .../-measure-unit-kind/-m-e-t-e-r/index.html | 8 +- .../-m-e-t-e-r_-p-e-r_-s-e-c-o-n-d/index.html | 8 +- .../-measure-unit-kind/-m-i-l-e/index.html | 8 +- .../-m-i-l-e_-p-e-r_-h-o-u-r/index.html | 8 +- .../-m-i-l-l-i-m-e-t-e-r/index.html | 8 +- .../-measure-unit-kind/-p-o-u-n-d/index.html | 8 +- .../-measure-unit-kind/index.html | 8 +- .../-i-m-p-e-r-i-a-l/index.html | 8 +- .../-m-e-t-r-i-c/index.html | 8 +- .../-measurement-system/index.html | 8 +- .../-relative-day/-older/index.html | 8 +- .../-relative-day/-today/index.html | 8 +- .../-relative-day/-yesterday/index.html | 8 +- .../-relative-day/index.html | 8 +- .../-c-e-l-s-i-u-s/index.html | 8 +- .../-f-a-h-r-e-n-h-e-i-t/index.html | 8 +- .../-temperature-unit/index.html | 8 +- .../-i-m-p-e-r-i-a-l/index.html | 8 +- .../-units-override/-m-e-t-r-i-c/index.html | 8 +- .../-units-override/-s-y-s-t-e-m/index.html | 8 +- .../-units-override/index.html | 8 +- api/core/data/navigation.html | 70 ++++- api/core/database/navigation.html | 70 ++++- api/core/datastore/navigation.html | 70 ++++- api/core/di/navigation.html | 70 ++++- api/core/domain/navigation.html | 70 ++++- api/core/model/navigation.html | 70 ++++- api/core/navigation/navigation.html | 70 ++++- api/core/network/navigation.html | 70 ++++- api/core/nfc/navigation.html | 70 ++++- api/core/prefs/navigation.html | 70 ++++- api/core/repository/navigation.html | 70 ++++- ...e-f-a-u-l-t_-d-w-e-l-l_-m-i-n-u-t-e-s.html | 2 +- .../-discovery-prefs/-companion/index.html | 2 +- .../-mesh-beacon-prefs/index.html | 2 +- .../set-stored-beacons.html | 2 +- .../-mesh-beacon-prefs/stored-beacons.html | 2 +- api/core/service/navigation.html | 70 ++++- .../index.html | 8 +- .../-n-o_-d-e-v-i-c-e/index.html | 8 +- .../-s-t-a-r-t_-s-e-r-v-i-c-e/index.html | 8 +- .../-boot-reconnect-decision/index.html | 8 +- .../-m-a-x_-b-a-t-t-e-r-y_-l-e-v-e-l.html | 2 +- .../-companion/index.html | 2 +- .../-mesh-notification-manager-impl.html | 4 +- .../cancel-low-battery-notification.html | 2 +- .../cancel-message-notification.html | 2 +- .../clear-client-notification.html | 2 +- .../clear-notifications.html | 2 +- .../get-service-notification.html | 2 +- .../index.html | 8 +- .../init-channels.html | 2 +- .../refresh-conversation-after-reply.html | 2 +- .../show-alert-notification.html | 2 +- .../show-client-notification.html | 2 +- .../show-new-node-seen-notification.html | 2 +- ...ow-or-update-low-battery-notification.html | 2 +- .../update-message-notification.html | 2 +- .../update-reaction-notification.html | 2 +- .../update-service-state-notification.html | 2 +- .../update-waypoint-notification.html | 2 +- .../absolute-min-device-version.html | 2 +- .../-companion/create-intent.html | 2 +- .../-mesh-service/-companion/index.html | 2 +- .../-companion/min-device-version.html | 2 +- .../-mesh-service/-mesh-service.html | 2 +- .../-mesh-service/index.html | 2 +- .../-mesh-service/on-bind.html | 2 +- .../-mesh-service/on-create.html | 2 +- .../-mesh-service/on-destroy.html | 2 +- .../-mesh-service/on-start-command.html | 2 +- .../-mesh-service/on-task-removed.html | 2 +- .../-s-t-a-y_-f-o-r_-d-e-v-i-c-e/index.html | 156 ++++++++++ .../index.html | 156 ++++++++++ .../-s-t-o-p/index.html | 156 ++++++++++ .../-service-stay-alive-decision/entries.html | 117 ++++++++ .../-service-stay-alive-decision/index.html | 254 +++++++++++++++++ .../value-of.html | 117 ++++++++ .../-service-stay-alive-decision/values.html | 117 ++++++++ .../-shared-radio-interface-service.html | 4 +- .../index.html | 8 +- .../org.meshtastic.core.service/index.html | 34 ++- .../service-stay-alive-decision.html | 117 ++++++++ api/core/takserver/navigation.html | 70 ++++- api/core/testing/navigation.html | 70 ++++- .../-robolectric-ble-bonding/index.html | 2 +- api/core/ui/navigation.html | 70 ++++- .../-meshtastic-dialog.html | 2 +- api/feature/connections/navigation.html | 70 ++++- .../-connection-action-button.html | 2 +- .../index.html | 2 +- api/feature/discovery/navigation.html | 70 ++++- .../-companion/index.html | 2 +- .../-discovery-scan-engine.html | 4 +- .../current-session.html | 2 +- .../-discovery-scan-engine/index.html | 8 +- .../-discovery-scan-engine/is-active.html | 2 +- .../on-packet-received.html | 2 +- .../-discovery-scan-engine/reset.html | 2 +- ...ore-interrupted-sessions-on-reconnect.html | 2 +- .../-discovery-scan-engine/scan-state.html | 2 +- .../start-scan-targets.html | 2 +- .../-discovery-scan-engine/start-scan.html | 2 +- .../-discovery-scan-engine/stop-scan.html | 2 +- .../index.html | 2 +- api/feature/docs/navigation.html | 70 ++++- api/feature/firmware/navigation.html | 70 ++++- .../-default-firmware-update-manager.html | 4 +- .../index.html | 8 +- .../recover-dfu-device.html | 2 +- .../start-update.html | 2 +- .../-firmware-update-method/-ble/index.html | 2 +- .../-unknown/index.html | 2 +- .../-firmware-update-method/-usb/index.html | 2 +- .../-firmware-update-method/-wifi/index.html | 2 +- .../-firmware-update-method/description.html | 2 +- .../-firmware-update-method/index.html | 2 +- .../-firmware-update-view-model.html | 4 +- .../cancel-update.html | 2 +- .../check-for-updates.html | 2 +- .../confirm-local-firmware-file.html | 2 +- .../connection-state.html | 2 +- .../current-firmware-version.html | 2 +- .../device-hardware.html | 2 +- ...bootloader-warning-for-current-device.html | 2 +- .../dismiss-local-firmware-file.html | 2 +- .../-firmware-update-view-model/index.html | 8 +- .../nightly-unlocked.html | 2 +- .../pending-local-firmware-file.html | 2 +- .../prepare-local-firmware-file.html | 2 +- .../save-dfu-file.html | 2 +- .../selected-release-type.html | 2 +- .../selected-release.html | 2 +- .../set-release-type.html | 2 +- .../start-bootloader-upgrade.html | 2 +- .../start-update.html | 2 +- .../-firmware-update-view-model/state.html | 2 +- .../write-maintenance-pass.html | 2 +- .../index.html | 4 +- api/feature/intro/navigation.html | 70 ++++- api/feature/map-maplibre/navigation.html | 70 ++++- api/feature/map-terrain/navigation.html | 70 ++++- api/feature/map/navigation.html | 70 ++++- api/feature/messaging/navigation.html | 70 ++++- api/feature/node/navigation.html | 70 ++++- api/feature/settings/navigation.html | 70 ++++- api/feature/widget/navigation.html | 70 ++++- api/feature/wifi-provision/navigation.html | 70 ++++- api/navigation.html | 70 ++++- api/scripts/pages.json | 2 +- main/assets/css/just-the-docs-dark.css.map | 2 +- main/assets/css/just-the-docs-default.css.map | 2 +- main/assets/css/just-the-docs-light.css.map | 2 +- .../css/just-the-docs-meshtastic-dark.css.map | 2 +- .../css/just-the-docs-meshtastic.css.map | 2 +- 182 files changed, 5465 insertions(+), 629 deletions(-) create mode 100644 api/core/common/org.meshtastic.core.common.state/-operation-lease/index.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-operation-lease/operation.html rename api/core/common/org.meshtastic.core.common.state/{-firmware-maintenance-lock/-firmware-maintenance-lock.html => -radio-operation-lock/-radio-operation-lock.html} (92%) rename api/core/common/org.meshtastic.core.common.state/{-firmware-maintenance-lock => -radio-operation-lock}/acquire.html (86%) create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/active-operations.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/holders.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/index.html rename api/core/common/org.meshtastic.core.common.state/{-firmware-maintenance-lock => -radio-operation-lock}/is-active.html (94%) rename api/core/common/org.meshtastic.core.common.state/{-firmware-maintenance-lock => -radio-operation-lock}/release.html (85%) create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/suppresses-transport.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/with-operation.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/-discovery-scan/index.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/-firmware-maintenance/index.html rename api/core/common/org.meshtastic.core.common.state/{-firmware-maintenance-lock => -radio-operation/-firmware-update}/index.html (54%) create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/entries.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/index.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/suppresses-transport.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/value-of.html create mode 100644 api/core/common/org.meshtastic.core.common.state/-radio-operation/values.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/-s-t-a-y_-f-o-r_-d-e-v-i-c-e/index.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/-s-t-a-y_-f-o-r_-o-p-e-r-a-t-i-o-n/index.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/-s-t-o-p/index.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/entries.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/index.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/value-of.html create mode 100644 api/core/service/org.meshtastic.core.service/-service-stay-alive-decision/values.html create mode 100644 api/core/service/org.meshtastic.core.service/service-stay-alive-decision.html diff --git a/api/core/ble/navigation.html b/api/core/ble/navigation.html index 565ce8acac..e40b0071fb 100644 --- a/api/core/ble/navigation.html +++ b/api/core/ble/navigation.html @@ -457,16 +457,41 @@
org.meshtastic.core.common.stateSkip to content
-
-
- FirmwareMaintenanceLock -
-
-
+
+
+ +
+
+ + +
+ +
+
+ +
+
+
+ +
@@ -6852,17 +6877,42 @@
-
+
-
+
+ +
+ +
+
+ STOP +
+
+
+ + -
+
diff --git a/api/core/common/navigation.html b/api/core/common/navigation.html index 565ce8acac..e40b0071fb 100644 --- a/api/core/common/navigation.html +++ b/api/core/common/navigation.html @@ -457,16 +457,41 @@ - -
@@ -6852,17 +6877,42 @@
-
+
-
+
+ +
+ +
+
+ STOP +
+
+
+ + -
+
diff --git a/api/core/common/org.meshtastic.core.common.state/-operation-lease/index.html b/api/core/common/org.meshtastic.core.common.state/-operation-lease/index.html new file mode 100644 index 0000000000..5c831b1c91 --- /dev/null +++ b/api/core/common/org.meshtastic.core.common.state/-operation-lease/index.html @@ -0,0 +1,141 @@ + + + + + OperationLease + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+

OperationLease

+

One holder's claim on a RadioOperation. Releasing a lease affects only that holder.

Identity matters: two concurrent claims on the same operation produce two distinct leases, so a late release from an abandoned holder cannot retire a live one.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/api/core/common/org.meshtastic.core.common.state/-operation-lease/operation.html b/api/core/common/org.meshtastic.core.common.state/-operation-lease/operation.html new file mode 100644 index 0000000000..89f3be1975 --- /dev/null +++ b/api/core/common/org.meshtastic.core.common.state/-operation-lease/operation.html @@ -0,0 +1,117 @@ + + + + + operation + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+

operation

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/-firmware-maintenance-lock.html b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/-radio-operation-lock.html similarity index 92% rename from api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/-firmware-maintenance-lock.html rename to api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/-radio-operation-lock.html index c110841590..f6314772d5 100644 --- a/api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/-firmware-maintenance-lock.html +++ b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/-radio-operation-lock.html @@ -2,7 +2,7 @@ - FirmwareMaintenanceLock + RadioOperationLock + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+

activeOperations

+
+

The distinct operations currently in flight.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/holders.html b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/holders.html new file mode 100644 index 0000000000..bbf848d84f --- /dev/null +++ b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/holders.html @@ -0,0 +1,117 @@ + + + + + holders + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+

holders

+
+
val holders: StateFlow<Map<Long, RadioOperation>>(source)

Every live lease, keyed by lease id. Emits on every acquire and release.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/index.html b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/index.html new file mode 100644 index 0000000000..e17ec57cfa --- /dev/null +++ b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/index.html @@ -0,0 +1,254 @@ + + + + + RadioOperationLock + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+

RadioOperationLock

+

Tracks which RadioOperations are in flight, so the rest of the app can keep out of their way.

Three consumers, which is why one lock replaced the single-purpose FirmwareMaintenanceLock it grew out of: SharedRadioInterfaceService reads suppressesTransport to stay off the device, MeshService reads holders to refuse to stop itself and to hold a wake lock, and the service notification reads it to say what is running.

Holders are tracked as individual leases rather than a set of operation types. The set was wrong: a caller that cancels a job and immediately starts a replacement — which FirmwareUpdateViewModel does, without joining — lets the cancelled job's finally run after the replacement has acquired, and a shared entry would be retired out from under the live holder. Two holders of the same operation are now independent.

Lives in :core:common because the parties sit in modules that cannot see each other: the flows that take an operation are in :feature:firmware and :feature:discovery, and the code that must respect it is in :core:service.

Process-local by design. A process death drops every lease, which is correct — nothing is in flight any more — but it means this narrows the window in which an interrupted flash can strand a device rather than closing it.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The distinct operations currently in flight.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val holders: StateFlow<Map<Long, RadioOperation>>

Every live lease, keyed by lease id. Emits on every acquire and release.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

True while any operation is in flight.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

True while an operation that needs the transport off the device is in flight.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes operation and returns the lease that holds it. Each call is a distinct holder.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun release(lease: OperationLease?)

Releases lease. Idempotent, and null-safe so a caller can release a hold it may never have taken.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun <T> withOperation(operation: RadioOperation, block: suspend () -> T): T

Runs block with operation held, releasing that exact lease even on failure or cancellation.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/is-active.html b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/is-active.html similarity index 94% rename from api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/is-active.html rename to api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/is-active.html index 8f67ab0f17..772473079a 100644 --- a/api/core/common/org.meshtastic.core.common.state/-firmware-maintenance-lock/is-active.html +++ b/api/core/common/org.meshtastic.core.common.state/-radio-operation-lock/is-active.html @@ -89,12 +89,12 @@
-
- +
+

isActive

-

True while a maintenance sequence holds the lock.

+

True while any operation is in flight.