Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Notebooks, pins and moving notes

Notebooks, the default notebook, archiving, ordering, pins, multi-select moves and undo. Decisions: D-03, D-15, D-16, D-18, D-19, D-24.

  • An empty app shows the “clean desk” home with New note and Search
    • Android UI: NotebookUiTest.startsWithAClearDesk
    • iOS UI: NotebookUITests.StartsWithAClearDesk
    • Not tested: Shared
  • The default notebook always exists, is called “Default” and can’t be archived
    • Shared: NotesCoreTest.inboxExistsAndCannotBeArchived, OrganizingTest.theDefaultNotebookIsCalledDefault
    • Not tested: Android UI, iOS UI
  • Creating, renaming (trimmed), archiving, unarchiving and reordering notebooks
    • Shared: NotesCoreTest.notebookLifecycle
    • Android UI: NotebookUiTest.createsNotebooksAsNumberedVolumes, NotebookUiTest.renamesNotebook, NotebookUiTest.reordersNotebooks
    • iOS UI: NotebookUITests.CreatesNotebookAsFirstVolume, NotebookUITests.RenamesNotebook, NotebookUITests.ReordersNotebooks
  • Archived notebooks are hidden until “show archived” is on
    • Shared: NotesCoreTest.notebookLifecycle
    • Android UI: NotebookUiTest.archivedNotebooksAreHiddenUntilShown
    • iOS UI: NotebookUITests.ArchivedNotebooksAreHiddenUntilShown
  • A note made inside a notebook belongs to it and counts toward it
    • Android UI: NotebookUiTest.newNoteInANotebookCountsTowardIt
    • iOS UI: NotebookUITests.NewNoteInANotebookCountsTowardIt
    • Not tested: Shared
  • A note made at the top level stays in the default notebook
    • Android UI: NotebookUiTest.newNoteFromTheTopLevelStaysThere
    • iOS UI: NotebookUITests.NewNoteFromTheTopLevelStaysThere
    • Not tested: Shared
  • Deleting a notebook moves its notes to the top level; undo puts them back
    • Shared: OrganizingTest.deletingANotebookMovesItsNotesToTheTopLevelAndUndoPutsThemBack
    • Android UI: NotebookUiTest.deletingANotebookKeepsItsNotesAndUndoBringsItBack
    • iOS UI: NotebookUITests.DeletingANotebookKeepsItsNotesAndUndoBringsItBack
  • Pinning isn’t an edit (no revision) and pinned notes list first
    • Shared: OrganizingTest.pinningIsNotAnEditAndPinnedNotesComeFirst
    • Android UI: NotebookUiTest.pinnedNotesShowFirst
    • iOS UI: NotebookUITests.PinnedNotesShowFirst
  • A new note pinned from the editor is listed with its title (the home list’s lazy stack used to keep the card it had under Recent notes, empty and unpinned)
    • iOS UI: NotebookUITests.ANewNotePinnedWhileEditingIsListedWithItsTitle
    • Not tested: Android UI (checked by hand on a phone, 2026-10-11; Compose keeps no stale row)
  • Moving a single note records a MOVE revision
    • Shared: NotesCoreTest.moveDeleteUndelete
    • Not tested: Android UI, iOS UI
  • Selected notes move together; undo restores their old places
    • Shared: OrganizingTest.bulkMovesAndDeletesCanBeUndone
    • Android UI: NotebookUiTest.selectedNotesMoveTogetherAndUndoPutsThemBack
    • iOS UI: NotebookUITests.SelectedNotesMoveTogetherAndUndoPutsThemBack
  • Cancelling a selection changes nothing
    • Android UI: NotebookUiTest.cancellingSelectionChangesNothing
    • iOS UI: NotebookUITests.CancellingSelectionChangesNothing
    • Not tested: Shared
  • The drawer opens a notebook and marks it as current
    • Android UI: NotebookUiTest.drawerOpensANotebookAndMarksIt
    • iOS UI: NotebookUITests.DrawerOpensANotebookAndMarksIt
    • Not tested: Shared
  • Swiping from the left edge at home opens the drawer
    • iOS UI: NotebookUITests.SwipeFromTheLeftEdgeOpensTheDrawerAtHome
    • Not tested: Shared, Android UI

Selecting search results and trash items is in search.md and trash.md.

Gaps

  • Android: no test for opening the drawer with a left-edge swipe (iOS has one).
  • Select all in a note list (D-18) has no test on any layer.
  • Pin order among pinned notes (most recently pinned first, D-19) is not checked beyond “pinned before unpinned”.
  • Moving into an archived notebook, or archiving the notebook that is open, has no test.