Files
meshtastic-web/packages/protobufs/packages/ts/dist/meshtastic/interdevice_pb.ts
T
Ben MeadorsandGitHub bbe9a0d5cd feat(protobufs): sync to firmware-current and consume workspace package (#1097)
* feat(protobufs): sync to firmware-current and consume workspace package

Sync the vendored .proto sources to firmware-current (v2.7.25+48), regenerate the v2 TS bindings, and consume the workspace @meshtastic/protobufs (workspace:*) in place of the stale JSR 2.7.20 — finishing the monorepo migration (core was already workspace:*).

Includes the one required breaking-change fix: admin nodedb_reset changed int32 to bool, so resetNodes() now sends value: true.

* build(protobufs): vendor generated bindings for workspace consumers

The package is consumed via workspace:* — its exports point at the TS source, which imports ./dist/meshtastic/*_pb.ts — so the generated output must exist at build time. CI builds web/core with no codegen step and the runners have no buf CLI, so the bindings are vendored here (kept gitignored; lint/format skip them). Regenerate with: pnpm --filter @meshtastic/protobufs gen

* fix(protobufs): clean script removes the actual generated output dir

buf writes bindings to packages/ts/dist, but clean was removing a non-existent root dist — so it never cleaned stale output. Addresses Copilot review feedback.

* refactor: move web app packages/web -> apps/web

Aligns the web app with the apps/web layout (matching the Vercel web-test Root Directory and the SDK-migration direction). Pure directory move plus root config: pnpm-workspace (adds apps/*), vitest projects, root tsconfig reference, and the pr/release-web/nightly workflows. vercel.json moved with the app. Build + 36 validation tests green.

* feat: config fields, module pages, key verification, telemetry capture

Incorporates the firmware-current feature work onto the protobuf foundation: new config fields (Display message bubbles; LoRa fem_lna_mode + serial_hal_only; Telemetry air_quality_screen_enabled); 4 new ModuleConfig pages (TrafficManagement, StatusMessage, TAK, RemoteHardware); the manual Key Verification flow (sendKeyVerification + ClientNotificationDialog stages + Verify Key button); live telemetry capture (nodeDB addDeviceMetrics) and admin hardening (toggleMutedNode, graceful PortNum default); plus the sdk-preview ConfigEditor demo and store/config tests. Build + lint + format + 131 tests green.

* chore: drop #1062 (unsaved-change-detection) to match upstream revert

#1062 was merged to main by accident (per @danditomaso) and is being reverted. Reverse-applied its diff here via 3-way so #1097 stays consistent with where main is headed, while keeping the feature changes layered on the same files (deviceStore/changeRegistry). Build + 131 tests + lint + format green.

* fix(nodes): clean up SNR display in node table and map popup

SNR is a ratio measured in dB, not dBm (which is absolute power); the
node table and map popup both mislabeled it and crammed three values
together: '0dBm/50%/50raw'. The trailing '%/raw' pair was the same
heuristic ((snr+10)*5) shown twice — once clamped, once not.

Render SNR in dB rounded to one decimal, color-coded by a 0-100%
signal-quality heuristic (green/yellow/red), with the quality percentage
as a muted secondary. Drop the redundant raw value. Adds unit.db; this
matches the existing SNRTooltip, which already renders dB.
2026-06-15 13:23:28 -05:00

161 lines
4.2 KiB
TypeScript

// @generated by protoc-gen-es v2.12.0 with parameter "target=ts"
// @generated from file meshtastic/interdevice.proto (package meshtastic, syntax proto3)
/* eslint-disable */
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file meshtastic/interdevice.proto.
*/
export const file_meshtastic_interdevice: GenFile = /*@__PURE__*/
fileDesc("ChxtZXNodGFzdGljL2ludGVyZGV2aWNlLnByb3RvEgptZXNodGFzdGljImoKClNlbnNvckRhdGESJQoEdHlwZRgBIAEoDjIXLm1lc2h0YXN0aWMuTWVzc2FnZVR5cGUSFQoLZmxvYXRfdmFsdWUYAiABKAJIABIWCgx1aW50MzJfdmFsdWUYAyABKA1IAEIGCgRkYXRhIlYKEkludGVyZGV2aWNlTWVzc2FnZRIOCgRubWVhGAEgASgJSAASKAoGc2Vuc29yGAIgASgLMhYubWVzaHRhc3RpYy5TZW5zb3JEYXRhSABCBgoEZGF0YSrVAQoLTWVzc2FnZVR5cGUSBwoDQUNLEAASFQoQQ09MTEVDVF9JTlRFUlZBTBCgARIMCgdCRUVQX09OEKEBEg0KCEJFRVBfT0ZGEKIBEg0KCFNIVVRET1dOEKMBEg0KCFBPV0VSX09OEKQBEg8KClNDRDQxX1RFTVAQsAESEwoOU0NENDFfSFVNSURJVFkQsQESDgoJU0NENDFfQ08yELIBEg8KCkFIVDIwX1RFTVAQswESEwoOQUhUMjBfSFVNSURJVFkQtAESDwoKVFZPQ19JTkRFWBC1AUJnChRvcmcubWVzaHRhc3RpYy5wcm90b0IRSW50ZXJkZXZpY2VQcm90b3NaImdpdGh1Yi5jb20vbWVzaHRhc3RpYy9nby9nZW5lcmF0ZWSqAhRNZXNodGFzdGljLlByb3RvYnVmc7oCAGIGcHJvdG8z");
/**
* @generated from message meshtastic.SensorData
*/
export type SensorData = Message<"meshtastic.SensorData"> & {
/**
* The message type
*
* @generated from field: meshtastic.MessageType type = 1;
*/
type: MessageType;
/**
* The sensor data, either as a float or an uint32
*
* @generated from oneof meshtastic.SensorData.data
*/
data: {
/**
* @generated from field: float float_value = 2;
*/
value: number;
case: "floatValue";
} | {
/**
* @generated from field: uint32 uint32_value = 3;
*/
value: number;
case: "uint32Value";
} | { case: undefined; value?: undefined };
};
/**
* Describes the message meshtastic.SensorData.
* Use `create(SensorDataSchema)` to create a new message.
*/
export const SensorDataSchema: GenMessage<SensorData> = /*@__PURE__*/
messageDesc(file_meshtastic_interdevice, 0);
/**
* @generated from message meshtastic.InterdeviceMessage
*/
export type InterdeviceMessage = Message<"meshtastic.InterdeviceMessage"> & {
/**
* The message data
*
* @generated from oneof meshtastic.InterdeviceMessage.data
*/
data: {
/**
* @generated from field: string nmea = 1;
*/
value: string;
case: "nmea";
} | {
/**
* @generated from field: meshtastic.SensorData sensor = 2;
*/
value: SensorData;
case: "sensor";
} | { case: undefined; value?: undefined };
};
/**
* Describes the message meshtastic.InterdeviceMessage.
* Use `create(InterdeviceMessageSchema)` to create a new message.
*/
export const InterdeviceMessageSchema: GenMessage<InterdeviceMessage> = /*@__PURE__*/
messageDesc(file_meshtastic_interdevice, 1);
/**
* @generated from enum meshtastic.MessageType
*/
export enum MessageType {
/**
* @generated from enum value: ACK = 0;
*/
ACK = 0,
/**
* in ms
*
* @generated from enum value: COLLECT_INTERVAL = 160;
*/
COLLECT_INTERVAL = 160,
/**
* duration ms
*
* @generated from enum value: BEEP_ON = 161;
*/
BEEP_ON = 161,
/**
* cancel prematurely
*
* @generated from enum value: BEEP_OFF = 162;
*/
BEEP_OFF = 162,
/**
* @generated from enum value: SHUTDOWN = 163;
*/
SHUTDOWN = 163,
/**
* @generated from enum value: POWER_ON = 164;
*/
POWER_ON = 164,
/**
* @generated from enum value: SCD41_TEMP = 176;
*/
SCD41_TEMP = 176,
/**
* @generated from enum value: SCD41_HUMIDITY = 177;
*/
SCD41_HUMIDITY = 177,
/**
* @generated from enum value: SCD41_CO2 = 178;
*/
SCD41_CO2 = 178,
/**
* @generated from enum value: AHT20_TEMP = 179;
*/
AHT20_TEMP = 179,
/**
* @generated from enum value: AHT20_HUMIDITY = 180;
*/
AHT20_HUMIDITY = 180,
/**
* @generated from enum value: TVOC_INDEX = 181;
*/
TVOC_INDEX = 181,
}
/**
* Describes the enum meshtastic.MessageType.
*/
export const MessageTypeSchema: GenEnum<MessageType> = /*@__PURE__*/
enumDesc(file_meshtastic_interdevice, 0);