Sync with longbridge/gpui-kit 21113cae, gpui-fast 4afc87b - #1
Merged
Merged
Conversation
trancong12102
added a commit
to aislopware/slopty
that referenced
this pull request
Oct 1, 2026
Takes longbridge/gpui-kit #3318 (scroll-table column widths kept, not measured again), #3281 (rendered ranges of Markdown source, built only when asked), #3322 (fenced code scrolls inside a height cap), #3338 and #3339, rebased with our 33 commits (aislopware/gpui-kit#1). gpui-fast moves to 37b6e9a, a formatting merge. Co-Authored-By: Claude Code
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.
Takes longbridge/gpui-kit
201b55a4..21113caeand moves the gpui-fast pin to4afc87b. This fork carries its commits rebased on upstream, which is also howcargo xtask upstream synclands it, so this branch is the 33 fork commits rebased onto21113cae, plus one new commit. Land it by movingmainto the branch head (--force-with-leaseonb06a0953), not with a merge commit. A merge would bring every fork commit in twice.Upstream commits taken
font-kit. English and Chinese. Docs only.TextSystem::add_fonts, because GPUI exposes no font generation to read. Same tradeoff upstream accepted; taken.RenderedText::source/range_for_source. The source map lives inRenderedIndex, which is built lazily (get_or_init) only when someone asks for the rendered text. The parse itself only records one more flag per segment, so streamed Markdown pays nothing extra.overflow.y = Scrollon thecode_blockrefinement. Useful for Slopty's conversation face.Fork commits changed by the rebase
perf(text): parse only the last block when set_text extends MarkdownrenamedMAX_SYNC_FULL_REPLACE_BYTEStoMAX_SYNC_PARSE_BYTES, and markdown: add source & range_for_source longbridge/gpui-kit#3281's new tests used the old name. It also parses a short append's tail at once, where upstream parses it in the background. So markdown: add source & range_for_source longbridge/gpui-kit#3281'sa_snapshot_converts_against_its_own_sourcenow expects the new source to be rendered straight afterpush_str. Its other checks are unchanged: the earlier snapshot still converts against its own source. Both fixes are folded into that commit.build: take gpui-fast 4afc87b. The fork's sync with longbridge/gpui-fast 92a9b0f (Update to use better implementation of selection support for Input. longbridge/gpui-kit#31-Failed to build on Linux longbridge/gpui-kit#34) and zed f8c2cc84 (#64990).git range-diff).Verification (macOS, at
d6e51664)cargo test --workspace --exclude gpui-shell --features gpui-component-story/test-support --locked(example crates excluded as CI does): 2602 passed.--test rendering: 10 passed (Metal).cargo clippy --workspace --exclude gpui-shell --locked -- --deny warnings: clean.cargo xtask upstream sync --only gpui-kit --no-push(Slopty): passes its workspace clippy (--all-targets), the story + recipes tests and the shell tests.Known flake, already there before this sync
text::window_selection::tests::drag_inside_dialog_still_selects_its_textfails now and then:ca9be59, and 0-9 per 200 at4afc87b, depending on machine load.Instant::now(), but the test'ssettleonly advances the test executor's clock. The dialog's opening animation can therefore still be moving when the drag lands.Co-Authored-By: Claude Code