> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirurobotics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Device history

export const Framed = ({image, background, link, alt = "Framed content", borderWidth = "24px", outerRadius = "10px", innerRadius = "6px"}) => {
  const parseShorthand = value => {
    const values = String(value).trim().split(/\s+/);
    switch (values.length) {
      case 1:
        return [values[0], values[0], values[0], values[0]];
      case 2:
        return [values[0], values[1], values[0], values[1]];
      case 3:
        return [values[0], values[1], values[2], values[1]];
      default:
        return values.slice(0, 4);
    }
  };
  const isZero = v => parseFloat(v) === 0;
  const padding = parseShorthand(borderWidth);
  const outer = parseShorthand(outerRadius);
  const cornerMasks = [];
  if (isZero(padding[0]) && isZero(padding[3])) {
    cornerMasks.push(`radial-gradient(circle at 0% 0%, transparent ${outer[0]}, black ${outer[0]})`);
  }
  if (isZero(padding[0]) && isZero(padding[1])) {
    cornerMasks.push(`radial-gradient(circle at 100% 0%, transparent ${outer[1]}, black ${outer[1]})`);
  }
  if (isZero(padding[2]) && isZero(padding[1])) {
    cornerMasks.push(`radial-gradient(circle at 100% 100%, transparent ${outer[2]}, black ${outer[2]})`);
  }
  if (isZero(padding[2]) && isZero(padding[3])) {
    cornerMasks.push(`radial-gradient(circle at 0% 100%, transparent ${outer[3]}, black ${outer[3]})`);
  }
  const backgroundMask = cornerMasks.length > 0 ? cornerMasks.join(", ") : undefined;
  const innerImage = <img src={image} alt={alt} noZoom={link ? true : false} style={{
    display: "block",
    width: "100%",
    margin: 0,
    borderRadius: 0
  }} />;
  return <div style={{
    display: "inline-block",
    position: "relative",
    borderRadius: outerRadius,
    overflow: "hidden"
  }}>
            {}
            {background && <div style={{
    position: "absolute",
    inset: 0,
    backgroundImage: `url(${background})`,
    backgroundSize: "cover",
    maskImage: backgroundMask,
    WebkitMaskImage: backgroundMask,
    maskComposite: "intersect",
    WebkitMaskComposite: "source-in"
  }} />}
            {}
            <div style={{
    position: "relative",
    padding: borderWidth
  }}>
                <div style={{
    borderRadius: innerRadius,
    overflow: "hidden",
    lineHeight: 0
  }}>
                    {link ? <a href={link}>{innerImage}</a> : innerImage}
                </div>
            </div>
        </div>;
};

<Framed background="https://assets.mirurobotics.com/docs/v04/images/devices/background.jpeg" image="https://assets.mirurobotics.com/docs/v04/images/devices/deployments/header:page.png" borderWidth={"24px 30px 0 30px"} innerRadius={"12px 12px 0 0"} outerRadius="14px" />

Each device has its own deployment history, accessible by clicking the device on the [Devices page](https://app.mirurobotics.com/devices) and selecting the **Deployments** tab.

The deployment history page lists all deployments that have been deployed to the device, regardless of release. However, staged deployments and deployments that never reached the device are not included in the deployment history.

## View a deployment

To view a deployment, select it from the list.

A panel will open on the right of the page displaying the deployment's details.

<Frame>
  ![Deployed Panel](https://assets.mirurobotics.com/docs/v04/images/deployments/deployed-panel.png)
</Frame>

## View a config instance

To view the details of any config instances in the deployment, click into the config instance in the **Configurations** section of the deployment panel (opened in the previous section).

<Frame>
  ![Deployed Panel Configurations](https://assets.mirurobotics.com/docs/v04/images/deployments/deployed-panel:configurations.png)
</Frame>

The content tab shows the config instance's parameters , while the metadata tab contains audit information—the author, creation date, description, etc.

<Tabs>
  <Tab title="Content">
    <Frame>
      ![Config Instance Content](https://assets.mirurobotics.com/docs/v04/images/config-instances/panel-content:deployed.png)
    </Frame>
  </Tab>

  <Tab title="Metadata">
    <Frame>
      ![Config Instance Metadata](https://assets.mirurobotics.com/docs/v04/images/config-instances/panel-metadata:deployed.png)
    </Frame>
  </Tab>
</Tabs>
