0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-02-24 08:23:33 +01:00

328 Commits

Author SHA1 Message Date
Semenets V. Pavel
0a86d2a2cb fix: move dependency graph button to header actions group and improve UX
- Moved "Dependency Graph" button to the right side of the header next to "Rerun all jobs" button
- Grouped all action buttons (approve, cancel, rerun, graph) in a consistent UI pattern
- Added locale support for "Dependency Graph" button text across all languages
- Fixed button behavior by using 'primary' class instead of 'link-action' to prevent page reloads
- Added conditional display (only shown when run.jobs.length > 1) to avoid confusion when there's only one job
- Improved user experience by ensuring the graph button is only visible when it's actually useful

This change addresses the confusing behavior where clicking the graph button did nothing when there was only one job, and makes the UI more intuitive by placing related actions together in the header.
2026-02-18 11:01:44 +03:00
Semenets V. Pavel
4b87e2a3b8
Merge branch 'main' into feature/workflow-graph
Signed-off-by: Semenets V. Pavel <p.semenets@gmail.com>
2026-02-16 08:23:27 +03:00
silverwind
26bb175d69
Persist actions log time display settings in localStorage (#36623)
Persist the two boolean settings in the actions log into `localStorage`
so that they are remembered across page reloads.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 19:41:59 +00:00
Semenets V. Pavel
e0ac31528f fix: add dependency graph toggle with persistent state
- Changed button label to "Dependency Graph" for clarity
- Implemented session-persistent state using localStorage for graph visibility
- Set graph to be hidden by default on page load
- Note: Cannot prevent page reload on graph node click as RepoActionView component
  performs full page navigation when switching between jobs
2026-02-11 09:08:15 +03:00
Semenets V. Pavel
0f9d18a712
Merge branch 'main' into feature/workflow-graph 2026-02-08 12:43:33 +03:00
Hypo
ef529de0ac
Prevent navigation keys from triggering actions during IME composition (#36540)
Fixes  #36532 

Refined the Enter key trigger logic in the repository filter to prevent
actions during IME composition.

By checking the e.isComposing property, the filter now correctly
distinguishes between "confirming an IME candidate" and "submitting the
search." This prevents premature search triggers when users press Enter
to select Chinese/Japanese characters.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-08 14:39:09 +08:00
silverwind
915b44810d
Color command/error logs in Actions log (#36538)
Support `[command]` and `##[error]` log command

------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-06 23:05:32 +08:00
Semenets V. Pavel
6e6decd936
Merge branch 'main' into feature/workflow-graph 2026-02-06 10:57:10 +03:00
Copilot
fca94bcdd7
Hide add-matcher and remove-matcher from actions job logs (#36520)
Hides `::add-matcher::`, `##[add-matcher]` and `::remove-matcher` in job
step logs. These are used to configure regex matchers to detect lines
that should trigger annotation comments on the UI, currently unsupported
by Gitea and these have no relevance to the user.

---------

Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-05 19:11:44 +08:00
Semenets V. Pavel
b7c87025d3
Merge branch 'main' into feature/workflow-graph 2026-02-02 00:14:08 +03:00
Copilot
7883f6dde9
Remove and forbid @ts-expect-error (#36513)
Removes `@ts-expect-error` in the code base and forbids it.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-02 01:00:34 +08:00
Semenets V. Pavel
39d9a64a8a
Merge branch 'main' into feature/workflow-graph
Signed-off-by: Semenets V. Pavel <p.semenets@gmail.com>
2026-01-29 21:07:56 +03:00
silverwind
59f812bc1c
Fix and enhance comment editor monospace toggle (#36181)
Fixes: https://github.com/go-gitea/gitea/issues/36175

1. Correctly apply setting on textareas spawned by comment edit
3. When changing the setting, apply it to all textareas on the current page

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-01-26 14:19:47 +00:00
bytedream
ee9d8893a7
Fix file-tree ui error when adding files to repo without commits (#36312)
When visiting the new file & upload file pages on a repo that has no
commits, the request for file-tree files fails.

---

<img width="1173" height="728" alt="Screenshot_20260106_175938"
src="https://github.com/user-attachments/assets/69e0ee0d-24af-4f5f-be7e-d64c03b5a5cb"
/>
<img width="349" height="95" alt="image"
src="https://github.com/user-attachments/assets/6e0b5252-95f2-4094-8d11-e0c5262f525b"
/>

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-01-08 12:04:51 -08:00
Semenets V. Pavel
f685d5f8d5 fix: Resolve all linting errors with correct CSS variables 2025-12-26 10:23:04 +03:00
Semenets V. Pavel
438ac5acc1 feat: Add workflow dependencies visualization
## API changes:
    - Add job_id field for YAML job identifiers
    - Add needs field for job dependencies
    - Update swagger documentation

    ## Frontend features:
    - Interactive graph with zoom/pan navigation
    - Matrix jobs visualization
    - Custom job names support via job_id
    - Status-based coloring and animations
    - Hover highlighting for related jobs
    - Click to navigate to job details

    ## Technical details:
    - Uses existing database columns (no schema changes)
    - Backward compatible (omitempty for new fields)
    - Handles edge cases (cycles, missing dependencies)
    - Performance optimized

    ## UI integration:
    - Updated RepoActionView.vue styles for proper theme compatibility
    - Consistent styling with Gitea's CSS variables
2025-12-26 10:23:03 +03:00
silverwind
42d294941c
Replace CSRF cookie with CrossOriginProtection (#36183)
Removes the CSRF cookie in favor of
[`CrossOriginProtection`](https://pkg.go.dev/net/http#CrossOriginProtection)
which relies purely on HTTP headers.

Fixes: https://github.com/go-gitea/gitea/issues/11188
Fixes: https://github.com/go-gitea/gitea/issues/30333
Helps: https://github.com/go-gitea/gitea/issues/35107

TODOs:

- [x] Fix tests
- [ ] Ideally add tests to validates the protection

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-25 12:33:34 +02:00
bytedream
05c3b84f84
Show edit page confirmation dialog on tree view file change (#36130)
Currently, when editing or deleting a file and the edit/commit form has
changes, navigating the file tree will discard all changes without any
warning. This PR prevents partial reloading when the edit form has
unsaved changes, which will trigger a browser native warning dialog.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-20 02:29:39 +01:00
silverwind
ac8308b5cb
Refactor FileTreeItem type (#36137) 2025-12-13 13:03:51 +00:00
a1012112796
ee365f5100
fix some file icon ui (#36078)
fix #36071

looks that's because if an svg in hiden env, it's color added by
`fill="url(#a)"` will become not usefull. by ai helping, I think moving
it out of page by position is a good solution. fell free creat a new
pull request if you have a better soluton. Thanks.
<img width="2198" height="1120" alt="image"
src="https://github.com/user-attachments/assets/bbf7c171-0b7f-412a-a1bc-aea3f1629636"
/>

---------

Signed-off-by: a1012112796 <1012112796@qq.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-04 19:47:23 +01:00
silverwind
46d7adefe0
Enable TypeScript strictNullChecks (#35843)
A big step towards enabling strict mode in Typescript.

There was definitely a good share of potential bugs while refactoring
this. When in doubt, I opted to keep the potentially broken behaviour.
Notably, the `DOMEvent` type is gone, it was broken and we're better of
with type assertions on `e.target`.

---------

Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-03 02:13:16 +00:00
Bryan Mutai
7d6861ac54
Add "Go to file", "Delete Directory" to repo file list page (#35911)
/claim #35898
Resolves #35898 

### Summary of key changes:

1. Add file name search/Go to file functionality to repo button row.
2. Add backend functionality to delete directory
3. Add context menu for directories with functionality to copy path & delete a directory
4. Move Add/Upload file dropdown to right for parity with Github UI
5. Add tree view to the edit/upload UI

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-11-30 11:58:15 +08:00
silverwind
1da1e644ed
Misc CSS fixes (#35888)
Fixes: https://github.com/go-gitea/gitea/issues/35913
Fixes: https://github.com/go-gitea/gitea/issues/35942

Contains a number of minor CSS fixes.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-11-19 03:02:41 +00:00
silverwind
eef9406c6b
Contribution heatmap improvements (#35876)
1. Set a fixed height on the element, preventing the content after the
element from shifting on page load. This uses CSS [container query
length
units](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_containment/Container_queries#container_query_length_units)
as I saw no other way because of the non-linear scaling of the element.
2. Move the "total-contributions" text into the existing vue slot,
eliminating the need for absolute positioning.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-11-06 09:23:48 +01:00
鲁汀
f2d7931b70
Fix circular spin animation direction (#35785)
Wait for the status icon to rotate clockwise instead of counterclockwise

before:
![GIF 2025-10-30
10-50-07](https://github.com/user-attachments/assets/3771b0bf-44e4-45a0-bde5-1b2b3dd8ba2a)

after:
![GIF 2025-10-30
10-50-43](https://github.com/user-attachments/assets/c45307fe-39a4-4e60-b48e-9d922c407565)

---------

Signed-off-by: 鲁汀 <131967983+lutinglt@users.noreply.github.com>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: lutinglt <lutinglt@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-11-02 08:30:13 +00:00
bytedream
39c08ce4c1
Update tab title when navigating file tree (#35757)
Fix #35749.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
2025-10-29 13:38:09 +00:00
silverwind
fe25997157
Enable vue/require-typed-ref eslint rule (#35764)
Enable https://eslint.vuejs.org/rules/require-typed-ref 
and fix discovered issues.
2025-10-29 17:42:06 +08:00
wxiaoguang
cddff73bbd
Fix "ref-issue" handling in markup (#35739)
This is a follow up for #35662, and also fix #31181, help #30275, fix #31161
2025-10-27 22:45:07 +08:00
wxiaoguang
a2eea2fb2e
Fix various trivial problems (#35714) 2025-10-21 13:19:29 +08:00
wxiaoguang
9ae2e9e76f
Always create Actions logs stepsContainer (#35654) 2025-10-15 04:07:58 +00:00
鲁汀
327d0a7fdd
The status icon of the Action step is consistent with GitHub (#35618)
Before:
running:
<img width="45" height="34" alt="image"
src="https://github.com/user-attachments/assets/e2508f98-2f1f-4b7e-a80c-30b406f42531"
/>
waiting:
<img width="44" height="33" alt="image"
src="https://github.com/user-attachments/assets/e7c8164e-fdc3-4546-b088-31166544edb0"
/>

---
After:
running:
<img width="49" height="43" alt="image"
src="https://github.com/user-attachments/assets/b5a9b245-a995-458a-af23-d1723daa3692"
/>
waiting:
<img width="42" height="44" alt="image"
src="https://github.com/user-attachments/assets/ff72551e-cfb5-4665-af52-938ef0cf8f1c"
/>

`gitea-running.svg` is not an icon from the @ primer/octicon library,
extracted from the Github page. Github did not assign a clear class name
to this icon

---------

Signed-off-by: 鲁汀 <131967983+lutinglt@users.noreply.github.com>
Co-authored-by: lutinglt <lutinglt@users.noreply.github.com>
2025-10-10 11:25:03 -07:00
Shafi Ahmed
0a0baeb3b0
fix: auto-expand and auto-scroll for actions logs (#35570) (#35583)
Implements reliable auto-expand and auto-scroll behavior for the Actions
logs view.

* Expands running or unfinished steps automatically.
* Smoothly scrolls to the latest log line during execution.
* Controlled via existing “Always auto-scroll” and “Expand running
steps” options.

Fixes #35570.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-10-05 10:31:06 +08:00
silverwind
8c8eb4b6f9
Clean up npm dependencies (#35484)
- `type-fest` is replaced by our own types
- `@stylistic/eslint-plugin-js` is no longer in use, it was replaced
with `@stylistic/eslint-plugin`
- `@types/license-checker-webpack-plugin` does not apply to our forked
version and has a type stub
2025-09-15 16:34:54 +02:00
silverwind
69e595cdd8
Update eslint to v9 (#35485)
Update eslint and all plugins. Many plugins still do not ship type
definitions so I had to add stubs. Also, I had to put a few typescript
error expectations because if some unknown error in the types.

`eslint-plugin-no-jquery` is disabled because it's not compatible with
eslint 9 flat config
(https://github.com/wikimedia/eslint-plugin-no-jquery/issues/311).
2025-09-14 19:15:06 +03:00
Lunny Xiao
be2a6b4414
Fix bug when review pull request commits (#35192)
The commit range in the UI follows a half-open, half-closed convention:
(,]. When reviewing a range of commits, the beforeCommitID should be set
to the commit immediately preceding the first selected commit. For
single-commit reviews, we must identify and use the previous commit of
that specific commit.

The endpoint ViewPullFilesStartingFromCommit is currently unused and can
be safely removed.

Fix #35157 
Replace #35184 
Partially extract from #35077
2025-08-03 10:23:10 -07:00
silverwind
e7d6f74450
Update JS and PY deps (#35191)
- Updated all dependencies
- Fixed new CSS lint errors, specifically tested the
RepoActivityTopAuthors.vue change
- Regenerated SVGs
2025-08-01 07:24:26 +00:00
wxiaoguang
c05082669b
Refactor frontend unique id & comment (#34958)
* there is no bug of the "unique element id", but duplicate code, this
PR just merges the duplicate "element id" logic and move the function
from "fomaintic" to "dom"
* improve comments
* make "git commit graph" page update pagination links correctly
2025-07-05 15:21:53 +00:00
wxiaoguang
1d4ad5aa2b
Improve html escape (#34911)
drop "escape-goat"
2025-07-01 21:44:05 +08:00
wxiaoguang
1839110ea6
Fix some log and UI problems (#34863)
Remove the misleading error log, fix #34738

Make the "search" input auto-focused, fix #34807
2025-06-26 00:32:50 +08:00
Kilisei
181db69e0c
Use shallowRef instead of ref in .vue files where possible (#34813)
This PR improves some `.vue` components by using `shallowRef instead of
ref`, which `should improve performance`. It's probably not significant,
but it's an improvement because Vue no longer deep watches the ref
(shallowRef). Also i used `useTemplateRef` instead of `ref`.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-22 21:37:03 +08:00
wxiaoguang
81adb01713
Improve img lazy loading (#34804)
Related #32051 and #13526
2025-06-21 14:53:22 +08:00
bytedream
7346ae7cd4
Add repo file tree item link behavior (#34730)
Converts the repo file tree items into `<a>` elements to have default
link behavior. Dynamic content load is still done when no special key is
pressed while clicking on an item.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-20 02:28:19 +08:00
Lunny Xiao
17cfae82a5
Hide href attribute of a tag if there is no target_url (#34556)
Relate #34450
2025-06-10 19:32:20 +00:00
silverwind
f6f6aedd4f
Update JS deps, regenerate SVGs (#34640)
Result of `make update-js svg`.
2025-06-07 17:59:36 +00:00
metiftikci
fe57ee3074
fixed incorrect page navigation with up and down arrow on last item of dashboard repos (#34570)
Previously, pressing the down arrow key on the last item of a list would
incorrectly load the latest page when not release key. This commit
corrects the logic to ensure that the next page is loaded as intended.
2025-06-03 17:55:09 +00:00
wxiaoguang
e8d8984f7c
Fix some trivial problems (#34579) 2025-06-02 15:22:43 +00:00
badhezi
0cec4b84e2
Fix actions skipped commit status indicator (#34507)
Addresses https://github.com/go-gitea/gitea/issues/34500

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-05-28 11:36:21 -04:00
NorthRealm
6b2c506e05
Grey out expired artifact on Artifacts list (#34314)
Grey out expired artifact on Artifacts list.

![1](https://github.com/user-attachments/assets/79c00e39-29f5-4264-b7b2-7ed638ab71c1)

![2](https://github.com/user-attachments/assets/686b745f-d6d7-4921-8e1b-3472ac8b6c17)

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-05-05 21:53:17 -07:00
Kerwin Bryant
2b76993415
support the open-icon of folder (#34168)
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-04-28 19:51:32 -07:00
Kerwin Bryant
533b8b2d3d
Fix button alignments (#34276)
Continue with #34206.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2025-04-27 19:39:03 +00:00