Skip to content

feat: firmware bootloader ota warnings#3846

Merged
jamesarich merged 7 commits into
meshtastic:mainfrom
mdecourcy:feat/firmware-bootloader-ota-warnings
Nov 29, 2025
Merged

feat: firmware bootloader ota warnings#3846
jamesarich merged 7 commits into
meshtastic:mainfrom
mdecourcy:feat/firmware-bootloader-ota-warnings

Conversation

@mdecourcy

Copy link
Copy Markdown
Contributor

rak4631 ships with a bootloader that doesn't support ota, add an extendable popup for devices with this board and potentially other boards in the future

@mdecourcy mdecourcy marked this pull request as draft November 28, 2025 21:59
@github-actions github-actions Bot added the enhancement New feature or request label Nov 28, 2025
@mdecourcy mdecourcy marked this pull request as ready for review November 28, 2025 23:45
@jamesarich jamesarich added this pull request to the merge queue Nov 29, 2025
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Nov 29, 2025
…der-ota-warnings

# Conflicts:
#	core/data/src/main/kotlin/org/meshtastic/core/data/repository/DeviceHardwareRepository.kt
@jamesarich jamesarich enabled auto-merge November 29, 2025 02:50
@jamesarich jamesarich added this pull request to the merge queue Nov 29, 2025
Merged via the queue into meshtastic:main with commit d4a30c0 Nov 29, 2025
5 checks passed
@codecov

codecov Bot commented Nov 29, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 101 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.53%. Comparing base (d60e84f) to head (ff08250).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...c/core/data/repository/DeviceHardwareRepository.kt 0.00% 45 Missing ⚠️
...eshtastic/feature/firmware/FirmwareUpdateScreen.kt 0.00% 42 Missing ⚠️
...ta/datasource/BootloaderOtaQuirksJsonDataSource.kt 0.00% 7 Missing ⚠️
...in/org/meshtastic/core/model/BootloaderOtaQuirk.kt 0.00% 5 Missing ⚠️
...kotlin/org/meshtastic/core/model/DeviceHardware.kt 0.00% 2 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##            main   #3846      +/-   ##
========================================
- Coverage   0.53%   0.53%   -0.01%     
========================================
  Files        386     390       +4     
  Lines      22631   22846     +215     
  Branches    2842    2889      +47     
========================================
  Hits         122     122              
- Misses     22488   22703     +215     
  Partials      21      21              

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

@dzid26

dzid26 commented Dec 2, 2025

Copy link
Copy Markdown

It's not clear to the user if the app will proceed with the update despite wrong bootloader.

E.g. the update failed for me at 0%, but I have no idea what was the reason.

@jamesarich

Copy link
Copy Markdown
Collaborator

It's not clear to the user if the app will proceed with the update despite wrong bootloader.

E.g. the update failed for me at 0%, but I have no idea what was the reason.

There's currently no way to determine the available bootloader and whether or not it will be successful, hence the warning.

You clicked the button that says "I know what I'm doing" - if you don't.. you shouldn't.

@mdecourcy

mdecourcy commented Dec 2, 2025

Copy link
Copy Markdown
Contributor Author

It's not clear to the user if the app will proceed with the update despite wrong bootloader.

E.g. the update failed for me at 0%, but I have no idea what was the reason.

Thats normally due to improper bootloader. What device do you have?

The BLE library we use doesn't expose much as to "why" it failed or allow us to see what version of bootloader the device has before kicking off unfortunately.

Cc @jamesarich edit you beat me to it lol

@dzid26

dzid26 commented Dec 2, 2025

Copy link
Copy Markdown

rak4631.

Ok then.
In that case, simple clarification string (in the red dialog box) "...and update man fail." would make a difference.

@mdecourcy

Copy link
Copy Markdown
Contributor Author

rak4631.

Ok then.
In that case, simple clarification string (in the red dialog box) "...and update man fail." would make a difference.

Thats literally what this PR did, there are multiple warnings saying the update can fail?

@dzid26

dzid26 commented Dec 2, 2025

Copy link
Copy Markdown

It doesn't hint that it will fail quietly.
What you just told me is nowhere in the warning.
Screenshot_20251202_160921_Meshtastic

@jamesarich

Copy link
Copy Markdown
Collaborator

It doesn't hint that it will fail quietly. What you just told me is nowhere in the warning.

There's a big red box with a warning that you may potentially need an update for ota to work (that includes a link to more information), and an interstitial "I know what I'm doing." dialog with a friendly Chirpy. There's plenty of hand holding and warning.

If you click past all those without checking/understanding the impact - that's kinda on you.

The real issue at hand is that the process didn't time out with an error when the operation couldn't proceed - see #3846 .

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants