Commit Graph
4 Commits
Author SHA1 Message Date
Yichen Jiang 4d01598a26 Merge remote-tracking branch 'origin/master' into fix/forge-narrow-toolbar-comments
# Conflicts:
#	packages/experimental/client-ui-forge/README.i18n.yaml
#	packages/experimental/client-ui-forge/README.md
#	packages/experimental/client-ui-forge/README.zh.md
#	packages/experimental/client-ui-forge/src/client/ChangesTab.tsx
#	packages/experimental/client-ui-forge/src/client/DiffFile.tsx
#	packages/experimental/client-ui-forge/src/client/ReviewThread.tsx
2026-11-09 15:48:26 +08:00
Yichen Jiang eba697f3d4 fix(forge): fold the changes toolbar and keep comments in their own column
A narrow changes toolbar wrapped its controls onto a second row and the
header's buttons broke their labels across two lines. Side by side, a
right-side comment was placed with clamp(10px, 100% - 700px, 50% + 10px),
so below about 1,420 px it crossed into the left column, and only one
comment editor could be open at a time.

The toolbar now keeps one line. observeToolbarFold measures what each
fold level needs and sets data-fold to the shallowest level that fits:
level 1 moves the line totals, expanding all files, two columns, and
wrapping into a More view options menu, level 2 the test file switch,
with the viewed progress shown as a ring and a count, and level 3
refresh; at level 3 the file list entry shortens its label. The menu
lists the controls of the level shown when it opens. Measuring instead of
fixed widths keeps every locale on one line: the full toolbar needs about
650 px in Chinese and nearly 800 px in Russian. Header buttons keep their
labels on one line.

Side by side, the comments that end on a row now sit in a row of two
cells under its columns, each continuing its line's gutter and
background, so a left and a right comment share the row. Any number of
editors can stay open; choosing an open editor's range focuses it.

Resolves #8176
2026-11-09 15:27:21 +08:00
Yichen Jiang a39bcaec12 feat(forge-panel): overlay GitHub review threads on the changes view
Threads read at the shown head sit under the row of their last line, or
after the collapsed lines that hold it; resolved threads fold into one
row, file threads open their file, and outdated threads gather after the
lines with the end of their recorded hunk and the file at the commit
they were written on. Chosen commits place only new-side threads whose
lines number the last chosen commit.

The file tree and file headers count unresolved threads, and a thread
list filters unresolved, outdated, resolved, and awaiting-my-reply
threads by file and opens each at its place. A thread offers only Add to
input, which quotes the whole thread, and View on GitHub.
2026-11-07 14:28:39 +08:00
Yichen Jiang bd1c30cd81 feat(forge): add file tree and inline review comments 2026-10-28 11:42:45 +08:00