1
0
Fork
You've already forked forgejo
0
forked from forgejo/forgejo
Beyond coding. We forge.
  • Go 76.9%
  • go-html-template 11.4%
  • Roff 4.7%
  • JavaScript 2.9%
  • CSS 2%
  • Other 1.9%
Find a file
Paweł Bogusławski 7380eac5a2 fix: improve dashboard loading performances ( #7604 )
Generating dashboard page takes too long when table `action` contains
many records and error log contains message like
```
2025年04月21日 21:21:07 ...activities/action.go:470:GetFeeds() [W] [Slow SQL Query] SELECT `action`.* FROM `action` INNER JOIN `repository` ON `repository`.id = `action`.repo_id WHERE user_id=? AND is_deleted=? ORDER BY `action`.`created_unix` DESC LIMIT 20 [12 false] - 2m8.393454675s
```
This mod removes unnecessary inner join like proposed
in https://github.com/go-gitea/gitea/pull/32127
For complete solution index(user_id, is_deleted) for action table
should be created also like in https://github.com/go-gitea/gitea/pull/32333
(not included in this mod).
Related: https://github.com/go-gitea/gitea/pull/32127
Related: https://github.com/go-gitea/gitea/pull/32333
Author-Change-Id: IB#1160173
## Checklist
The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).
### Tests
- I added test coverage for Go changes...
 - [x] in their respective `*_test.go` for unit tests.
 - [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
 - [ ] in `web_src/js/*.test.js` if it can be unit tested.
 - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).
### Documentation
- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.
### Release notes
- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.
Reviewed-on: forgejo/forgejo#7604
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Paweł Bogusławski <pboguslawski@noreply.codeberg.org>
Co-committed-by: Paweł Bogusławski <pboguslawski@noreply.codeberg.org>
2025年06月14日 23:01:56 +02:00
.devcontainer Update ghcr.io/devcontainers/features/git-lfs Docker tag to v1.2.4 (forgejo) ( #8147 ) 2025年06月11日 01:11:13 +02:00
.forgejo Update https://data.forgejo.org/forgejo/forgejo-build-publish action to v5.3.5 (forgejo) ( #8181 ) 2025年06月13日 14:22:21 +02:00
assets fix: do not mix urfave v2 with urfave v3 ( #8168 ) 2025年06月12日 15:38:03 +02:00
build fix: Dockerfile should re-use bindata files when possible 2025年06月13日 14:00:57 +02:00
cmd feat: add admin user reset-mfa CLI command ( #8047 ) 2025年06月05日 10:40:21 +02:00
contrib Update environment-to-ini README ( #8183 ) 2025年06月13日 21:59:26 +02:00
custom/conf feat: enable mlkem768x25519-sha256 by default for builtin ssh ( #8115 ) 2025年06月09日 14:34:15 +02:00
docker bugfix check for alternate ssh host certificate location ( #34146 ) 2025年04月14日 15:53:35 +02:00
models fix: improve dashboard loading performances ( #7604 ) 2025年06月14日 23:01:56 +02:00
modules fix: make test suite run on older git version ( #8188 ) 2025年06月14日 19:50:58 +02:00
options feat(ui): show size constraints of custom avatar ( #7998 ) 2025年06月14日 16:35:50 +02:00
public feat(ui): redesign migration selection screen ( #6795 ) 2025年04月19日 13:51:35 +00:00
release-notes chore(upgrade): urfave/cli from v2 to v3 ( #8035 ) 2025年06月01日 22:16:37 +02:00
release-notes-published chore(release-notes): Forgejo v7.0.15 ( #7765 ) 2025年05月02日 15:13:14 +00:00
releases/images [DOCS] RELEASE-NOTES.md 2024年02月05日 14:44:32 +01:00
routers feat(ui): show size constraints of custom avatar ( #7998 ) 2025年06月14日 16:35:50 +02:00
services feat: API GET /repos/{owner}/{repo}/git/blobs 2025年06月13日 13:52:56 +02:00
templates feat(ui): show size constraints of custom avatar ( #7998 ) 2025年06月14日 16:35:50 +02:00
tests fix: make test suite run on older git version ( #8188 ) 2025年06月14日 19:50:58 +02:00
tools chore: use sharp to generate images ( #7512 ) 2025年04月11日 15:12:50 +00:00
web_src feat(ui): global styling for kbd tag ( #7958 ) 2025年06月10日 22:59:24 +02:00
.air.toml Reduce air verbosity ( #31417 ) 2024年06月23日 12:30:09 +02:00
.deadcode-out refactor & enhance AP elements used ( #7728 ) 2025年06月02日 22:29:10 +02:00
.dockerignore fix: Dockerfile should re-use bindata files when possible 2025年06月13日 14:00:57 +02:00
.editorconfig Cover go.mod and go.sum in .editorconfig ( #33960 ) 2025年04月01日 02:28:02 +02:00
.envrc.example Make direnv optional to let developers use their own direnv configuration 2024年11月06日 20:34:49 +01:00
.gitattributes Add interface{} to any replacement to make fmt, exclude *.pb.go ( #30461 ) 2024年04月15日 20:01:36 +02:00
.gitignore chore: branding import path ( #7337 ) 2025年03月27日 19:40:14 +00:00
.gitmodules cleanup(tests): remove manual testing submodule 2024年04月21日 10:13:51 +02:00
.gitpod.yml Remove sqlite-viewer and using database client ( #31223 ) 2024年06月09日 11:13:39 +02:00
.golangci.yml Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) ( #7367 ) 2025年03月28日 22:22:21 +00:00
.ignore Add /options/license and /options/gitignore to .ignore ( #30219 ) 2024年04月07日 15:40:31 +02:00
.mailmap Add .mailmap with aliases for Unknwon (github.com/Unknwon) 2024年08月14日 08:26:16 -04:00
.markdownlint.yaml Update JS dependencies ( #28537 ) 2023年12月30日 05:29:03 +00:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it ( #23561 ) 2023年03月18日 19:38:10 +01:00
.release-notes-assistant.yaml chore(release-notes): no need to specify they are draft 2024年10月22日 06:54:27 +02:00
.spectral.yaml Add spectral linter for Swagger ( #20321 ) 2022年07月11日 18:07:16 -05:00
.yamllint.yaml fully replace drone with actions ( #27556 ) 2023年10月11日 06:39:32 +00:00
BSDmakefile feat: Makefile & BSDmakefile changes ( #7455 ) 2025年04月27日 10:04:32 +00:00
CODEOWNERS [SKIP CI] chore: update CODEOWNERS ( #7785 ) 2025年05月05日 14:57:27 +00:00
CONTRIBUTING.md docs: replace Developer Guide link with the new Contributor Guide one. 2024年08月26日 13:22:39 +03:00
DCO Remove address from DCO ( #22595 ) 2023年01月24日 18:52:38 +00:00
Dockerfile fix: Dockerfile should re-use bindata files when possible 2025年06月13日 14:00:57 +02:00
Dockerfile.rootless fix: Dockerfile should re-use bindata files when possible 2025年06月13日 14:00:57 +02:00
eslint.config.mjs Update dependency eslint-plugin-unicorn to v59 (forgejo) ( #7744 ) 2025年05月01日 12:54:35 +00:00
flake.lock chore: create shell.nix and update flake.* ( #8129 ) 2025年06月10日 14:31:59 +02:00
flake.nix chore: create shell.nix and update flake.* ( #8129 ) 2025年06月10日 14:31:59 +02:00
go.mod Update module github.com/go-sql-driver/mysql to v1.9.3 (forgejo) ( #8186 ) 2025年06月14日 07:54:51 +02:00
go.sum Update module github.com/go-sql-driver/mysql to v1.9.3 (forgejo) ( #8186 ) 2025年06月14日 07:54:51 +02:00
LICENSE Forgejo v9.0 is GPLv3+ 2024年08月22日 09:09:29 +02:00
main.go fix: do not mix urfave v2 with urfave v3 ( #8168 ) 2025年06月12日 15:38:03 +02:00
Makefile fix: Dockerfile should re-use bindata files when possible 2025年06月13日 14:00:57 +02:00
manifest.scm Add a GNU Guix manifest ( #8038 ) 2025年06月03日 08:08:17 +02:00
package-lock.json Update dependency minimatch to v10.0.3 (forgejo) ( #8174 ) 2025年06月13日 13:24:14 +02:00
package.json Update dependency minimatch to v10.0.3 (forgejo) ( #8174 ) 2025年06月13日 13:24:14 +02:00
playwright.config.ts tests(e2e): Prepare for visual regression testing 2024年12月10日 18:12:36 +01:00
README.md chore(cleanup): remove comment from README 2025年03月26日 09:58:55 +00:00
release-notes-assistant.sh chore(release-notes-assistant): security fix / features come first 2024年11月17日 20:03:11 +01:00
RELEASE-NOTES.md chore: fix typos, decap a few i18n strings ( #6666 ) 2025年01月24日 05:41:59 +00:00
renovate.json chore: drop unused misspell ( #8058 ) 2025年06月03日 12:03:00 +02:00
shell.nix chore: create shell.nix and update flake.* ( #8129 ) 2025年06月10日 14:31:59 +02:00
stylelint.config.js Merge pull request 'Port "Enable declaration-block-no-redundant-longhand-properties ( #30950 )' ( #3769 ) from beowulf/gitea-port-pull-30950 into forgejo 2024年05月14日 22:23:54 +00:00
tailwind.config.js fix: Do not scan all Go files for tailwind classes 2024年08月24日 15:45:50 +02:00
tsconfig.json Add typescript 2024年10月29日 18:15:09 +01:00
vitest.config.ts Add typescript 2024年10月29日 18:15:09 +01:00
webpack.config.js Replace the 'relative-time' element scripting with custom, translatable rewrite ( #6154 ) 2025年05月03日 14:11:01 +00:00

Welcome to Forgejo

Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo – the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of builtin functionality.

Forgejo was created in 2022 because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever!

What does Forgejo offer?

If you like any of the following, Forgejo is literally meant for you:

  • Lightweight: Forgejo can easily be hosted on nearly every machine. Running on a Raspberry? Small cloud instance? No problem!
  • Project management: Besides Git hosting, Forgejo offers issues, pull requests, wikis, kanban boards and much more to coordinate with your team.
  • Publishing: Have something to share? Use releases to host your software for download, or use the package registry to publish it for docker, npm and many other package managers.
  • Customizable: Want to change your look? Change some settings? There are many config switches to make Forgejo work exactly like you want.
  • Powerful: Organizations & team permissions, CI integration, Code Search, LDAP, OAuth and much more. If you have advanced needs, Forgejo has you covered.
  • Privacy: From update checker to default settings: Forgejo is built to be privacy first for you and your crew.
  • Federation: (WIP) We are actively working to connect software forges with each other through ActivityPub, and create a collaborative network of personal instances.

Learn more

Dive into the documentation, subscribe to releases and blog post on our website, find us on the Fediverse or hop into our Matrix room if you have any questions or want to get involved.

License

Forgejo is distributed under the terms of the GPL version 3.0 or any later version.

The agreement for this license was documented in June 2023 and implemented during the development of Forgejo v9.0. All Forgejo versions before v9.0 are distributed under the MIT license.

Get involved

If you are interested in making Forgejo better, either by reporting a bug or by changing the governance, please take a look at the contribution guide.