Roll back to a previous profile revision

Published Signal Profile Revisions are immutable. Rollback does not edit history: it assigns an earlier revision through a new Profile Activation. The activation generation still moves forward, so one ordering covers forward publishes and rollbacks alike — including switches between different profile libraries.

Roll back in the UI

  1. Open the Profile tab and select the profile. The revision table lists every published revision with its SHA-256 and publication time.
  2. Select the earlier revision the display should return to.
  3. Assign that revision to the display. Print Hive allocates the next activation generation and publishes the retained profile envelope.
  4. Open the Sync tab and confirm the activation reaches device_applied with the earlier revision's hash.

If the controller already holds identical compiled bytes, it persists only the new activation metadata and returns the receipt without rewriting the profile blob or restarting unchanged patterns.

Roll back through the API

Read the display's current target first to get the expected values:

GET /v1/mqtt/displays/{id}/profile
→ {
    "bindingEpoch": 1,
    "desired": { "activation_generation": 12, … },
    …
  }

Then assign the earlier revision. The expected values must match the current binding epoch and activation generation:

POST /v1/mqtt/displays/{id}/profile
{
  "profileRevisionId": "<earlier revision UUID>",
  "expectedBindingEpoch": 1,
  "expectedActivationGeneration": 12
}

The assignment creates generation 13 that references the older revision. A 409 response means another writer moved first: display_binding_epoch_conflict after a rebind, or signal_profile_activation_conflict after a concurrent assignment. Read the target again and retry with the new values.

Limits

  • Rollback changes only the desired profile. It does not change pixel mapping, Printer ownership, or status classification.
  • An in-progress completion effect keeps its captured program and cap; a profile change never restarts or replaces it.
  • If the device rejects the activation, see retry a rejected profile activation.