# Undo and the Op Log

Undo takes back your last steps; the Op Log lists every change and can undo any one of them.

The Op Log shows every change by every person and agent. You can also go back to a point.

## Undo and redo

| Action | Mac | Windows |
| --- | --- | --- |
| Undo | `⌘Z` | `Ctrl+Z` |
| Redo | `⌘⇧Z` or `⌘Y` | `Ctrl+Shift+Z` or `Ctrl+Y` |

- Undo works across blocks: typing, new blocks, deletes, moves, indents, tags, fields, tag settings, and entities shown on or removed from a page.
- One step per action. Typing in one block with short pauses is one step.
- Undo is yours, on this device. It never takes back what someone else did.
- Undoing your letters never removes letters someone else typed in the same block.
- Undo puts back only what that step changed and nobody has changed since. A later change by someone else stays.
- If the step happened on another page, undo takes you there first.
- Undo never takes away a day page, or a block that has blocks inside it.
- In a box such as search or a field value, `⌘Z` is the box's own undo.

On a phone, Undo and Redo are in the search (**Search** in the bottom bar), and on the keyboard bar while you type (when Fennick is opened from the Home Screen). See [Phones](phones.md#omnibar).

## The Op Log

Open **Op Log** in the sidebar, or from the [command menu](command-menu.md). It lists every change in your notebook, newest first, by day.

Changes come in **sittings**: a run of changes by one person or agent. Each sitting shows who, when, and what it did in a few words. A dot marks a sitting by someone else that is new since you last looked.

Click a sitting to see its changes beside the list, grouped by page. Each change says what was done, such as “wrote …”, “moved …”, “tagged …”, “deleted …”: words added on green, words taken out struck through. Point at a change for:

- **Open the block** or **Open the page**;
- **Undo this** (see [below](#undo-this));
- **See the N saves**, when one change was typed in many steps.

*Older changes* at the foot loads more.

Only changes are listed. Reading and stepping through days write nothing, so none of it shows here.

On a phone, tap a sitting to open it, and **‹ Op Log** to go back. Swipe a change left to undo it.

### Filter by who, or by page

Type in the box at the top, *Person, agent or page*, and pick one. Or click its filter button for *People and agents*, with how many changes each made, and *Pages*. The filter shows as a chip in the box; its **×** takes it off. Agents are marked with ✦.

![The Op Log filtered to Claude: on the left one sitting of Claude's, “Added 1 block, moved 1”; on the right its two changes on the Thu, Oct 15 page, with See the page as it was and Undo this sitting](img/oplog.webp)
*The Op Log, filtered to one agent.*

### Undo one change

Click **Undo this** on a change. It puts back what that change replaced, but only where nobody has changed it since. The change is then marked *undone*. **Undo this sitting** undoes every change in the sitting.

A few changes cannot be undone: an undo, a go-back, a delete for good, an erase, and a renumbering (see [Long lists](#long-lists)).

### Restore to here

Click **Restore to here…** on a sitting to undo every change made after it. Fennick asks first, as “Undo the 4 later changes?”, and says whose changes they are. Click **Go back**, or **Cancel**.

With a filter on, only that person's or agent's later changes are undone. Everyone else's work stays. A change made since is never overwritten.

**See the page as it was** shows the page just after that sitting.

### Long lists

A list can keep growing: it takes new blocks however long it gets. When a very long or crowded list needs it, Fennick renumbers the order of its blocks once, in the background. Nothing on the page moves.

- The Op Log shows it as *Server* “renumbered the blocks of …”.
- It cannot be undone, and **Restore to here** passes over it.

> One page's changes are also in the right panel's **History** view: pick *Page history* in the page's **⋯** menu.

## Trash

Deleted pages and blocks go to the **Trash**, in the sidebar. The blocks inside a deleted block go with it. Nothing leaves the Trash until you delete it for good.

- The Trash lists what you deleted by day: Today, Yesterday, then dates. What has been there more than 30 days is folded under *Older than 30 days*.
- Type in *Search Trash* to find something. Its filter shows only *Pages* or *Blocks*, what someone deleted (*Deleted by*), or what came *From a page*.
- Click a row to look at it before you restore it. A page opens as it was, read only, with **Restore** and **Delete for good…** at its top.
- **Restore** puts one back where it was, with its blocks inside.
- Tick several rows to **Restore** them, or delete them for good, together.
- **Delete** on a row, or **Delete for good…** in its **⋯** menu, deletes it for good. **Empty items older than 30 days** does that for everything older. Each asks first, and it cannot be undone: not even the Op Log can bring it back.
- **Erase permanently…**, in a block's **⋯** menu, is for the notebook's owner. It erases the block's words, and the blocks under it, from the notebook and its history, on every device. It asks first and cannot be undone; the Op Log keeps only that you erased it. A page or a day page has no Erase.
- On a phone, swipe a row left to restore it or delete it.
- To delete a page: open the **⋯** menu at the top right of the page and pick *Move to Trash*. Fennick asks first. Day pages cannot be deleted.
- Deleting an entity that is used elsewhere only removes it from this page. See [Deleting an entity](tags.md#delete).
