InfiniTime icon indicating copy to clipboard operation
InfiniTime copied to clipboard

Firmware validation reminder

Open aha999 opened this issue 3 years ago • 15 comments

Verification

  • [X] I searched for similar feature request and found none was relevant.

Pitch us your idea!

Update validation info pop-up after updating the Infinitime firmware

Description

It would be more user friendly if after updating the firmware on the pinetime, a window would pop-up, saying that if you want to keep the changes/update to not be reverted, you have to validate the update after you test it. This would prevent the unexpected update reversal.

https://github.com/InfiniTimeOrg/InfiniTime/blob/develop/doc/gettingStarted/updating-software.md#firmware-validation=

aha999 avatar May 18 '22 23:05 aha999

Description

It would be more user friendly if after updating the firmware on the pinetime, a window would pop-up, saying that if you want to keep the changes/update to not be reverted, you have to validate the update after you test it. This would prevent the unexpected update reversal.

How will the watch know you've tested everything to make sure firmware works correctly? That's why it's manual, so users can test anything and everything to their satisfaction before verifying and is able to simply restart watch to revert to previous firmware.

Hope my explanation is easy to understand... and that I understood this function correctly in the first place... :)

ajack2001my avatar May 19 '22 02:05 ajack2001my

This has been discussed to some extent earlier. Making it too quick and easy has the potential downside that people validate broken firmware.

Avamander avatar May 19 '22 08:05 Avamander

I think that they should be at least reminded at first start, to test the Pinetime for a certain amount of time before applying changes... which would remind them of this requirement if they don't want the update reversed unexpectedly. I didn't know what that feature was until i specifically searched for it.

aha999 avatar May 19 '22 11:05 aha999

After an hour or so of uptime, it could check if the firmware has been validated and send a reminder notification if it hasn't been.

Riksu9000 avatar Feb 21 '23 08:02 Riksu9000

What about prompting user if a reboot was detected without firmware validation? Keeps asking at each reboot until validated.... That was people only validate when they think it's good... Just my $0.02

ajack2001my avatar Feb 21 '23 09:02 ajack2001my

I'm not sure what you mean. Rebooting without validating will revert the firmware, and I don't think rebooting is common practice nowadays.

Riksu9000 avatar Feb 21 '23 09:02 Riksu9000

@Riksu9000 prompt before reverting...

ajack2001my avatar Feb 21 '23 09:02 ajack2001my

The reverting is a safety measure against bricking and is assumed to only be used when there's a problem with the firmware. Adding a prompt before that could add another point of failure. It's still an interesting idea, but would require re-imagining the entire reverting feature, which is not in the scope of this issue.

Riksu9000 avatar Feb 21 '23 10:02 Riksu9000

I'd like to work on this if no one else has taken this up. Can I get confirmation that the implementation is checking if the firmware has been validated after some time (an hour), and then if not send a reminder notification?

ic-27 avatar Mar 21 '23 23:03 ic-27

Yes, I think that is the best way to implement this currently. I would implement it using a FreeRTOS timer in DisplayApp.

Riksu9000 avatar Mar 22 '23 11:03 Riksu9000

I've got something working right now, but I have a couple questions.

@Riksu9000 Do you think this should be implemented as a NotificationPreview or a Notification? I feel as if a Notification would make more sense NotificationPreviews might be easy to miss from a user perspective. Second, would a simple text notification suffice, or would it be good to add something such as a button to immediately jump to the firmware validation screen? (if something like this is possible)

ic-27 avatar Mar 29 '23 21:03 ic-27

It should definitely be preview, because it's the same as any other notification. If you push to notificationManger and push a new notification message to SystemTask, it will open a notification preview. Are you doing something different?

A button might be worth experimenting with, but let's keep the changes per PR to a minimum.

Riksu9000 avatar Mar 30 '23 08:03 Riksu9000

No it's nothing, I was just experimenting with Notification, as it doesn't seem to be used anywhere.

ic-27 avatar Mar 30 '23 23:03 ic-27

Just got burned by this myself because I was unaware of the validation button. It seems like the difference between a test system and production system. If i'm flashing an update, I would expect it has been quality checked and validated by others beforehand.

timaw7 avatar Jul 17 '24 14:07 timaw7

Users have the option to flash beta/their own firmwares though which may not work correctly. It's true that this is an additional inconvenience, but it's very handy if a firmware doesn't work

mark9064 avatar Jul 18 '24 10:07 mark9064