Outerline 1.0-33

Summary

Build 33 adds Copy Prompt to the Share menu and file list context menu, copying a Claude Code-ready prompt with the document's title, path, deep link, and MCP instructions so you can jump straight into an agent session from any note. This build also consolidates Outerline's on-disk metadata into a single .outerline-data folder inside your library (auto-migrated), smooths sidebar drag-and-drop so moving documents into nested folders doesn't cause the tree to flicker and folder counts stay accurate, and hardens metadata migration under lock contention so the app and MCP do not proceed on partially migrated state.

Copy Prompt

  • Copy Prompt in Share menu — A new Copy Prompt item in the document Share menu copies a Claude Code-ready prompt to the clipboard. The prompt includes the document title, vault-relative path, deep link, and MCP instructions so an agent can immediately fetch and edit the document.
  • Copy Prompt in file list context menu — Right-click any document in the file list to access Copy Prompt without opening the document first. Appears below Copy Link, above Version History.
  • Structured XML format — The prompt uses Claude's recommended XML structure (<context>, <instructions>, <task>) with a default task that prompts Claude to ask what you'd like to work on, so pasting and hitting enter is a valid starting point.

Library Metadata (.outerline-data)

  • Single hidden metadata folder — Outerline now stores its on-disk metadata in .outerline-data/ inside your library, reducing top-level clutter.
  • What moved — Starred metadata, tag colors, annotations, identity registry, and version history data now live under .outerline-data/.
  • Automatic migration — Existing libraries are migrated automatically; no action required.
  • Migration lock hardening — Migration now uses a bounded lock wait with explicit timeout errors and no longer treats a live lock owner as stale based on age alone.
  • Fail-fast startup safety — If migration cannot complete, app initialization now stops and surfaces an explicit migration error instead of continuing into metadata-dependent loads.

Sidebar Drag & Drop

  • Stable nested drops — Dragging a document into a nested folder no longer causes the folder tree to collapse/re-open.
  • Live folder counts — Folder item counts update immediately after drag-move operations.

Polish

  • Toolbar disabled state — All document-dependent toolbar items (view mode buttons, Contents, Links, Annotations, Share & Export, and the Line Numbers overflow item) are now correctly disabled when no document is open, consistent with the Formatting button.
  • Inspector tab order — Inspector tabs and toolbar inspector buttons now follow the order: Contents | Links | Annotations | Find & Replace.

Developer / MCP

  • MCP swift-sdk update — Updated the bundled MCP server to swift-sdk 0.12.0 and adapted to API changes to stay compatible with newer clients and Swift 6 concurrency checks.
  • MCP migration preflight — The MCP server now runs metadata location migration before serving tool/resource calls.
  • Hard-fail metadata paths — MCP metadata operations now propagate migration errors (including lock timeouts) instead of swallowing them, so clients receive explicit failures rather than best-effort results from partially migrated state.

Fixes

  • Share & Export menu no longer opens when no document is selected.
  • View mode buttons (Editor / Split / Preview) no longer appear active with no document open.
  • Dragging a document into a nested folder no longer causes the sidebar folder tree to flash closed/open.
  • Folder item counts update immediately after moving documents between folders via drag & drop.
  • App and MCP metadata workflows now fail explicitly on migration lock contention instead of proceeding with best-effort access to partially migrated metadata.