How to remove old firmware update packages from the Console

Description

I’m trying the new cohorts OTA features for the first time and I changed the CONFIG_GOLIOTH_FW_UPDATE_PACKAGE_NAME for my device from app to thingy91x between test firmware versions.

After upgrading to the latest test firmware (which is using the thingy91x package name), the old app package name is still shown in the Golioth console.

Is there a way to remove the old package name from the project?

Steps to Reproduce

  1. Create a package with CONFIG_GOLIOTH_FW_UPDATE_PACKAGE_NAME="app"
  2. Create a cohort
  3. Program the firmware with the app package
  4. Create a new firmware package with CONFIG_GOLIOTH_FW_UPDATE_PACKAGE_NAME="thingy91x"
  5. Program the firmware with the thingy91x package.
  6. Remove the old app package.

Expected Behavior

I would expect that the Console would display packages shown in the “Packages” page.

Actual Behavior

The old app package is still shown in the console.

Environment

I’m using the v0.18.1 firmware SDK.

Logs and Console Output

N/A

Attempts to Resolve

I tried deleting the cohort and recreating it.

1 Like

@cdwilson thanks for reporting this! We currently don’t have a mechanism for clearing a previously reported package, and in some cases it is helpful to know that a device is reporting on a package that doesn’t exist in the project. However, it also is not ideal for that to persist in perpetuity. We’ll work on improving the UX here and follow up!

Thanks @hasheddan!

Yeah, that makes sense. I agree that if a device is actively running a package that doesn’t exist in the project, it would be good to see the package displayed in the console.

However, I erased the flash and reprogrammed the device with a new image using new package name. In this case, I would assume the device isn’t actively reporting the old package name any longer (although I’m not 100% sure how this all works under the hood). If there isn’t a device actively reporting the package and the package has also been deleted from the console, I would think it could be hidden from the “Cohorts” → “Devices” tab.

I assumed that the “Cohorts” → “Devices” tab is showing the “active” state of the device (what it’s currently running), while the “Event Log” tab shows the full event history of the device over time (i.e. OTA events for old deleted packages would still be retained in the event log). Am I thinking about this correctly?

1 Like

@cdwilson you are thinking about this correctly and the fact that previously reported packages are shown is a relic of how the data is sourced. You are almost certainly correct that your device is no longer reporting the old package version and we can certainly update the cohorts experience to more accurately reflect that :+1: