Skip to content

fix: Multiple bugs - settings text fields, dropdowns, missing override duty cycle, and MQTT icon display#3833

Merged
mdecourcy merged 1 commit into
meshtastic:mainfrom
mdecourcy:fix/bug-bash
Nov 27, 2025
Merged

fix: Multiple bugs - settings text fields, dropdowns, missing override duty cycle, and MQTT icon display#3833
mdecourcy merged 1 commit into
meshtastic:mainfrom
mdecourcy:fix/bug-bash

Conversation

@mdecourcy

@mdecourcy mdecourcy commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Text field save buttons:

  • Add additionalDirtyCheck parameter to RadioConfigScreenList for tracking state changes outside the main ConfigState
  • Track changes to Position coordinates, External Notification ringtone, and Canned Messages separately from main config state
  • Move save/discard buttons inside LazyColumn to prevent overlapping content
  • Add onDiscard callback to reset additional state
  • Add onFocusChanged parameter to EditTextPreference Double overload

Dropdown type mismatches:

  • Fix External Notification "Nag Timeout" dropdown showing blank by converting Int to Long (.toLong()) to match dropdown item types
  • Fix External Notification "Output Duration" dropdown same issue
  • Both fields are uint32 in protobuf, dropdowns use Long values

Missing LoRa setting:

  • Add missing "Override Duty Cycle" checkbox to LoRa config between txEnabled and hopLimit fields
  • Field existed in protobuf and translations but was omitted from UI

MQTT cloud icon display:

  • Fix MQTT cloud icon not displaying correctly for messages via MQTT
  • Add viaMqtt field to DataPacket model to store packet's via_mqtt flag
  • Map packet.viaMqtt in MeshService.toDataPacket() from protobuf
  • Use data.viaMqtt instead of node.viaMqtt in Packet.toMessage()
  • Icon now shows when the specific message traveled via MQTT, not just when we've ever heard from that node via MQTT

Closes #3434
Closes #3324
Closes #3548
Closes #3567

@github-actions github-actions Bot added the bugfix PR tag label Nov 27, 2025
@mdecourcy mdecourcy enabled auto-merge November 27, 2025 00:59
@mdecourcy mdecourcy added this pull request to the merge queue Nov 27, 2025
Merged via the queue into meshtastic:main with commit 1c37842 Nov 27, 2025
6 of 7 checks passed
@mdecourcy mdecourcy deleted the fix/bug-bash branch November 27, 2025 02:41
@codecov

codecov Bot commented Nov 27, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 52 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.54%. Comparing base (4cecc57) to head (d5d23c9).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
.../settings/radio/component/RadioConfigScreenList.kt 0.00% 26 Missing ⚠️
...settings/radio/component/PositionConfigItemList.kt 0.00% 9 Missing ⚠️
...ure/settings/radio/component/LoRaConfigItemList.kt 0.00% 7 Missing ⚠️
...io/component/ExternalNotificationConfigItemList.kt 0.00% 4 Missing ⚠️
...meshtastic/core/ui/component/EditTextPreference.kt 0.00% 2 Missing ⚠️
...ngs/radio/component/CannedMessageConfigItemList.kt 0.00% 2 Missing ⚠️
...in/java/com/geeksville/mesh/service/MeshService.kt 0.00% 1 Missing ⚠️
...ain/kotlin/org/meshtastic/core/model/DataPacket.kt 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##            main   #3833      +/-   ##
========================================
- Coverage   0.54%   0.54%   -0.01%     
========================================
  Files        386     386              
  Lines      22531   22541      +10     
  Branches    2829    2829              
========================================
  Hits         122     122              
- Misses     22388   22398      +10     
  Partials      21      21              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix PR tag

Projects

None yet

3 participants