# Problem code `'owner-disposed'`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts`, `tables/problems.json` and `services/onsite-scripter/scripts/contract-docs-what-to-do.json` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

A member of [`ProblemCode`](../api/ProblemCode.md) · stable · since 2.0.0

Undo or redo skipped a change made by an owner that is disposed: listed in that undo's or redo's `problems`, `path` the owner's address (`/look/collections/{name}` for a collection).

## What to do

The [`session.undo`](../api/Session.undo.md) or [`session.redo`](../api/Session.redo.md) moved the history pointer but skipped the changes of an owner that was disposed, such as a collection (`path` names it); when nothing else in the step changed, it resolved 'committed' with `changed: false`. Keep a collection alive while its changes should stay undoable.

## Where the declaration names it

- [`Session.undo`](../api/Session.undo.md): It always moves the history pointer: a step whose change is look-only commits look-only; a step whose result equals the current state (its owner was disposed) resolves 'committed' with `changed: false`, lists 'owner-disposed' in `problems` and fires only 'history:changed' (spec section 6.1, O9).

The set is open: handle a code you don't know (`'other'`).

## Recorded by

- the table row `failure-matrix/cases/undo-equal` (`tables/failure-matrix.json`)
- the table row `lifecycle/operations/dispose` (`tables/lifecycle.json`)
