Skip to content

MarkMaid v0.1.7

Choose a tag to compare

@Weichen-LF Weichen-LF released this 11 Aug 12:21
· 10 commits to main since this release
05e0852

MarkMaid v0.1.7

MarkMaid v0.1.7 is a command-and-reading-workflow release for the read-only
local document workspace. It makes existing actions faster to reach, adds a
reversible distraction-free layout, improves recovery from common failures,
and safely hands Markdown or Mermaid files to another macOS application.

Highlights

  • Open the Command Palette with ⇧⌘P to run file, export, appearance, tab,
    sidebar, Focus Mode, external handoff, Settings, and diagnostics commands.
    ⌘P remains dedicated to Quick Open and never mixes files with commands.
  • Toggle Focus Mode with ⇧⌘F. It hides navigation chrome without changing or
    persisting normal sidebar or outline preferences, and toggles
    without rerendering the active document.
  • Open tabs now use one resizable left rail. The retired top tab-strip setting
    is ignored when restoring older sessions and is no longer persisted.
  • Recover directly from empty workspaces, preview failures, unavailable roots,
    Quick Open index failures, export errors, and external-app failures with
    relevant Retry, Reveal, Remove Root, Choose Another, or Copy Details actions.
    Remove Root confirms that files and open tabs remain, Reveal is capability
    checked, and truncated Quick Open results can be explicitly acknowledged.
  • Open ready Markdown and Mermaid files in a preferred macOS application from a
    titlebar split button, the Command Palette, or a tab context menu. The chooser
    includes System Default, Finder, discovered file handlers, and explicitly
    supported terminals.
  • Generate deterministic scale fixtures and record local frontend/native
    baselines for large Markdown, large/deep workspaces, many tabs, multiple
    Mermaid diagrams, and a synthetic scale command catalog using the production
    command filter.

Privacy and safety

  • External handoff accepts only a native opaque target ID discovered for the
    active supported file. MarkMaid resolves the application again at execution
    time and never accepts an executable path, command template, CLI flag, or
    shell string from the frontend.
  • Symlinks, unsupported files, missing applications, MarkMaid itself, duplicate
    handlers, and unallowlisted terminal adapters are rejected or omitted.
  • External discovery uses delayed feedback and a bounded recoverable timeout.
    File identity is revalidated immediately before native handoff; because
    NSWorkspace is pathname-based, this is launch-time hardening rather than a
    file-descriptor binding guarantee.
  • The session stores at most one validated opaque preferred-target ID. It never
    stores application/bundle paths, icons, installed-app inventory, launch
    errors, Focus Mode, Command Palette state, or copied issue details.
  • Copy Details uses a fixed allowlist of app version, area, normalized code,
    normalized state, and recoverability. It excludes paths, filenames, document
    contents, raw messages, and application inventory.
  • Performance fixtures and reports remain ignored local artifacts. There is no
    telemetry, automatic upload, analytics, or wall-clock CI threshold.

Compatibility and non-goals

MarkMaid remains preview-first and read-only. This release does not add editing,
continuous filesystem watching, full-text workspace search, Favorites,
Workspace Switcher, image-editor handoff, telemetry, or cross-platform support.
Existing v0.1.6 sessions restore normally; invalid external target IDs are
discarded, and Focus Mode always starts off after restart.

Installation

MarkMaid is currently distributed for Apple Silicon Macs. Download either the
DMG or app ZIP from the GitHub Release.

Current builds use an ad-hoc signature rather than Developer ID signing and
notarization. After copying MarkMaid to /Applications, clear the quarantine
attribute if macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

See the complete change list in the
v0.1.7 changelog.