Repository navigation
fix(domain): find what a draft change took out by identity - #793
Merged
Merged
Conversation
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Nov 14, 2026
Each change to a release draft that took statements out looked for the blank nodes it left unnamed by comparing every statement of the draft by its value, and compared every statement of the activities carried from an earlier release. A keystroke in a draft's making notes or contact field did all of that on the main thread, so a draft with many statements froze the Studio while typing. The debounced write then applied each held keystroke again, each at the same cost. A change keeps the statements it leaves alone as the same objects, so what it took out is now found by identity, and only the blank nodes those statements name are looked at. A carried activity is compared only when it is the subject of a statement taken out or put in, and not at all when the draft carries none. Setting the contact gathers only the ids that could stand in the way of its own. What is left is a few cheap passes over the statements. In the Studio editor, a held change of the contact, or of the making notes when it leaves some text, is replaced by the next keystroke of the same field, so the write applies it once. Refs: GHSA-3w9g-j4p3-r8mj
ixuz
force-pushed
the
fix/draft-edit-cost
branch
from
November 14, 2026 19:03
2f76418 to
866cd19
Compare
ixuz
enabled auto-merge
November 14, 2026 19:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Every change that took statements out of a release draft compared all of the draft's statements by value, to find the blank nodes the change left unnamed. It also compared every statement of the activities carried over from an earlier release. A keystroke in a draft's Making notes or Contact field did all of that on the main thread, so a draft with many statements froze the Studio while typing. The debounced write then applied each held keystroke again, at the same cost.
docs/studio.mdanddocs/testing.mdare updated.Refs: GHSA-3w9g-j4p3-r8mj