Skip to content

Improve diff file headers#36215

Merged
wxiaoguang merged 17 commits intogo-gitea:mainfrom
silverwind:diffhead
Jan 12, 2026
Merged

Improve diff file headers#36215
wxiaoguang merged 17 commits intogo-gitea:mainfrom
silverwind:diffhead

Conversation

@silverwind
Copy link
Copy Markdown
Member

@silverwind silverwind commented Dec 19, 2025

  • reduce file name font size from 15px to 14px
  • fix labels and buttons being cut off when their size is constrained
  • change labels from monospace to sans-serif font
  • move diff stats to right and change them from sum of changes to +/-
  • change filemode to label and change text to match other labels

Before

Screenshot 2025-12-20 at 18 02 15 Screenshot 2025-12-20 at 18 02 33

After

 Screenshot 2025-12-20 at 18 01 25

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Dec 19, 2025
@silverwind silverwind added the type/enhancement An improvement of existing functionality label Dec 19, 2025
@silverwind silverwind marked this pull request as draft December 19, 2025 17:48
@silverwind silverwind added the topic/ui Change the appearance of the Gitea UI label Dec 19, 2025
@silverwind silverwind marked this pull request as ready for review December 20, 2025 17:05
* origin/main:
  Closed milestones with no issues now show as 100% completed (go-gitea#36220)
  Show edit page confirmation dialog on tree view file change (go-gitea#36130)
  Fix regression in writing authorized principals (go-gitea#36213)
  [skip ci] Updated translations via Crowdin
  Convert locale files from ini to json format (go-gitea#35489)
@silverwind
Copy link
Copy Markdown
Member Author

This is ready, I've updated OP and cleaned up the PR comments.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Dec 20, 2025
@lunny
Copy link
Copy Markdown
Member

lunny commented Dec 21, 2025

move diff stats to right and change them from sum of changes to +/-

Why the change is better?

@silverwind
Copy link
Copy Markdown
Member Author

silverwind commented Dec 23, 2025

It's following GitHub's current design:

image

I think it's much more useful to see +/- instead of the current sum.

GitLab also has the +/- design, but they only show numbers:

image

Maybe later I will also implement this "5 boxes" design, but not in this PR.

@silverwind
Copy link
Copy Markdown
Member Author

silverwind commented Dec 24, 2025

The template on pull request tabs bar now also uses templates/repo/diff/stats.tmpl. Appearance is unchanged, tooltip is added (although I find this tooltip mostly unnecessary now).

image

@silverwind
Copy link
Copy Markdown
Member Author

silverwind commented Dec 24, 2025

One more enhancement, remove box-shadow hack.

Before: Ugly ":target" border:

Screenshot 2025-12-24 at 02 09 17

After: Clean border:

Screenshot 2025-12-24 at 02 09 38

I couldn't notice the "borders being visible behind top corners" problem, so likely this hack was obsolete anyways.

@silverwind
Copy link
Copy Markdown
Member Author

That change is from your fix of " Fix all rounded borders, change affected tab menus to pills #30707 "

The box shadow hack was only for a problem only visible when the header was sticky, it shouldn't have any affect for non-sticky content.

@wxiaoguang
Copy link
Copy Markdown
Contributor

That change is from your fix of " Fix all rounded borders, change affected tab menus to pills #30707 "

The box shadow hack was only for a problem only visible when the header was sticky, it shouldn't have any affect for non-sticky content.

If you'd like to remove it, I am also fine. It doesn't really bother me. Simpler is better.

Comment thread web_src/css/themes/theme-gitea-light.css
@wxiaoguang wxiaoguang marked this pull request as ready for review January 12, 2026 10:40
@wxiaoguang
Copy link
Copy Markdown
Contributor

wxiaoguang commented Jan 12, 2026

The last problem in my mind: Executable vs executable.

The problems:

  • LFS
  • generated
  • Executable or executable
  • changed mode: Executable -> Regular or executable -> regular

Personally I prefer to use Executable -> Regular and change generated to Generated

also see the screenshot in #36215 (comment)

image

@wxiaoguang wxiaoguang marked this pull request as draft January 12, 2026 11:10
@silverwind
Copy link
Copy Markdown
Member Author

Yeah I think we can consistently capitalize these tags.

@wxiaoguang
Copy link
Copy Markdown
Contributor

Fixed more layout problems:

image

@wxiaoguang wxiaoguang marked this pull request as ready for review January 12, 2026 11:40
Comment thread web_src/css/repo.css
@wxiaoguang
Copy link
Copy Markdown
Contributor

wxiaoguang commented Jan 12, 2026

I found some new things: there are some webkit-specfic styles:

.diff-file-header .file-link {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

I am not sure it really works well for various cases, or it works for other browsers. It seems not easy to change these styles at the moment.

Not bad on firefox:

Details image

Anyway, let's merge and try and do more improvements in the future (if necessary)

@wxiaoguang wxiaoguang added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Jan 12, 2026
@wxiaoguang wxiaoguang added this to the 1.26.0 milestone Jan 12, 2026
@silverwind
Copy link
Copy Markdown
Member Author

-webkit-box is a special text rendering mode supported in all browsers. It's to ensure at maximum 2 lines of text are rendered. No browser currently implements the standard line-clamp as of today.

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/line-clamp

@wxiaoguang wxiaoguang merged commit 1d399bb into go-gitea:main Jan 12, 2026
24 checks passed
@wxiaoguang wxiaoguang deleted the diffhead branch January 12, 2026 12:29
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Jan 12, 2026
zjjhot added a commit to zjjhot/gitea that referenced this pull request Jan 13, 2026
* giteaofficial/main:
  fill missing `has_code` in repository api (go-gitea#36338)
  Fix notifications pagination query parameters (go-gitea#36351)
  Fix cancel auto merge bug (go-gitea#36341)
  Bump appleboy/git-push-action from 1.0.0 to 1.2.0 (go-gitea#36306)
  Improve diff file headers (go-gitea#36215)
  Fix delete attachment check (go-gitea#36320)
  [skip ci] Updated translations via Crowdin
  LFS locks must belong to the intended repo (go-gitea#36344)
  Update chroma to v2.22.0 (go-gitea#36342)
  Update goldmark to v1.7.16 (go-gitea#36343)
  Fix some trivial problems (go-gitea#36336)
  Fix diff view style handling (go-gitea#36324)
  Refactor cat-file batch operations and support `--batch-command` approach (go-gitea#35775)
  Fix file-tree ui error when adding files to repo without commits (go-gitea#36312)
silverwind added a commit that referenced this pull request Jan 15, 2026
Followup #36215, rename the
variables for consistency with existing vars and change green to value
of `--color-blue` in the relevant color blind themes:

<img width="1305" height="303" alt="image"
src="https://github.com/user-attachments/assets/3d131ab7-99ab-4b03-93ab-715ce0030b08"
/>


The blue coloring also matched GitHub:

<img width="1313" height="393" alt="image"
src="https://github.com/user-attachments/assets/f97e35b2-4ff4-49b0-841f-ffd49a02e03d"
/>

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
ZPascal added a commit to ZPascal/gitea that referenced this pull request Jan 22, 2026
# This is the 1st commit message:

feat: Add max-parallel implementation inside the Gitea server

# This is the commit message go-gitea#2:

fix: Remove MatrixID and Capacity functionality

# This is the commit message go-gitea#3:

Fix incorrect text content detection (go-gitea#36364)

Fix go-gitea#36325
# This is the commit message go-gitea#4:

clean watches when make a repository private and check permission when send release emails (go-gitea#36319)

# This is the commit message go-gitea#5:

Fix bug when compare in the pull request (go-gitea#36363)

The pull request comparison should not use `direct compare`.
# This is the commit message go-gitea#6:

Fix permission check on org project operations (go-gitea#36318)

# This is the commit message go-gitea#7:

Release attachments must belong to the intended repo (go-gitea#36347)

# This is the commit message go-gitea#8:

Indicate when only optional checks failed (go-gitea#36367)

Currently it's not clear that you can merge a PR when only optional
checks failed:

<img width="922" height="447" alt="Screenshot 2026-01-14 at 4 08 17 pm"
src="https://github.com/user-attachments/assets/e11670c7-5ab9-42d7-af09-2d8a8fd532d3"
/>

This PR changes the text to say "Some optional checks failed" when only
optional checks failed:

<img width="922" height="443" alt="Screenshot 2026-01-14 at 3 59 08 pm"
src="https://github.com/user-attachments/assets/9ea69b13-38d6-4cfc-b4f7-952eff58e546"
/>

When a required check fails it'll still say "Some checks failed":

<img width="928" height="343" alt="Screenshot 2026-01-14 at 3 59 20 pm"
src="https://github.com/user-attachments/assets/d3764a95-9737-4482-851e-d3406b1e4d76"
/>

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
# This is the commit message go-gitea#9:

Rename CSS variables and improve colorblind themes (go-gitea#36353)

Followup go-gitea#36215, rename the
variables for consistency with existing vars and change green to value
of `--color-blue` in the relevant color blind themes:

<img width="1305" height="303" alt="image"
src="https://github.com/user-attachments/assets/3d131ab7-99ab-4b03-93ab-715ce0030b08"
/>

The blue coloring also matched GitHub:

<img width="1313" height="393" alt="image"
src="https://github.com/user-attachments/assets/f97e35b2-4ff4-49b0-841f-ffd49a02e03d"
/>

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
# This is the commit message go-gitea#10:

Migrate to `import.meta.env` and clean up types and eslint (go-gitea#36362)

`import.meta.env` is supported in both vitest and webpack [as of
recent](webpack/webpack#19996), so replace all
previous use of `process.env` with it. Current usage is limited to test
files, I've also verified it works in actual frontend code.

`webpack/module` is added to typescript types which includes the
definition for `import.meta.env`. I've also made the eslint globals more
precise. Finally, `__webpack_public_path__` is removed from our type
definitions because `webpack/module` also provides it.
# This is the commit message go-gitea#11:

Add chunked transfer encoding support for LFS uploads (go-gitea#36380)

Enable chunked transfer encoding for Git LFS uploads by adding
Transfer-Encoding: chunked header to upload action responses. This
prevents large file uploads (100+ MB) from being blocked by reverse
proxies like Cloudflare that buffer non-chunked requests.

Fix go-gitea#22233

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
# This is the commit message go-gitea#12:

Fix bug on notification read (go-gitea#36339)

When a user has been revoked permission to access a repository, the
related notification could still be visited. But the repository's
information should not be leaked any more.
# This is the commit message go-gitea#13:

Add ability to download subpath archive (go-gitea#36371)

closes: go-gitea#4478

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
# This is the commit message go-gitea#14:

Update JS and PY deps (go-gitea#36383)

- Update JS and PY dependencies
- Workaround stylelint/stylelint#8893 by
moving the stylint config file to JS
- Regenerate SVGs
- Bump to python 3.14 in devcontainer and actions
- Verified `@github/text-expander-element`
- Removed obsolete type stub
# This is the commit message go-gitea#15:

Fix CODEOWNERS review request attribution using comment metadata (go-gitea#36348)

Fixes go-gitea#36333

## Problem

When CODEOWNERS automatically assigns reviewers to a pull request, the
timeline incorrectly shows the PR author as the one who requested the
review (e.g., "PR_AUTHOR requested review from CODE_OWNER"). This is
misleading since the action was triggered automatically by CODEOWNERS
rules, not by the PR author.

## Solution

Store CODEOWNERS attribution in comment metadata instead of changing the
doer user:
- Add `SpecialDoerName` field to `CommentMetaData` struct (value:
`"CODEOWNERS"` for CODEOWNERS-triggered requests)
- Pass `isCodeOwners=true` to `AddReviewRequest` and
`AddTeamReviewRequest` functions
- Template can check this metadata to show appropriate attribution
message

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
# This is the commit message go-gitea#16:

Hide delete directory button for mirror or archive repository and disable the menu item if user have no permission (go-gitea#36384)

# This is the commit message go-gitea#17:

add support for archive-upload rpc (go-gitea#36391)

Add support for fetching archives with `git archive --remote <repo-url>`

closes: go-gitea#23425

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

# This is the commit message go-gitea#18:

fix: typos in comments (go-gitea#36394)

# This is the commit message go-gitea#19:

Refactor git command stdio pipe (go-gitea#36393)

And remove the incorrect `ensureValidGitRepository`
# This is the commit message go-gitea#20:

Some refactors about GetMergeBase (go-gitea#36186)

Maybe fix go-gitea#32018

- Use `gitrepo.GetMergeBase` method instead of other two
implementations.
- Add `FetchRemoteCommit` so that we don't need to add many `remote` to
the git repository to avoid possible git lock conflicts. A lock will
start when invoke the function, it will be invoked when cross-repository
comparing. The head repository will fetch the base repository's base
commit id. In most situations, it should lock the fork repositories so
that it should not become a bottleneck.
- Improve `GetCompareInfo` to remove unnecessarily adding remote.
- Remove unnecessary parameters of `SignMerge`.
# This is the commit message go-gitea#21:

Refactor git command stderr handling (go-gitea#36402)

And clean up legacy fragile & incorrect logic
# This is the commit message go-gitea#22:

[skip ci] Updated translations via Crowdin

# This is the commit message go-gitea#23:

Fix missing repository id when migrating release attachments (go-gitea#36389)

This PR fixes missed repo_id on the migration of attachments to Gitea.
It also provides a doctor check to fix the dirty data on the database.

Refactor git command context & pipeline (go-gitea#36406)

Less and simpler code, fewer bugs

Allow foreachref parse max tokens from 4*64KB to 4MB (go-gitea#36414)

Fix go-gitea#36408

---------

Signed-off-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

Update material-icon-theme to v5.31.0 (go-gitea#36427)

Update chroma to v2.23.0 (go-gitea#36423)

Fix markdown newline handling during IME composition (go-gitea#36421)

### Summary

Fix incorrect newline handling in markdown editor when using IME input.

### Details

While composing text with an IME, pressing Enter should not trigger
markdown indentation logic.
This change skips indentation handling during composition by checking
`e.isComposing`.

This prevents unexpected line breaks and formatting issues for CJK
users.

[skip ci] Updated translations via Crowdin

Fix typos: unknow -> unknown, pktLineTypeUnknow -> pktLineTypeUnknown (go-gitea#36419)

Fix issue filter menu layout (go-gitea#36426)

Fix go-gitea#36420

Fix spelling (go-gitea#36399)

Signed-off-by: Thomas Beutlich <115483027+thbeu@users.noreply.github.com>

Refactor git command stdio pipe (go-gitea#36422)

Most potential deadlock problems should have been fixed, and new code is
unlikely to cause new problems with the new design.

Also raise the minimum Git version required to 2.6.0 (released in 2015)

Remove `node-check` and `go-check`, support node prerelease versions (go-gitea#36382)

1. Remove those checks for the sake of build performance and because go
and node will fail anyways if their versions are incorrect.
3. Support pre-release Node version for determining NODE_VARS.
2. Update to the chinese READMEs to mention `pnpm` which is already
present in english README.

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

fix: Adjust the unittests

fix: Lint issues

fix: Adjust the swagger config
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Apr 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. topic/ui Change the appearance of the Gitea UI type/enhancement An improvement of existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants