Repository navigation
fix(desktop): draw an issue in the plan's own document column - #3691
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
luke-agent Bot
added a commit
that referenced
this pull request
Oct 18, 2026
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
An issue's page drew its document inside DetailPage's main column, where the body, a flex child with auto margins, shrank to its widest line: an issue with no description stood only as wide as its title. It now scrolls in the column every document of the window does (DocumentScroll), so it stands at the plan's 720px measure and 40px inset with its edges faded. The parts the plan and the issue drew apart now come from one place: the column (DocumentScroll, also used by the plan, its versions, and the version skeleton), the line under the title (DocumentByline), and the description at rest, which is a plan block drawn a section at a time at the plan's section gap, with the plan's note and Retry under its editor. The issue-only copies of that CSS are gone. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent
Bot
force-pushed
the
fix/issue-page-plan-document-column
branch
from
October 18, 2026 20:20
c2506e1 to
d801f0d
Compare
This branch was successfully deployed
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.
Summary
Follow-up on the plan Improve Issues editor and Plan editor (https://tryluke.dev/stage/plan/675f8e6b-8ab5-4c81-bbcf-ed20dd63ceb7). The developer saw that the issue page's editor was only as wide as the title, and asked that it use the plan's width and reuse the plan's pieces so the two feel the same.
The bug. #3642 moved the issue page onto
@luke/ui'sDetailPageand put its body in.desktop-document > .plan-body..desktop-documentis a flex column and.plan-bodycentres itself with auto margins, so the body shrank to its widest line. An issue with no description stood only as wide as its title (244px in the harness). One with text stopped at 710px instead of the plan's 720px, under a 16px top gap instead of the plan's 40px, and with no faded edges.The fix: one document frame, shared (
tasks/document-frame.tsx):DocumentScrollis the plan's own scrolling column (.plan-document-scroll.scroll-fade). It sets the page inset, the room under the last line, the faded edges, selectable words, and Luke's accent. The plan, a version, the version skeleton, and now the issue and its reading skeleton all use it, andeditor-picturesfinds its scroller by the same class constant.DocumentBylineis the line under the title: "Created by [face] name · 3d ago", then the page's own phrase for the last edit. The plan's byline and the issue's byline both use it, and the duplicate.issue-bylineCSS is gone.IssueDocumentPageinissue-detail.tsx) is now the toolbar over.desktop-document > DocumentScroll > .plan-body, the same structure a plan uses, so the title, byline, and text stand at the plan's 720px measure and 40px inset. The reading skeleton stands in the same frame, so the issue lands where its blocks stood. The "This issue is gone" / "could not be read" state keepsDetailPage's centredErrorState.plan-document-block, the plan's cursor and focus tint). It is drawn a section at a time, as plan sections are, so its sections stand the plan's 1.5em gap apart (.document-sections). This is also the gap the editor stands them at, so opening the editor no longer moves the text. The issue-only focus-tint CSS is gone..plan-editor-note). A refused save gets the plan's Retry button, which sends the words again. The red.issue-description-refusedstyle is gone.Evidence
pnpm exec vitest run --project desktop: 218 files, 2115 tests passed.issues-page.test.ts:tscfor the desktop app,pnpm lint,pnpm knip, andpnpm discarded-effectall exit 0.discarded-effectwas run alone because of the sandbox's memory.Invariants
./scripts/check.shgreen. (CI)astype assertion outside the allowlisted files.Effect.runPromise/runSync/runForkoutside the runtime edges.setTimeout/setInterval/new Promise/AbortController/fs.watch..issue-document,.issue-byline,.issue-descriptionfocus tint,.issue-description-refused.CLAUDE.md/AGENTS.mdsentence naming a changed part is edited (none name it).PRIVACY.mdunchanged.Notes
DetailPage, which refactor(desktop): draw the issue page on @luke/ui's DetailPage #3642 adopted, except for its error state. A document page now uses the plan's document frame instead, which is what the plan's own page, its versions, and the plan template already do.Made with Luke