Skip to content

Fix macOS hang when opening Mermaid plans - #15830

Draft
warp-agent-staging[bot] wants to merge 2 commits into
masterfrom
factory/fix-mermaid-plan-layout-beachball
Draft

Fix macOS hang when opening Mermaid plans#15830
warp-agent-staging[bot] wants to merge 2 commits into
masterfrom
factory/fix-mermaid-plan-layout-beachball

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes APP-5824 by initializing rendered Mermaid offsets when a lazy plan editor binds to its window, before its first element layout. Lazy edit flushing on macOS now lays out sequentially, avoiding a main-thread wait on Rayon workers concurrently entering CoreText.

Linked Issue

  • APP-5824
  • Screenshots or video included — exact-path capture remained blocked after a second macOS retry because the available credential is a service account, not a GUI user.

Testing

  • The lazy regression now flushes first layout and asserts a positive-size MermaidDiagram at the command range; the pre-fix form fails on master. The sequential regression compares wrapped text, multiline code, hidden-block placement, and rendered frame/line geometry.
  • cargo nextest run -p warp_editor (502 passed)
  • cargo nextest run -p warp -E 'test(notebooks::editor::model::tests)' (72 passed)
  • cargo clippy --workspace --exclude warp_completer --all-targets --tests -- -D warnings
  • cargo clippy -p warp --all-targets --tests -- -D warnings
  • cargo clippy -p warp_completer --all-targets --tests -- -D warnings
  • ./script/format --check, ./script/check_no_inline_test_modules, and cargo check -p warp_editor -p warp --all-targets --tests
  • macOS 26.3.1 arm64: both strengthened focused regressions and cargo build --bin warp passed at 0005ccf7243e736d2b628fc780d269ed88b96043.
  • I have manually tested my changes locally with ./script/run — a second interactive macOS retry prevented display sleep and launched Warp, but the injected credential is a service account (Unauthorized: Expected a user account), leaving the GUI in onboarding and the exact conversation redirected to login. The tab-switch and replacement process sample remain blocked; no unrelated proxy was substituted.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-BUG-FIX: Fixed a hang when opening restored plans containing Mermaid diagrams on macOS.

@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-staging-factory on this PR to send it follow-up work.

View run View conversation View origin

@warp-agent-staging warp-agent-staging Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

The code, regression coverage, and lifecycle contract findings are resolved. One acceptance-verification gap requires human judgment.

Concerns

  • No recording or process sample proves the opted-in macOS tab-switch path. Both attempts were blocked by runner authentication rather than product behavior; verify with an authorized macOS user/test fixture and capture the switch plus a sample showing Presenter::layout no longer spends most of its time in Rayon LockLatch::wait_and_reset.

Verdict

Checks: build pass, tests pass, CI draft-skipped, visual proof missing

Found: 0 critical, 1 important, 0 suggestions, 0 nits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants