refactor(desktop): key transcript diagram lifetimes - #865
Conversation
7570806 to
d185295
Compare
d185295 to
f9a7c91
Compare
f9a7c91 to
0e08856
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0e0885636c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| guard active.val && | ||
| @dom.document().get_element_by_id(dom_id).to_option() | ||
| is Some(wrapper) else { | ||
| return |
There was a problem hiding this comment.
Remount diagram lifetimes with the Chat DOM
When view replaces the Chat subtree with Skills, Settings, or the signed-out gate, the transcript component and these assoc_by subscriptions remain alive, so this one-shot lookup either keeps a controller attached to the removed wrapper or returns while no wrapper exists. Returning to Chat creates a new transcript DOM without reloading the unchanged subscription, leaving existing UML diagrams without interactive controls and retaining listeners for the detached wrapper. Tie the diagram lifetime to the transcript DOM mount generation or retry/dispose it from the root mount observer.
Useful? React with 👍 / 👎.
Summary
DiagramViewportlifetime while keeping the existing multi-diagram API for Editor hostsStack
codex/shared-diagram-viewports)mainafter refactor(viewer): share diagram viewport controls #857 mergesValidation
moon check --target native --deny-warnmoon check --target js --deny-warnmoon fmt --checkmoon test --target native(3447 passed)moon test --target js(2905 passed)moon cram test tests/cram(27 passed)moon test --target all(editor: 1372 wasm + 295 wasm-gc passed)moon build --target nativemoon build --target jsjustis unavailable in this checkout environment, so the repository recipes were expanded and run directly.