Keep the GitHub issue composer within reach - #720
Merged
sudomaggie merged 1 commit intoAug 6, 2026
Merged
Conversation
Harry19081
marked this pull request as ready for review
August 6, 2026 13:00
sudomaggie
merged commit Aug 6, 2026
04ceda8
into
dev/rich-text-shared-toolbar-controls
1 check passed
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.
Problem
GitHub issue comments sit at the end of long threads, mix issue-level status actions into the text-input footer, and allow users to select the already-current status. Duplicate-search loading also uses a full loading bar inside a compact dropdown.
Solution
Pin the issue composer to the bottom of the thread with measured content padding, move issue-level status actions above the comment input, use compact upward-opening formatting controls, disable the current status option, and use an inline spinner for duplicate-search loading. Extend property options with a native disabled state and keep other work-item editors on the same compact toolbar configuration.
Potential risks
The floating footer reserves at least 240 px and then tracks its measured height; unusually tall composers may reduce visible thread space until they collapse. Closed-issue coloring consumes the purple theme variables introduced by PR #716. This PR is stacked on PR #719 for the rich-text toolbar API and should merge after both dependencies. Manual narrow-panel, keyboard, and theme evidence is pending, so this PR remains a draft.
Performance guard
Verdict: pass. A footer owns one ResizeObserver and one existing resize listener only while mounted;
enabled: falseprevents ownership when no footer exists, and cleanup is asserted on unmount. Hidden, idle, and repeated-open behavior adds no timer, poll, subscription, cache, or retained observer. Multi-instance behavior is per mounted thread and bounded to one observer per visible composer.Audit
The configured
frontend-ui-auditskill file was unavailable at both documented locations. A direct pass confirmed reuse of Button, Dropdown, PropertyField, RichMarkdownEditor, and existing semantic tokens. Current status options are native disabled buttons witharia-disabled, and the floating composer remains a labeled section.Verification
pnpm typecheck— passed after correcting the strict React test fixture.git diff --cached --check— passed before commit.