Skip to content

Conversation

@ChristopherHX
Copy link
Contributor

@ChristopherHX ChristopherHX commented Sep 14, 2025

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Sep 14, 2025
@github-actions github-actions bot added modifies/api This PR adds API routes or modifies them modifies/go Pull requests that update Go code docs-update-needed The document needs to be updated synchronously labels Sep 14, 2025
@ChristopherHX
Copy link
Contributor Author

Improve initial download performance as the POST+GET negotiation on UI goes away and it will be pure GET.

Here I kept the POST+GET negotiation, where the POST does nothing when enabled

@silverwind
Copy link
Member

silverwind commented Sep 14, 2025

Here I kept the POST+GET negotiation, where the POST does nothing when enabled

Will check later, I think it should be possible to turn into a GET. Benefit is that these downloads will be curl-able.

@ChristopherHX
Copy link
Contributor Author

They are curl-able for some amount of time already, just not via html inspect. I believe in 2021 this didn't work in gitea.

e.g. curl -L https://gitea.com/gitea/act_runner/archive/main.zip just like on github.com

We would get a cleaner html page if we remove the POST as long this setting on.

@silverwind
Copy link
Member

silverwind commented Sep 14, 2025

I wonder if we even need the setting at all. Are there any benefits to non-streaming downloads?

The only one I can think of is reduced CPU usage for instances that receive a lot of downloads, but it's rather niche I think, especially because if a repo is pushed to often, that cache will invalidate every push.

@ChristopherHX
Copy link
Contributor Author

Are there any benefits to non-streaming downloads?

I would not require any setting, but I also do not host gitea productively anywhere. Let's hear others opinions, given I assume this would be more a change for a future release like 1.26.0.

If we decide to removing the repo-archive cache, then we also no longer need the repo-archive settings. I assume this way of doing this has been inherited from Gogs.

@silverwind
Copy link
Member

silverwind commented Sep 15, 2025

I guess non-streaming does have a benefit for archived or otherwise rarely pushed-to repos. FWIW, Github does only implement streaming and I think this is also the only mode that can work on big instances without consuming copious amounts of disk space (think crawlers crawling archive links for all commit hashes).

@github-actions github-actions bot added modifies/templates This PR modifies the template files modifies/frontend labels Sep 16, 2025
@silverwind
Copy link
Member

silverwind commented Sep 16, 2025

I pushed the UI change which will omit the POST when streaming is enabled. The archive links work natively without JS when streaming is enabled.

* origin/main:
  Clean up npm dependencies (go-gitea#35484)
  Update eslint to v9 (go-gitea#35485)
  Revert the rspack change (go-gitea#35482)
  Replace gobwas/glob package (go-gitea#35478)
  Fix various typos in codebase (go-gitea#35480)
  Fix different behavior in status check pattern matching with double stars (go-gitea#35474)
  Replace webpack with rspack (go-gitea#35460)
  Don't store repo archives on `gitea dump` (go-gitea#35467)
@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 Sep 16, 2025
@silverwind silverwind added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Sep 16, 2025
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Sep 16, 2025
Comment on lines 35 to 38
// when archive streaming is enabled, the links will work natively without JS
if (!window.config.streamArchives) {
queryElems(document, 'a.archive-link[href]', (el) => el.addEventListener('click', onDownloadArchive));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's too hacky and fragile, there will be bugs in the future if somebody touches the code.

Copy link
Member

@silverwind silverwind Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So what do you suggest? We could alternatively just remove non-streaming mode entirely which would make all the JS and probably a good chunk of Go code deletable (my preference).

Copy link
Contributor

@wxiaoguang wxiaoguang Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why you need this JS? "GET" request can always start the downloading. So you can just make POST check return immediately for streaming?

Copy link
Member

@silverwind silverwind Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still a unneccesary round-trip to the server. It's better to not tamper with these links if we don't need to.

Copy link
Member

@silverwind silverwind Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW I think we could eliminate the POST (and the JS) in both cases if we just delay the GET response in non-streaming mode.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any objection?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me would be your plan ok as well.

On the other hand the current js change makes the file download start sightly faster without right click menu and stops showing me http 400 codes shortly after restarts (invalid csrf tokens? auto fixes itself with later page refresh, GET is not protected)

Copy link
Contributor

@wxiaoguang wxiaoguang Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will make some changes according to my plan. I think eventually we will get rid of the repo archive and remove a lot of code.


the current js change ....

I would prefer not going with current JS. It couples a lot of modules (source files) together, a single "true/false" value is passed everywhere, which is not ideal. We should avoid such fragile "global variable".

And eventually, we will remove all the legacy JS


showing me http 400 codes shortly after restarts (invalid csrf tokens?

IIRC CSRF token is preserved between restarts, can you reproduce the CSRF token problem by other forms? For example: a comment form?

Copy link
Member

@silverwind silverwind Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead and revert the JS if you like. I still hope we eventually can change all use cases to GET only, but the POST+GET isn't bothering me too much I guess.

Edit: I see you did already.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you all. Let's keep the unnecessary "POST" for a short time, then completely remove it in next release 🎉

@wxiaoguang wxiaoguang marked this pull request as draft September 16, 2025 07:16
Copy link
Contributor Author

@ChristopherHX ChristopherHX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After simplifing Archiverequest.Stream, I decided to call this as well when caching the repository but use the pipe as destination

@github-actions github-actions bot removed modifies/templates This PR modifies the template files modifies/frontend docs-update-needed The document needs to be updated synchronously labels Sep 18, 2025
@wxiaoguang
Copy link
Contributor

wxiaoguang commented Sep 18, 2025

Made some changes, and I merged the legacy copy-pasted code (since long time ago ...) into one ServeRepoArchive, then no duplicate download/prepare/Add(link)

Now +110 −156 , less code, better result.

There are tests covering "repo archive download", so as long as tests pass, I think it is good enough.

@wxiaoguang wxiaoguang marked this pull request as ready for review September 18, 2025 06:59
@wxiaoguang wxiaoguang added this to the 1.25.0 milestone Sep 18, 2025
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Sep 19, 2025
@wxiaoguang wxiaoguang merged commit 9a0ec53 into go-gitea:main Sep 19, 2025
26 checks passed
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Sep 19, 2025
zjjhot added a commit to zjjhot/gitea that referenced this pull request Sep 23, 2025
* giteaofficial/main:
  Move updateref and removeref to gitrepo and remove unnecessary open repository (go-gitea#35511)
  Stream repo zip/tar.gz/bundle achives by default (go-gitea#35487)
rossigee pushed a commit to rossigee/gitea that referenced this pull request Sep 26, 2025
Initial implementation of linked proposal.

* Closes go-gitea#29942
* Fix go-gitea#34003
* Fix go-gitea#30443

---------

Co-authored-by: silverwind <[email protected]>
Co-authored-by: wxiaoguang <[email protected]>
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Oct 30, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gitea/gitea](https://github.com/go-gitea/gitea) | minor | `1.24.7` -> `1.25.0` |

---

### Release Notes

<details>
<summary>go-gitea/gitea (gitea/gitea)</summary>

### [`v1.25.0`](https://github.com/go-gitea/gitea/releases/tag/v1.25.0)

[Compare Source](go-gitea/gitea@v1.24.7...v1.25.0)

- BREAKING
  - Return 201 Created for CreateVariable API responses ([#&#8203;34517](go-gitea/gitea#34517))
  - Add label 'state' to metric 'gitea\_users' ([#&#8203;34326](go-gitea/gitea#34326))
- SECURITY
  - Upgrade security public key ([#&#8203;34956](go-gitea/gitea#34956))
  - Also include all security fixes in 1.24.x after 1.25.0-rc0
- FEATURES
  - Stream repo zip/tar.gz/bundle achives by default ([#&#8203;35487](go-gitea/gitea#35487))
  - Use configurable remote name for git commands ([#&#8203;35172](go-gitea/gitea#35172))
  - Send email on Workflow Run Success/Failure ([#&#8203;34982](go-gitea/gitea#34982))
  - Refactor OpenIDConnect to support SSH/FullName sync ([#&#8203;34978](go-gitea/gitea#34978))
  - Refactor repo contents API and add "contents-ext" API ([#&#8203;34822](go-gitea/gitea#34822))
  - Add support for 3D/CAD file formats preview ([#&#8203;34794](go-gitea/gitea#34794))
  - Improve instance wide ssh commit signing ([#&#8203;34341](go-gitea/gitea#34341))
  - Edit file workflow for creating a fork and proposing changes ([#&#8203;34240](go-gitea/gitea#34240))
  - Follow file symlinks in the UI to their target ([#&#8203;28835](go-gitea/gitea#28835))
  - Allow renaming/moving binary/LFS files in the UI ([#&#8203;34350](go-gitea/gitea#34350))
- PERFORMANCE
  - Improve the performance when detecting the file editable ([#&#8203;34653](go-gitea/gitea#34653))
- ENHANCEMENTS
  - Enable more markdown paste features in textarea editor ([#&#8203;35494](go-gitea/gitea#35494))
  - Don't store repo archives on `gitea dump` ([#&#8203;35467](go-gitea/gitea#35467))
  - Always return the relevant status information, even if no status exists. ([#&#8203;35335](go-gitea/gitea#35335))
  - Add start time on perf trace because it seems some steps haven't been recorded. ([#&#8203;35282](go-gitea/gitea#35282))
  - Remove deprecated auth sources ([#&#8203;35272](go-gitea/gitea#35272))
  - When sorting issues by nearest due date, issues without due date should be sorted ascending ([#&#8203;35267](go-gitea/gitea#35267))
  - Disable field count validation of CSV viewer ([#&#8203;35228](go-gitea/gitea#35228))
  - Add `has_code` to repository REST API ([#&#8203;35214](go-gitea/gitea#35214))
  - Display pull request in merged commit view ([#&#8203;35202](go-gitea/gitea#35202))
  - Support Basic Authentication for archive downloads ([#&#8203;35087](go-gitea/gitea#35087))
  - Add hover background to table rows in user and repo admin page ([#&#8203;35072](go-gitea/gitea#35072))
  - Partially refresh notifications list ([#&#8203;35010](go-gitea/gitea#35010))
  - Also display "recently pushed branch" alert on PR view ([#&#8203;35001](go-gitea/gitea#35001))
  - Refactor time tracker UI ([#&#8203;34983](go-gitea/gitea#34983))
  - Improve CLI commands ([#&#8203;34973](go-gitea/gitea#34973))
  - Improve project & label color picker and image scroll ([#&#8203;34971](go-gitea/gitea#34971))
  - Improve NuGet API Parity ([#&#8203;21291](go-gitea/gitea#21291)) ([#&#8203;34940](go-gitea/gitea#34940))
  - Support getting last commit message using contents-ext API ([#&#8203;34904](go-gitea/gitea#34904))
  - Adds title on branch commit counts ([#&#8203;34869](go-gitea/gitea#34869))
  - Add "Cancel workflow run" button to Actions list page ([#&#8203;34817](go-gitea/gitea#34817))
  - Improve img lazy loading ([#&#8203;34804](go-gitea/gitea#34804))
  - Forks repository list page follow other repositories page ([#&#8203;34784](go-gitea/gitea#34784))
  - Add ff\_only parameter to POST /repos/{owner}/{repo}/merge-upstream ([#&#8203;34770](go-gitea/gitea#34770))
  - Rework delete org and rename org UI ([#&#8203;34762](go-gitea/gitea#34762))
  - Improve nuget/rubygems package registries ([#&#8203;34741](go-gitea/gitea#34741))
  - Add repo file tree item link behavior ([#&#8203;34730](go-gitea/gitea#34730))
  - Add issue delete notifier ([#&#8203;34592](go-gitea/gitea#34592))
  - Improve Actions list ([#&#8203;34530](go-gitea/gitea#34530))
  - Add a default tab on repo header when migrating ([#&#8203;34503](go-gitea/gitea#34503))
  - Add post-installation redirect based on admin account status ([#&#8203;34493](go-gitea/gitea#34493))
  - Trigger 'unlabeled' event when label is Deleted from PR ([#&#8203;34316](go-gitea/gitea#34316))
  - Support annotated tags when using create release API ([#&#8203;31840](go-gitea/gitea#31840))
  - Use lfs label for lfs file rather than a long description ([#&#8203;34363](go-gitea/gitea#34363))
  - Add "View workflow file" to Actions list page ([#&#8203;34538](go-gitea/gitea#34538))
  - Move organization's visibility change to danger zone. ([#&#8203;34814](go-gitea/gitea#34814))
  - Don't block site admin's operation if SECRET\_KEY is lost ([#&#8203;35721](go-gitea/gitea#35721))
  - Make restricted users can access public repositories ([#&#8203;35693](go-gitea/gitea#35693))
  - The status icon of the Action step is consistent with GitHub ([#&#8203;35618](go-gitea/gitea#35618)) [#&#8203;35621](go-gitea/gitea#35621)
- BUGFIXES
  - Update tab title when navigating file tree ([#&#8203;35757](go-gitea/gitea#35757)) [#&#8203;35772](go-gitea/gitea#35772)
  - Fix "ref-issue" handling in markup ([#&#8203;35739](go-gitea/gitea#35739)) [#&#8203;35771](go-gitea/gitea#35771)
  - Fix webhook to prevent tag events from bypassing branch filters targets ([#&#8203;35567](go-gitea/gitea#35567)) [#&#8203;35577](go-gitea/gitea#35577)
  - Fix markup init after issue comment editing ([#&#8203;35536](go-gitea/gitea#35536)) [#&#8203;35537](go-gitea/gitea#35537)
  - Fix creating pull request failure when the target branch name is the same as some tag ([#&#8203;35552](go-gitea/gitea#35552)) [#&#8203;35582](go-gitea/gitea#35582)
  - Fix auto-expand and auto-scroll for actions logs ([#&#8203;35570](go-gitea/gitea#35570)) ([#&#8203;35583](go-gitea/gitea#35583)) [#&#8203;35586](go-gitea/gitea#35586)
  - Use inputs context when parsing workflows ([#&#8203;35590](go-gitea/gitea#35590)) [#&#8203;35595](go-gitea/gitea#35595)
  - Fix diffpatch API endpoint ([#&#8203;35610](go-gitea/gitea#35610)) [#&#8203;35613](go-gitea/gitea#35613)
  - Creating push comments before invoke pull request checking ([#&#8203;35647](go-gitea/gitea#35647)) [#&#8203;35668](go-gitea/gitea#35668)
  - Fix missing Close when error occurs and abused connection pool ([#&#8203;35658](go-gitea/gitea#35658)) [#&#8203;35670](go-gitea/gitea#35670)
  - Fix build ([#&#8203;35674](go-gitea/gitea#35674))
  - Use LFS object size instead of blob size when viewing a LFS file ([#&#8203;35679](go-gitea/gitea#35679))
  - Fix workflow run event status while rerunning a failed job ([#&#8203;35689](go-gitea/gitea#35689))
  - Avoid emoji mismatch and allow to only enable chosen emojis ([#&#8203;35692](go-gitea/gitea#35692))
  - Refactor legacy code, fix LFS auth bypass, fix symlink bypass ([#&#8203;35708](go-gitea/gitea#35708))
  - Fix various trivial problems ([#&#8203;35714](go-gitea/gitea#35714))
  - Fix attachment file size limit in server backend ([#&#8203;35519](go-gitea/gitea#35519))
  - Honor delete branch on merge repo setting when using merge API ([#&#8203;35488](go-gitea/gitea#35488))
  - Fix external render, make iframe render work ([#&#8203;35727](go-gitea/gitea#35727), [#&#8203;35730](go-gitea/gitea#35730))
  - Upgrade go mail to 0.7.2 ([#&#8203;35748](go-gitea/gitea#35748))
  - Revert [#&#8203;18491](go-gitea/gitea#18491), fix oauth2 client link account ([#&#8203;35745](go-gitea/gitea#35745))
  - Fix different behavior in status check pattern matching with double stars ([#&#8203;35474](go-gitea/gitea#35474))
  - Fix overflow in notifications list ([#&#8203;35446](go-gitea/gitea#35446))
  - Fix package link setting can only list limited repositories ([#&#8203;35394](go-gitea/gitea#35394))
  - Extend comment treepath length ([#&#8203;35389](go-gitea/gitea#35389))
  - Fix font-size in inline code comment preview ([#&#8203;35209](go-gitea/gitea#35209))
  - Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file ([#&#8203;35151](go-gitea/gitea#35151))
  - Change some columns from text to longtext and fix column wrong type caused by xorm ([#&#8203;35141](go-gitea/gitea#35141))
  - Redirect to a presigned URL of HEAD for HEAD requests ([#&#8203;35088](go-gitea/gitea#35088))
  - Fix git commit committer parsing and add some tests ([#&#8203;35007](go-gitea/gitea#35007))
  - Fix OCI manifest parser ([#&#8203;34797](go-gitea/gitea#34797))
  - Refactor FindOrgOptions to use enum instead of bool, fix membership visibility ([#&#8203;34629](go-gitea/gitea#34629))
  - Fix notification count positioning for variable-width elements ([#&#8203;34597](go-gitea/gitea#34597))
  - Keeping consistent between UI and API about combined commit status state and fix some bugs ([#&#8203;34562](go-gitea/gitea#34562))
  - Fix possible panic ([#&#8203;34508](go-gitea/gitea#34508))
  - Fix autofocus behavior ([#&#8203;34397](go-gitea/gitea#34397))
  - Fix Actions API ([#&#8203;35204](go-gitea/gitea#35204))
  - Fix ListWorkflowRuns OpenAPI response model. ([#&#8203;35026](go-gitea/gitea#35026))
  - Small fix in Pull Requests page ([#&#8203;34612](go-gitea/gitea#34612))
  - Fix http auth header parsing ([#&#8203;34936](go-gitea/gitea#34936))
  - Fix modal + form abuse ([#&#8203;34921](go-gitea/gitea#34921))
  - Fix PR toggle WIP ([#&#8203;34920](go-gitea/gitea#34920))
  - Fix log fmt ([#&#8203;34810](go-gitea/gitea#34810))
  - Replace stopwatch toggle with explicit start/stop actions ([#&#8203;34818](go-gitea/gitea#34818))
  - Fix some package registry problems ([#&#8203;34759](go-gitea/gitea#34759))
  - Fix RPM package download routing & missing package version count ([#&#8203;34909](go-gitea/gitea#34909))
  - Fix repo search input height ([#&#8203;34330](go-gitea/gitea#34330))
  - Fix "The sidebar of the repository file list does not have a fixed height [#&#8203;34298](go-gitea/gitea#34298)" ([#&#8203;34321](go-gitea/gitea#34321))
  - Fix minor typos in two files #HSFDPMUW ([#&#8203;34944](go-gitea/gitea#34944))
  - Fix actions skipped commit status indicator ([#&#8203;34507](go-gitea/gitea#34507))
  - Fix job status aggregation logic ([#&#8203;35000](go-gitea/gitea#35000))
  - Fix broken OneDev migration caused by various REST API changes in OneDev 7.8.0 and later ([#&#8203;35216](go-gitea/gitea#35216))
  - Fix typo in oauth2\_full\_name\_claim\_name string ([#&#8203;35199](go-gitea/gitea#35199))
  - Fix typo in locale\_en-US.ini ([#&#8203;35196](go-gitea/gitea#35196))
- API
  - Exposing TimeEstimate field in the API ([#&#8203;35475](go-gitea/gitea#35475))
  - UpdateBranch API supports renaming a branch ([#&#8203;35374](go-gitea/gitea#35374))
  - Add `owner` and `parent` fields clarification to docs ([#&#8203;35023](go-gitea/gitea#35023))
  - Improve OAuth2 provider (correct Issuer, respect ENABLED) ([#&#8203;34966](go-gitea/gitea#34966))
  - Add a `login`/`login-name`/`username` disambiguation to affected endpoint parameters and response/request models ([#&#8203;34901](go-gitea/gitea#34901))
  - Do not mutate incoming options to SearchRepositoryByName ([#&#8203;34553](go-gitea/gitea#34553))
  - Do not mutate incoming options to RenderUserSearch and SearchUsers  ([#&#8203;34544](go-gitea/gitea#34544))
  - Export repo's manual merge settings ([#&#8203;34502](go-gitea/gitea#34502))
  - Add date range filtering to commit retrieval endpoints ([#&#8203;34497](go-gitea/gitea#34497))
  - Add endpoint deleting workflow run ([#&#8203;34337](go-gitea/gitea#34337))
  - Add workflow\_run api + webhook ([#&#8203;33964](go-gitea/gitea#33964))
- REFACTOR
  - Move updateref and removeref to gitrepo and remove unnecessary open repository ([#&#8203;35511](go-gitea/gitea#35511))
  - Remove unused param `doer` ([#&#8203;34545](go-gitea/gitea#34545))
  - Split GetLatestCommitStatus as two functions ([#&#8203;34535](go-gitea/gitea#34535))
  - Use gitrepo.SetDefaultBranch when set default branch of wiki repository ([#&#8203;33911](go-gitea/gitea#33911))
  - Refactor editor ([#&#8203;34780](go-gitea/gitea#34780))
  - Refactor packages ([#&#8203;34777](go-gitea/gitea#34777))
  - Refactor container package ([#&#8203;34877](go-gitea/gitea#34877))
  - Refactor "change file" API ([#&#8203;34855](go-gitea/gitea#34855))
  - Rename pull request GetGitRefName to GetGitHeadRefName to prepare introducing GetGitMergeRefName ([#&#8203;35093](go-gitea/gitea#35093))
  - Move git command to git/gitcmd ([#&#8203;35483](go-gitea/gitea#35483))
  - Use db.WithTx/WithTx2 instead of TxContext when possible ([#&#8203;35428](go-gitea/gitea#35428))
  - Support Node.js 22.6 with type stripping ([#&#8203;35427](go-gitea/gitea#35427))
  - Migrate tools and configs to typescript, require node.js >= 22.18.0 ([#&#8203;35421](go-gitea/gitea#35421))
  - Check user and repo for redirects when using git via SSH transport ([#&#8203;35416](go-gitea/gitea#35416))
  - Remove the duplicated function GetTags ([#&#8203;35375](go-gitea/gitea#35375))
  - Refactor to use reflect.TypeFor ([#&#8203;35370](go-gitea/gitea#35370))
  - Deleting branch could delete broken branch which has database record but git branch is missing ([#&#8203;35360](go-gitea/gitea#35360))
  - Exit with success when already up to date ([#&#8203;35312](go-gitea/gitea#35312))
  - Split admin config settings templates to make it maintain easier ([#&#8203;35294](go-gitea/gitea#35294))
  - A small refactor to use context in the service layer ([#&#8203;35179](go-gitea/gitea#35179))
  - Refactor and update mail templates ([#&#8203;35150](go-gitea/gitea#35150))
  - Use db.WithTx/WithTx2 instead of TxContext when possible ([#&#8203;35130](go-gitea/gitea#35130))
  - Align `issue-title-buttons` with `list-header` ([#&#8203;35018](go-gitea/gitea#35018))
  - Add Notifications section in User Settings ([#&#8203;35008](go-gitea/gitea#35008))
  - Tweak placement of diff file menu ([#&#8203;34999](go-gitea/gitea#34999))
  - Refactor mail template and support preview ([#&#8203;34990](go-gitea/gitea#34990))
  - Rerun job only when run is done ([#&#8203;34970](go-gitea/gitea#34970))
  - Merge index.js ([#&#8203;34963](go-gitea/gitea#34963))
  - Refactor "delete-button" to "link-action" ([#&#8203;34962](go-gitea/gitea#34962))
  - Refactor webhook and fix feishu/lark secret ([#&#8203;34961](go-gitea/gitea#34961))
  - Exclude devtest.ts from tailwindcss ([#&#8203;34935](go-gitea/gitea#34935))
  - Refactor head navbar icons ([#&#8203;34922](go-gitea/gitea#34922))
  - Improve html escape ([#&#8203;34911](go-gitea/gitea#34911))
  - Improve tags list page ([#&#8203;34898](go-gitea/gitea#34898))
  - Improve `labels-list` rendering ([#&#8203;34846](go-gitea/gitea#34846))
  - Remove unused variable HUGO\_VERSION ([#&#8203;34840](go-gitea/gitea#34840))
  - Correct migration tab name ([#&#8203;34826](go-gitea/gitea#34826))
  - Refactor template helper ([#&#8203;34819](go-gitea/gitea#34819))
  - Use `shallowRef` instead of `ref` in `.vue` files where possible ([#&#8203;34813](go-gitea/gitea#34813))
  - Use standalone function to update repository cols ([#&#8203;34811](go-gitea/gitea#34811))
  - Refactor wiki ([#&#8203;34805](go-gitea/gitea#34805))
  - Remove unnecessary duplicate code ([#&#8203;34733](go-gitea/gitea#34733))
  - Refactor embedded assets and drop unnecessary dependencies ([#&#8203;34692](go-gitea/gitea#34692))
  - Update x/crypto package and make builtin SSH use default parameters ([#&#8203;34667](go-gitea/gitea#34667))
  - Add `--color-logo`, matching the logo's primary color ([#&#8203;34639](go-gitea/gitea#34639))
  - Add openssh-keygen to rootless image ([#&#8203;34625](go-gitea/gitea#34625))
  - Replace update repository function in some places ([#&#8203;34566](go-gitea/gitea#34566))
  - Change "rejected" to "changes requested" in 3rd party PR review notification ([#&#8203;34481](go-gitea/gitea#34481))
  - Remove legacy template helper functions ([#&#8203;34426](go-gitea/gitea#34426))
  - Use run-name and evaluate workflow variables ([#&#8203;34301](go-gitea/gitea#34301))
  - Move HasWiki to repository service package ([#&#8203;33912](go-gitea/gitea#33912))
  - Move some functions from package git to gitrepo ([#&#8203;33910](go-gitea/gitea#33910))
- TESTING
  - Add webhook test for push event ([#&#8203;34442](go-gitea/gitea#34442))
  - Add a webhook push test for dev branch ([#&#8203;34421](go-gitea/gitea#34421))
  - Add migrations tests ([#&#8203;34456](go-gitea/gitea#34456)) ([#&#8203;34498](go-gitea/gitea#34498))
- STYLE
  - Enforce explanation for necessary nolints and fix bugs ([#&#8203;34883](go-gitea/gitea#34883))
  - Fix remaining issues after `gopls modernize` formatting ([#&#8203;34771](go-gitea/gitea#34771))
  - Update gofumpt, add go.mod ignore directive ([#&#8203;35434](go-gitea/gitea#35434))
  - Enforce nolint scope ([#&#8203;34851](go-gitea/gitea#34851))
  - Enable gocritic `equalFold` and fix issues ([#&#8203;34952](go-gitea/gitea#34952))
  - Run `gopls modernize` on codebase ([#&#8203;34751](go-gitea/gitea#34751))
  - Upgrade `gopls` to v0.19.0, add `make fix` ([#&#8203;34772](go-gitea/gitea#34772))
- BUILD
  - bump archives\&rar dep ([#&#8203;35637](go-gitea/gitea#35637)) [#&#8203;35638](go-gitea/gitea#35638)
  - Use github.com/mholt/archives replace github.com/mholt/archiver ([#&#8203;35390](go-gitea/gitea#35390))
  - Update JS and PY dependencies ([#&#8203;35444](go-gitea/gitea#35444))
  - Upgrade devcontainer go version to 1.24.6 ([#&#8203;35298](go-gitea/gitea#35298))
  - Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields ([#&#8203;35418](go-gitea/gitea#35418))
  - Update JS and PY deps ([#&#8203;35191](go-gitea/gitea#35191))
  - Update JS and PY dependencies ([#&#8203;34391](go-gitea/gitea#34391))
  - Update go tool dependencies ([#&#8203;34845](go-gitea/gitea#34845))
  - Update `uint8-to-base64`, remove type stub ([#&#8203;34844](go-gitea/gitea#34844))
  - Switch to `@resvg/resvg-wasm` for `generate-images` ([#&#8203;35415](go-gitea/gitea#35415))
  - Switch to pnpm ([#&#8203;35274](go-gitea/gitea#35274))
  - Update chroma to v2.20.0 ([#&#8203;35220](go-gitea/gitea#35220))
  - Migrate to urfave v3 ([#&#8203;34510](go-gitea/gitea#34510))
  - Update JS deps, regenerate SVGs ([#&#8203;34640](go-gitea/gitea#34640))
  - Upgrade dependencies ([#&#8203;35384](go-gitea/gitea#35384))
  - Bump `@github/relative-time-element` to v4.4.8 ([#&#8203;34413](go-gitea/gitea#34413))
  - Update JS dependencies ([#&#8203;34951](go-gitea/gitea#34951))
  - Upgrade orgmode to v1.8.0 ([#&#8203;34721](go-gitea/gitea#34721))
  - Raise minimum Node.js version to 20, test on 24 ([#&#8203;34713](go-gitea/gitea#34713))
  - Update JS deps ([#&#8203;34701](go-gitea/gitea#34701))
  - Upgrade htmx to 2.0.6 ([#&#8203;34887](go-gitea/gitea#34887))
  - Update eslint to v9 ([#&#8203;35485](go-gitea/gitea#35485))
  - Update js dependencies ([#&#8203;35429](go-gitea/gitea#35429))
  - Clean up npm dependencies ([#&#8203;35508](go-gitea/gitea#35508))
  - Clean up npm dependencies ([#&#8203;35484](go-gitea/gitea#35484))
  - Bump setup-node to v5 ([#&#8203;35448](go-gitea/gitea#35448))
- MISC
  - Add gitignore rules to exclude LLM instruction files ([#&#8203;35076](go-gitea/gitea#35076))
  - Gitignore: Visual Studio settings folder ([#&#8203;34375](go-gitea/gitea#34375))
  - Improve language in en-US locale strings ([#&#8203;35124](go-gitea/gitea#35124))
  - Fixed all grammatical errors in locale\_en-US.ini ([#&#8203;35053](go-gitea/gitea#35053))
  - Docs/fix typo and grammar in CONTRIBUTING.md ([#&#8203;35024](go-gitea/gitea#35024))
  - Improve english grammar and readability in locale\_en-US.ini ([#&#8203;35017](go-gitea/gitea#35017))

Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbWFnZSJdfQ==-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/1903
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/api This PR adds API routes or modifies them modifies/go Pull requests that update Go code type/feature Completely new functionality. Can only be merged if feature freeze is not active.

Projects

None yet

6 participants