Repository navigation
Conversation
A complete wrap in the middle of a line dropped everything before and after it, so a reply that quoted a remote line and then answered it read as the quote alone in the sidebar row and the palette. Unwrap each wrap in place instead. Docs-not-needed: the preview module's comment already promises that words which were never part of a marker are kept; this makes the code say what the module already documents, with no new contract, surface or owned path.
The native conversation bundle carries the preview module, so the fence fix left core/workbench-native.js stale and the shipped check (node scripts/build-workbench.mjs --check) red. Regenerated from the lock's own dependency set; no hand edit, and no other bundle moved. Docs-not-needed: a generated asset follows its source; the preview contract and every owned path are unchanged.
Contributor
Author
|
Closing: our account has no write access to Owner: Delivery-1 |
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.
Written-by: Delivery-1
Owner: Delivery-1
Fixes #2443
What changed
visibleText(core/src/shared/preview.js) unwrapped a complete<untrusted-message …>…</untrusted-message>by keeping only the text between the first opener and the last closer, so every word before and after a mid-line wrap was dropped. It now unwraps each wrap in place — head + inner + tail — and keeps looping until the text stops changing, so a reply that quotes a remote line and then answers it reads as the reply in the sidebar row and in the ⌘K row.stripFenceand every marker rule are untouched, so the two shapes that already worked keep working: a line that is only a complete wrap still reads as just its words, and a broken fragment (kick from="User"> B test 4 >) still loses the marker and keeps the words.core/workbench-native.jsis regenerated in its own commit: the native conversation bundle carries the preview module, so the fence fix left that shipped asset stale andnode scripts/build-workbench.mjs --checkred. Nothing else moved, and no byte was hand-edited.Docs-not-needed: the preview module's comment already promises that words which were never part of a marker are kept; this makes the code say what the module already documents, with no new contract, surface or owned path.
Verification at
8c6ee5897c9f669e576c084fcea24bf2fcf108f4Ran:
The 7 failures are two test files that cannot pass on this box (
test/workbench-client.test.js,test/project-runtime-setup.test.js—/workspacePTY/profile and native-composer refresh cases). They fail with the same names and the same count (32 tests / 25 pass / 7 fail) when the source change is reverted, and they failed the same way on the previous delivery branches.build-workbenchneeds the packagescore/package-lock.jsonpins (react18.2.0,shiki,zustand,katex,@deepseek-ai/dsh-client-ui-primitives…), which this box's shared, read-onlycore/node_moduleslink does not carry; the run above installed that lock's own set into a scratch prefix, rebuilt, and the--checkthat follows compares a fresh build against the committed bytes.core/client.jsand every other generated file stayed byte-identical.Not run:
npm run buildas one command (the two builds ran separately, as above); the two plugin suites and the smoke test (no host or plugin file in this diff).Files (8, +101 / −17)
core/src/shared/preview.js—visibleTextunwraps in placecore/test/preview-fence-words.test.js— new, 5 cases (3 red on base)core/workbench-native.js— regenerated: the native bundle carries the preview modulecore/client.js— generated bundlepatches/ds-bot/0008-client-bundle.patch,patches/ds-bot/files/src/shared/preview.js,patches/ds-bot/files/test/preview-fence-words.test.js,patches/ds-bot/files/workbench-native.js— generated fromcore/Base:
delivery/ai-centric-development-serviceat5e71a07e. Branch:HugoXK:delivery1/preview-fence-words.maintainer_can_modify: true.Checkpoint
{ "pr": 2445, "claim": "Delivery-1", "issue": 2443, "summary": "visibleText kept only the text between the first untrusted-message opener and the last closer, so every word before and after a mid-line wrap was dropped and a reply that quoted a remote line read as the quote alone in the sidebar and palette rows. It now unwraps each complete wrap in place, head plus inner plus tail, looping until the text stops changing. stripFence and the marker rules are unchanged, so a line that is only a wrap and a broken fragment keep their current reading. core/workbench-native.js is regenerated because that bundle carries the module, and the new five-case test is red three ways on the base tree.", "files": [ "core/src/shared/preview.js", "core/test/preview-fence-words.test.js", "core/workbench-native.js", "core/client.js", "patches/ds-bot/0008-client-bundle.patch", "patches/ds-bot/files/src/shared/preview.js", "patches/ds-bot/files/test/preview-fence-words.test.js", "patches/ds-bot/files/workbench-native.js" ], "checks": { "ran": "cd core && TZ=UTC node --import ./test/harness-resolve.mjs --test \"test/*.test.js\"; node scripts/build-client.mjs --check; node scripts/build-workbench.mjs --check; node scripts/ds-bot-patches.mjs check", "result": "green", "at": "8c6ee5897c9f669e576c084fcea24bf2fcf108f4" }, "next": "none — ready for review" }