mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-02-20 04:00:09 -05:00
3156 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f7873ba393 |
fix: normalize secrets consistently, display accurate help (#11052)
Forgejo's UI claims that whitespace is removed from the beginning and the end of the values of Forgejo Actions variables and secrets. However, that is not correct. The entered values are stored as-is. Only CRLF is replaced with LF, which is also the desired behaviour. This PR changes the incorrect text which is also no longer displayed as placeholder but as a proper help text below the input fields. Furthermore, tests were added to verify the behaviour. While adding tests, I discovered and fixed another inconsistency. Depending on whether secrets were managed using the UI or the HTTP API, they were treated differently. CRLF in secrets entered in the UI was correctly replaced with LF while secrets created using the HTTP API kept CRLF. Fixes #11003. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11052 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch> Co-committed-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch> |
||
|
|
3f7859f52d |
feat: improve label filtering exclusion (#10702)
Adds a new button on the right side of the label's filter menu items to explicitly exclude labels. The new button is reachable with the keyboard by using the vertical arrow keys to reach the label you want to exclude and then the horizontal arrow keys to select the exclusion button. The new button will only be visible when hovering the menu item or reaching it with the keyboard. Adjusted the alignment of labels when at least one label is selected so that users can clearly discern which labels are selected or not. Resolves #3302 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10702 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Luis <luis@adame.dev> Co-committed-by: Luis <luis@adame.dev> |
||
|
|
66d83702a3 |
fix(i18n): remove unneeded special cases for relative time (#10691)
Followup to https://codeberg.org/forgejo/forgejo/pulls/6154 en-US: two days ago -> 2 days ago two weeks ago -> 2 weeks ago two months ago -> 2 months ago two years ago -> 2 years ago Other locales still require changes to ensure that the relative time numbering is consistent. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10691 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: lily <lesson085@gmail.com> Co-committed-by: lily <lesson085@gmail.com> |
||
|
|
c52ecd2258 |
fix: don't clobber authorized_keys file during installation (#10948)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
This PR makes two changes. **First**, it removes the ability for Forgejo to rewrite ssh authorized_keys during startup. Forgejo previously checked if the application path or config file path had changed from that which is recorded in its database. If either has changed, it would rewrite the SSH `authorized_keys` file, as those paths are embedded into that file. The problem is that if a new installation runs the app and goes through a standard init procedure, it will clobber ~/.ssh/authorized_keys which is a disruptive mistake. Instead, Forgejo will proceed to ssh initialization, and due to the change in #10010 the incorrect application path or config file path will result in a fatal server error that the administrator must resolve. Disabling SSH is added as a plausible option for how to resolve that fatal error. **Second**, the interactive install UI has been modified to detect this error before the installation proceeds. If a user is attempting to install Forgejo with SSH, and they have an existing `~/.ssh/authorized_keys` file with keys present in it, the installation will fail with an error advising them to use a separate Forgejo user or to disable SSH. (More options are possible to fix this problem, but these are the obvious solutions.)  Fixes #10942. Manually tested. Without the install process change, Forgejo behaves like this: - Configure a typical end-user `~/.ssh/authorized_keys` file with normal keys - Run through a Forgejo initialization process on a new database; run with SQLite, add a new administrator account during the init process. - After initialization, Forgejo will restart and encounter a fatal error: ``` 2026/01/20 10:11:24 routers/init.go:84:syncAppConfForGit() [I] AppPath changed from '' to '/home/mfenniak/Dev/forgejo/forgejo' 2026/01/20 10:11:24 routers/init.go:89:syncAppConfForGit() [I] CustomConf changed from '' to '/home/mfenniak/Dev/forgejo/custom/conf/app.ini' 2026/01/20 10:11:24 routers/init.go:95:syncAppConfForGit() [I] re-sync repository hooks ... 2026/01/20 10:11:24 ...er/issues/indexer.go:155:func2() [I] Issue Indexer Initialization took 9.858336ms 2026/01/20 10:11:24 modules/ssh/init.go:86:Init() [F] An unexpected ssh public key was discovered. Forgejo will shutdown to require this to be fixed. Fix by either: Option 1: Delete the file /home/mfenniak/.ssh/authorized_keys, and Forgejo will recreate it with only expected ssh public keys. Option 2: Permit unexpected keys by setting [server].SSH_ALLOW_UNEXPECTED_AUTHORIZED_KEYS=true in Forgejo's config file. Option 3: If unused, disable SSH support by setting [server].DISABLE_SSH=true in Forgejo's config file. Unexpected key on line 1 of /home/mfenniak/.ssh/authorized_keys Unexpected key on line 2 of /home/mfenniak/.ssh/authorized_keys Unexpected key on line 3 of /home/mfenniak/.ssh/authorized_keys Unexpected key on line 4 of /home/mfenniak/.ssh/authorized_keys ``` With the install process change, the above error screenshot occurs instead. ## 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... - [ ] 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 - [x] This change will be noticed by a Forgejo user or admin (feature, bug fix, performance, etc.). I suggest to include a release note for this change. - [ ] This change is not visible to a Forgejo user or admin (refactor, dependency upgrade, etc.). I think there is no need to add a release note for this change. *The decision if the pull request will be shown in the release notes is up to the mergers / release team.* The content of the `release-notes/<pull request number>.md` file will serve as the basis for the release notes. If the file does not exist, the title of the pull request will be used instead. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/10948): <!--number 10948 --><!--line 0 --><!--description ZG9uJ3QgY2xvYmJlciBhdXRob3JpemVkX2tleXMgZmlsZSBkdXJpbmcgaW5zdGFsbGF0aW9u-->don't clobber authorized_keys file during installation<!--description--> <!--end release-notes-assistant--> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10948 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net> |
||
|
|
0dbd533e42 |
fix(locale): tooltip for "Owner" role should not imply unique owner (#11004)
Forgejo organisations can have multiple owners. In issue or PR discussions, the tooltip for the "Owner" role should not imply that a repository has a single owner. Therefore, I am proposing that it says "an owner" instead of "the owner". One choose to keep the tooltip with its current wording for repositories owned by an individual (instead of an organization), but the new tooltip remains correct even if there happens to be a single owner, and I don't think the wording difference warrants a runtime check. #### Before (on Codeberg)  #### After (on local instance)  Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11004 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu> Co-committed-by: Antonin Delpeuch <antonin@delpeuch.eu> |
||
|
|
1978afdb65 |
i18n(*): migrate ini section [packages] to json (#10979)
Some checks are pending
Integration tests for the release process / release-simulation (push) Waiting to run
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
The following strings were skipped because they will need a separate template update for plurals: ```ini [packages] owner.settings.cleanuprules.keep.count.1 owner.settings.cleanuprules.keep.count.n ``` Repro command: ```sh python remap.py --config --write \ --insertion-mode s+p \ --remap [packages]title:packages.title \ --remap [packages]empty:packages.empty \ --remap [packages]empty.documentation:packages.empty.documentation \ --remap [packages]empty.repo:packages.empty.repo \ --remap [packages]registry.documentation:packages.registry.documentation \ --remap [packages]filter.type:packages.filter.type \ --remap [packages]filter.type.all:packages.filter.type.all \ --remap [packages]filter.no_result:packages.filter.no_result \ --remap [packages]filter.container.tagged:packages.filter.container.tagged \ --remap [packages]filter.container.untagged:packages.filter.container.untagged \ --remap [packages]published_by:packages.published_by \ --remap [packages]published_by_in:packages.published_by_in \ --remap [packages]installation:packages.installation \ --remap [packages]about:packages.about \ --remap [packages]requirements:packages.requirements \ --remap [packages]dependencies:packages.dependencies \ --remap [packages]keywords:packages.keywords \ --remap [packages]details:packages.details \ --remap [packages]details.author:packages.details.author \ --remap [packages]details.project_site:packages.details.project_site \ --remap [packages]details.repository_site:packages.details.repository_site \ --remap [packages]details.documentation_site:packages.details.documentation_site \ --remap [packages]details.license:packages.details.license \ --remap [packages]assets:packages.assets \ --remap [packages]versions:packages.versions \ --remap [packages]versions.view_all:packages.versions.view_all \ --remap [packages]dependency.id:packages.dependency.id \ --remap [packages]dependency.version:packages.dependency.version \ --remap [packages]search_in_external_registry:packages.search_in_external_registry \ --remap [packages]alpine.registry:packages.alpine.registry \ --remap [packages]alpine.registry.key:packages.alpine.registry.key \ --remap [packages]alpine.registry.info:packages.alpine.registry.info \ --remap [packages]alpine.install:packages.alpine.install \ --remap [packages]alpine.repository:packages.alpine.repository \ --remap [packages]alpine.repository.branches:packages.alpine.repository.branches \ --remap [packages]alpine.repository.repositories:packages.alpine.repository.repositories \ --remap [packages]alpine.repository.architectures:packages.alpine.repository.architectures \ --remap [packages]arch.pacman.helper.gpg:packages.arch.pacman.helper.gpg \ --remap [packages]arch.pacman.repo.multi:packages.arch.pacman.repo.multi \ --remap [packages]arch.pacman.repo.multi.item:packages.arch.pacman.repo.multi.item \ --remap [packages]arch.pacman.conf:packages.arch.pacman.conf \ --remap [packages]arch.pacman.sync:packages.arch.pacman.sync \ --remap [packages]arch.version.properties:packages.arch.version.properties \ --remap [packages]arch.version.description:packages.arch.version.description \ --remap [packages]arch.version.provides:packages.arch.version.provides \ --remap [packages]arch.version.groups:packages.arch.version.groups \ --remap [packages]arch.version.depends:packages.arch.version.depends \ --remap [packages]arch.version.optdepends:packages.arch.version.optdepends \ --remap [packages]arch.version.makedepends:packages.arch.version.makedepends \ --remap [packages]arch.version.checkdepends:packages.arch.version.checkdepends \ --remap [packages]arch.version.conflicts:packages.arch.version.conflicts \ --remap [packages]arch.version.replaces:packages.arch.version.replaces \ --remap [packages]arch.version.backup:packages.arch.version.backup \ --remap [packages]cargo.registry:packages.cargo.registry \ --remap [packages]cargo.install:packages.cargo.install \ --remap [packages]chef.registry:packages.chef.registry \ --remap [packages]chef.install:packages.chef.install \ --remap [packages]composer.registry:packages.composer.registry \ --remap [packages]composer.install:packages.composer.install \ --remap [packages]composer.dependencies:packages.composer.dependencies \ --remap [packages]composer.dependencies.development:packages.composer.dependencies.development \ --remap [packages]conan.registry:packages.conan.registry \ --remap [packages]conan.install:packages.conan.install \ --remap [packages]conda.registry:packages.conda.registry \ --remap [packages]conda.install:packages.conda.install \ --remap [packages]container.images.title:packages.container.images.title \ --remap [packages]container.details.type:packages.container.details.type \ --remap [packages]container.details.platform:packages.container.details.platform \ --remap [packages]container.pull:packages.container.pull \ --remap [packages]container.digest:packages.container.digest \ --remap [packages]container.multi_arch:packages.container.multi_arch \ --remap [packages]container.layers:packages.container.layers \ --remap [packages]container.labels:packages.container.labels \ --remap [packages]container.labels.key:packages.container.labels.key \ --remap [packages]container.labels.value:packages.container.labels.value \ --remap [packages]cran.registry:packages.cran.registry \ --remap [packages]cran.install:packages.cran.install \ --remap [packages]debian.registry:packages.debian.registry \ --remap [packages]debian.registry.info:packages.debian.registry.info \ --remap [packages]debian.install:packages.debian.install \ --remap [packages]debian.repository:packages.debian.repository \ --remap [packages]debian.repository.distributions:packages.debian.repository.distributions \ --remap [packages]debian.repository.components:packages.debian.repository.components \ --remap [packages]debian.repository.architectures:packages.debian.repository.architectures \ --remap [packages]generic.download:packages.generic.download \ --remap [packages]go.install:packages.go.install \ --remap [packages]helm.registry:packages.helm.registry \ --remap [packages]helm.install:packages.helm.install \ --remap [packages]maven.registry:packages.maven.registry \ --remap [packages]maven.install:packages.maven.install \ --remap [packages]maven.install2:packages.maven.install2 \ --remap [packages]maven.download:packages.maven.download \ --remap [packages]nuget.registry:packages.nuget.registry \ --remap [packages]nuget.install:packages.nuget.install \ --remap [packages]nuget.dependency.framework:packages.nuget.dependency.framework \ --remap [packages]npm.registry:packages.npm.registry \ --remap [packages]npm.install:packages.npm.install \ --remap [packages]npm.install2:packages.npm.install2 \ --remap [packages]npm.dependencies:packages.npm.dependencies \ --remap [packages]npm.dependencies.development:packages.npm.dependencies.development \ --remap [packages]npm.dependencies.bundle:packages.npm.dependencies.bundle \ --remap [packages]npm.dependencies.peer:packages.npm.dependencies.peer \ --remap [packages]npm.dependencies.optional:packages.npm.dependencies.optional \ --remap [packages]npm.details.tag:packages.npm.details.tag \ --remap [packages]pub.install:packages.pub.install \ --remap [packages]pypi.requires:packages.pypi.requires \ --remap [packages]pypi.install:packages.pypi.install \ --remap [packages]rpm.registry:packages.rpm.registry \ --remap [packages]rpm.distros.redhat:packages.rpm.distros.redhat \ --remap [packages]rpm.distros.suse:packages.rpm.distros.suse \ --remap [packages]rpm.install:packages.rpm.install \ --remap [packages]rpm.repository:packages.rpm.repository \ --remap [packages]rpm.repository.architectures:packages.rpm.repository.architectures \ --remap [packages]rpm.repository.multiple_groups:packages.rpm.repository.multiple_groups \ --remap [packages]alt.registry:packages.alt.registry \ --remap [packages]alt.registry.install:packages.alt.registry.install \ --remap [packages]alt.install:packages.alt.install \ --remap [packages]alt.setup:packages.alt.setup \ --remap [packages]alt.repository:packages.alt.repository \ --remap [packages]alt.repository.architectures:packages.alt.repository.architectures \ --remap [packages]alt.repository.multiple_groups:packages.alt.repository.multiple_groups \ --remap [packages]rubygems.install:packages.rubygems.install \ --remap [packages]rubygems.install2:packages.rubygems.install2 \ --remap [packages]rubygems.dependencies.runtime:packages.rubygems.dependencies.runtime \ --remap [packages]rubygems.dependencies.development:packages.rubygems.dependencies.development \ --remap [packages]rubygems.required.ruby:packages.rubygems.required.ruby \ --remap [packages]rubygems.required.rubygems:packages.rubygems.required.rubygems \ --remap [packages]swift.registry:packages.swift.registry \ --remap [packages]swift.install:packages.swift.install \ --remap [packages]swift.install2:packages.swift.install2 \ --remap [packages]vagrant.install:packages.vagrant.install \ --remap [packages]settings.link:packages.settings.link \ --remap [packages]settings.link.description:packages.settings.link.description \ --remap [packages]settings.link.select:packages.settings.link.select \ --remap [packages]settings.link.button:packages.settings.link.button \ --remap [packages]settings.link.success:packages.settings.link.success \ --remap [packages]settings.link.error:packages.settings.link.error \ --remap [packages]settings.delete:packages.settings.delete \ --remap [packages]settings.delete.description:packages.settings.delete.description \ --remap [packages]settings.delete.notice:packages.settings.delete.notice \ --remap [packages]settings.delete.success:packages.settings.delete.success \ --remap [packages]settings.delete.error:packages.settings.delete.error \ --remap [packages]owner.settings.cargo.title:packages.owner.settings.cargo.title \ --remap [packages]owner.settings.cargo.initialize:packages.owner.settings.cargo.initialize \ --remap [packages]owner.settings.cargo.initialize.description:packages.owner.settings.cargo.initialize.description \ --remap [packages]owner.settings.cargo.initialize.error:packages.owner.settings.cargo.initialize.error \ --remap [packages]owner.settings.cargo.initialize.success:packages.owner.settings.cargo.initialize.success \ --remap [packages]owner.settings.cargo.rebuild:packages.owner.settings.cargo.rebuild \ --remap [packages]owner.settings.cargo.rebuild.description:packages.owner.settings.cargo.rebuild.description \ --remap [packages]owner.settings.cargo.rebuild.error:packages.owner.settings.cargo.rebuild.error \ --remap [packages]owner.settings.cargo.rebuild.success:packages.owner.settings.cargo.rebuild.success \ --remap [packages]owner.settings.cargo.rebuild.no_index:packages.owner.settings.cargo.rebuild.no_index \ --remap [packages]owner.settings.cleanuprules.title:packages.owner.settings.cleanuprules.title \ --remap [packages]owner.settings.cleanuprules.add:packages.owner.settings.cleanuprules.add \ --remap [packages]owner.settings.cleanuprules.edit:packages.owner.settings.cleanuprules.edit \ --remap [packages]owner.settings.cleanuprules.none:packages.owner.settings.cleanuprules.none \ --remap [packages]owner.settings.cleanuprules.preview:packages.owner.settings.cleanuprules.preview \ --remap [packages]owner.settings.cleanuprules.preview.overview:packages.owner.settings.cleanuprules.preview.overview \ --remap [packages]owner.settings.cleanuprules.preview.none:packages.owner.settings.cleanuprules.preview.none \ --remap [packages]owner.settings.cleanuprules.pattern_full_match:packages.owner.settings.cleanuprules.pattern_full_match \ --remap [packages]owner.settings.cleanuprules.keep.title:packages.owner.settings.cleanuprules.keep.title \ --remap [packages]owner.settings.cleanuprules.keep.count:packages.owner.settings.cleanuprules.keep.count \ --remap [packages]owner.settings.cleanuprules.keep.pattern:packages.owner.settings.cleanuprules.keep.pattern \ --remap [packages]owner.settings.cleanuprules.keep.pattern.container:packages.owner.settings.cleanuprules.keep.pattern.container \ --remap [packages]owner.settings.cleanuprules.remove.title:packages.owner.settings.cleanuprules.remove.title \ --remap [packages]owner.settings.cleanuprules.remove.days:packages.owner.settings.cleanuprules.remove.days \ --remap [packages]owner.settings.cleanuprules.remove.pattern:packages.owner.settings.cleanuprules.remove.pattern \ --remap [packages]owner.settings.cleanuprules.success.update:packages.owner.settings.cleanuprules.success.update \ --remap [packages]owner.settings.cleanuprules.success.delete:packages.owner.settings.cleanuprules.success.delete \ --remap [packages]owner.settings.chef.title:packages.owner.settings.chef.title \ --remap [packages]owner.settings.chef.keypair:packages.owner.settings.chef.keypair \ --remap [packages]owner.settings.chef.keypair.description:packages.owner.settings.chef.keypair.description ``` In en-US the strings were manually moved lower in the file, before the `actions` section. Weblate proposes strings sequentially to translators, and would be really awkward to start a translation with `packages`. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10979 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> |
||
|
|
5c67663706
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Atalanttore <atalanttore@noreply.codeberg.org> Co-authored-by: BKehayov <bkehayov@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Bullbagaren <bullbagaren@noreply.codeberg.org> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: KWik <kwik@noreply.codeberg.org> Co-authored-by: Klenje <klenje@noreply.codeberg.org> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: aindriu80 <aindriu80@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: atarwn <atarwn@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: hanklank <hanklank@noreply.codeberg.org> Co-authored-by: hugoalh <hugoalh@noreply.codeberg.org> Co-authored-by: jimkats <jimkats@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: lanticy <lanticy@noreply.codeberg.org> Co-authored-by: mahlzahn <mahlzahn@posteo.de> Co-authored-by: ospalh <ospalh@noreply.codeberg.org> Co-authored-by: retarded-beast <retarded-beast@noreply.codeberg.org> Co-authored-by: smlxdesign <smlxdesign@noreply.codeberg.org> Co-authored-by: tibfulv <tibfulv@noreply.codeberg.org> Co-authored-by: vmtj <vmtj@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Co-authored-by: yookoala <yookoala@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ar/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/be/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bg/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bn/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cy/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/da/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/es/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fa/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fur/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ga/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/gl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/hi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/hu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/id/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/is/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/isv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ja/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/jbo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ka/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kmr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ko/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/la/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lt/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/mic/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ml/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ro/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/si/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/th/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tok/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tt/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uz/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/vi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/yi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hant/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hant_HK/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/bg/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ga/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hant/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hant_HK/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
970b0da24d |
fix: internal server error on a large .gitmodules (#10744)
Fix #10714 (introduced in #8438) by silently ignoring large .gitmodules files. Additionally: - the limit was bumped from 10KB to 64KB (https://github.com/boostorg/boost/blob/master/.gitmodules has 20KB) - a warning is shown on the .gitmodules view page if this limit is exceeded Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10744 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: oliverpool <git@olivier.pfad.fr> Co-committed-by: oliverpool <git@olivier.pfad.fr> |
||
|
|
28e0af23fa |
feat(ui): replace Monaco with CodeMirror (#10559)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
- Replace the [Monaco Editor](https://microsoft.github.io/monaco-editor/) with [CodeMirror 6](https://codemirror.net/). This editor is used to facilitate the 'Add file' and 'Edit file' functionality. - Rationale: - Monaco editor is a great and powerful editor, however for Forgejo's purpose it acts more like a small IDE than a code editor and is doing too much. In my limited user research the usage of editing files via the web UI is largely for small changes that does not need the features that Monaco editor provides. - Monaco editor has no mobile support, Codemirror is very usable on mobile. - Monaco editor pulls in large dependencies (for language support) and by replacing it with Codemirror the amount of time that webpack needs to build the frontend is reduced by 50% (~30s -> ~15s). - The binary of Forgejo (build with `bindata` tag) is reduced by 2MiB. - Codemirror is much more lightweight and should be more usable on less powerful hardware, most notably the lazy loading is much faster as codemirror uses less javascript. - Because Codemirror is modular it is much easier to change the behavior of the code editor if we wish to. - Drawbacks: - Codemirror is quite modular and as seen in `package.json` and in `codeeditor.ts` we have to supply a lot more of its features to have feature parity with Monaco editor. - Monaco editor has great integrated language support (features that an lsp would provide), Codemirror only has such language support to an extend. - Monaco editor has its famous command palette (known by many as its also available in VSCode), this is not available in code mirror. - Good to note: - All features that was added on top of the monaco editor (such as dynamically changing language support depending on the filename) still works and the theme is based on the VSCode colors which largely resembles the monaco editor. - The code editor is still lazy-loaded (this is painfully clear by reading how imports are passed around in `codeeditor.ts`). - This change was privately tested by a few people, a few bugs were found (and fixed) but no major drawbacks were noted for their usage of the web editor. - There's a "search" button in the top bar, so that search can be used on mobile. It is otherwise only accessible via <kbd>Ctrl</kbd>+<kbd>f</kbd>. Co-authored-by: Beowulf <beowulf@beocode.eu> Co-authored-by: Gusted <postmaster@gusted.xyz> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10559 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-committed-by: Beowulf <beowulf@beocode.eu> |
||
|
|
59c721d26b |
i18n(next): convert indention style to tabs: en, editorconfig (#10661)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
Followup to #10659 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10661 Reviewed-by: Gusted <gusted@noreply.codeberg.org> |
||
|
|
2566924ff8 |
feat: Retrieve default merge commit message for pull requests (#10022)
Closes #7719 Co-authored-by: kukolos <91948790+kukolos@users.noreply.github.com> Co-authored-by: 0ko <0ko@noreply.codeberg.org> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10022 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: MayMeow <maymeow@noreply.codeberg.org> Co-committed-by: MayMeow <maymeow@noreply.codeberg.org> |
||
|
|
9c6821c06f
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Codeberg Translate <translate@codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ar/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/be/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bg/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bn/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/bs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cy/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/da/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/es/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fa/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ga/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/gl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/hi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/hu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/id/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/is/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/isv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ja/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/jbo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ka/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kmr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ko/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/la/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lt/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/mic/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ml/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ro/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/si/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sr_SP/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/th/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tok/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tt/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uz/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/vi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/yi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hant/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hant_HK/ Translation: Forgejo/forgejo-next |
||
|
|
f6399a0d25
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Arthur Zamarin <arthurzam@gentoo.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: killawabbit <killawabbit@noreply.codeberg.org> Co-authored-by: m-casanova <m-casanova@noreply.codeberg.org> Co-authored-by: nykula <nykula@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
75cb38faa6 |
feat: support reusable workflow expansion when with or strategy.matrix contains ${{ needs... }} (#10647)
This change allows the `with:` field of a reusable workflow to reference a previous job, such as `with: { some-input: "${{ needs.other-job.outputs.other-output }}" }`. `strategy.matrix` can also reference `${{ needs... }}`.
When a job is parsed and encounters this situation, the outer job of the workflow is marked with a field `incomplete_with` (or `incomplete_matrix`), indicating to Forgejo that it can't be executed as-is and the other jobs in its `needs` list need to be completed first. And then in `job_emitter.go` when one job is completed, it checks if other jobs had a `needs` reference to it and unblocks those jobs -- but if they're marked with `incomplete_with` then they can be sent back through the job parser, with the now-available job outputs, to be expanded into the correct definition of the job.
The core functionality for this already exists to allow `runs-on` and `strategy.matrix` to reference the outputs of other jobs, but it is expanded upon here to include `with` for reusable workflows.
There is one known defect in this implementation, but it has a limited scope -- if this code path is used to expand a nested reusable workflow, then the `${{ input.... }}` context will be incorrect. This will require an update to the jobparser in runner version 12.4.0, and so it is out-of-scope of this PR.
## 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)).
- **end-to-end test:** will require the noted "known defect" to be resolved, but tests are authored at https://code.forgejo.org/forgejo/end-to-end/compare/main...mfenniak:expand-reusable-workflows-needs
### 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.
- [x] 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: https://codeberg.org/forgejo/forgejo/pulls/10647
Reviewed-by: Andreas Ahlenstorf <aahlenst@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
|
||
|
|
cc11e56483
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: AYT04 <ayt04@noreply.codeberg.org> Co-authored-by: Arthur Zamarin <arthurzam@gentoo.org> Co-authored-by: Astrak <astrak@noreply.codeberg.org> Co-authored-by: Baempaieo <baempaieo@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: Kenneth Bruen <kenny@kbruen.ro> Co-authored-by: Kyush <kyush@noreply.codeberg.org> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: Nimplex <nimplex@noreply.codeberg.org> Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> Co-authored-by: Schmerling <schmerling@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: WithLithum <withlithum@noreply.codeberg.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: Zughy <zughy@noreply.codeberg.org> Co-authored-by: adam <me@adamperkowski.dev> Co-authored-by: adriand <adriand@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: butterflyoffire <butterflyoffire@noreply.codeberg.org> Co-authored-by: jimkats <jimkats@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: mahlzahn <mahlzahn@posteo.de> Co-authored-by: pixelcode <pixelcode@noreply.codeberg.org> Co-authored-by: vmtj <vmtj@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/es/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ko/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/mic/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ro/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
9d824142e4 |
feat: show update time when sorting by recently updated (#10488)
Fixes #4712 Fixes #7783 When filtering issues or PRs by "Recently updated" or "Least recently updated", the last updated time is shown. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10488 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Bram Hagens <bram@bramh.me> Co-committed-by: Bram Hagens <bram@bramh.me> |
||
|
|
cdc27b0d62 |
feat: add support to opt-in for fuzzy search (#10378)
The rationale for keeping it behind a flag is due to fuzzy search being computationally intensive #5261 Admins may opt-in by setting the `[indexer].REPO_INDEXER_FUZZY_ENABLED` flag to true. Closes #10331 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10378 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com> Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com> |
||
|
|
e23b3770ce
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: 11xx <11xx@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Kenneth Bruen <kenny@kbruen.ro> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: Yushu <yushu@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: dobrvlskyi <dobrvlskyi@noreply.codeberg.org> Co-authored-by: enderice2 <enderice2@noreply.codeberg.org> Co-authored-by: faoquad <faoquad@noreply.codeberg.org> Co-authored-by: harryxi <harryxi@noreply.codeberg.org> Co-authored-by: jimkats <jimkats@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: nikee <nikee@noreply.codeberg.org> Co-authored-by: shadowmaru <shadowmaru@noreply.codeberg.org> Co-authored-by: smlxdesign <smlxdesign@noreply.codeberg.org> Co-authored-by: tace16 <tace16@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Co-authored-by: yeager <yeager@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ro/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
ffbd500600 |
feat(actions): support referencing ${{ needs... }} variables in runs-on (#10308)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
Allows referencing the outputs of previously executed jobs in the `runs-on` field directly by a `${{ needs.some-job.outputs.some-output }}`, and also *indirectly* through the job's `strategy.matrix`. At its most complicated, supports a workflow with dynamic matrices like this:
```yaml
jobs:
define-matrix:
runs-on: docker
outputs:
array-value: ${{ steps.define.outputs.array }}
steps:
- id: define
run: |
echo 'array=["debian-bookworm", "debian-trixie"]' >> "$FORGEJO_OUTPUT"
runs-on-dynamic-matrix:
needs: define-matrix
strategy:
matrix:
my-runners: ${{ fromJSON(needs.define-matrix.outputs.array-value) }}
runs-on: ${{ matrix.my-runners }}
steps:
- run: uname -a
```
## 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.
- Documentation already (incorrectly) states that `jobs.<job-id>.runs-on` can access the `needs` context. 😛 https://forgejo.org/docs/latest/user/actions/reference/#availability
### Release notes
- [ ] I do not want this change to show in the release notes.
- [x] 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.
<!--start release-notes-assistant-->
## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/10308): <!--number 10308 --><!--line 0 --><!--description ZmVhdChhY3Rpb25zKTogc3VwcG9ydCByZWZlcmVuY2luZyBgJHt7IG5lZWRzLi4uIH19YCB2YXJpYWJsZXMgaW4gYHJ1bnMtb25g-->feat(actions): support referencing `${{ needs... }}` variables in `runs-on`<!--description-->
<!--end release-notes-assistant-->
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10308
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
|
||
|
|
0ecc6ef632 |
fix(actions): improve errors when ${{ needs... }} is used in strategy.matrix incorrectly (#10298)
Three fixes are presented together in this PR:
- When a `strategy.matrix` entry in an Action job contains `${{ needs.some-job.outputs.some-output }}`, if that output *never* becomes available, different error messages will be presented if `some-job` isn't found or if `some-output` isn't found. This clarifies an error message that was previously "it could be this, or it could be this".
- In the error case described in the previous point, other jobs in the workflow could continue running or could be left "blocked" forever. A centralized `FailRunPreExecutionError` function ensures that all incomplete jobs in the run are failed in this case.
- In a rare error case when a job referenced another job in `strategy.matrix` but no other jobs were defined in the workflow, the job would be marked as blocked forever because the `job_emitter` code would never be invoked to detect this case. A new `consistencyCheckRun` function for a newly created `ActionRun` adds a location to perform a pre-execution check for this case so that the run can be failed.
These fixes are all interconnected around the refactor for the `FailRunPreExecutionError`, causing them to be bundled rather than individual PRs.
## 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
- [x] I do not want this change to show in the release notes.
- These are fixes to an unreleased feature and don't require 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: https://codeberg.org/forgejo/forgejo/pulls/10298
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
|
||
|
|
d5fa12ded1 |
feat: add admin moderation actions for abuse reports and for reported abusive content (#8716)
Some checks failed
/ release (push) Has been cancelled
testing-integration / test-unit (push) Has been cancelled
testing-integration / test-sqlite (push) Has been cancelled
testing-integration / test-mariadb (v10.6) (push) Has been cancelled
testing-integration / test-mariadb (v11.8) (push) Has been cancelled
testing / backend-checks (push) Has been cancelled
testing / frontend-checks (push) Has been cancelled
testing / test-unit (push) Has been cancelled
testing / test-e2e (push) Has been cancelled
testing / test-remote-cacher (redis) (push) Has been cancelled
testing / test-remote-cacher (valkey) (push) Has been cancelled
testing / test-remote-cacher (garnet) (push) Has been cancelled
testing / test-remote-cacher (redict) (push) Has been cancelled
testing / test-mysql (push) Has been cancelled
testing / test-pgsql (push) Has been cancelled
testing / test-sqlite (push) Has been cancelled
testing / security-check (push) Has been cancelled
- Implementation of milestone 6. from **Task F. Moderation features: Reporting** (part of [amendment of the workplan](https://codeberg.org/forgejo/sustainability/src/branch/main/2022-12-01-nlnet/2025-02-07-extended-workplan.md#task-f-moderation-features-reporting) for NLnet 2022-12-035): `6. Forgejo admins can perform common actions on the listed reports (content deletion, locking of user account)` --- Follow-up of !7905 (and !6977) --- This adds some action buttons within the _Moderation reports_ section (/admin/moderation/reports) within the _Site administration_ page, so that administrators can: - mark a report as Handled or as Ignored (without performing any action on the reported content); - mark a user account as suspended (set `prohibit_login` = true); - delete (and purge) a user / organization and mark the linked reports as Handled; - delete a repository and mark the linked reports as Handled; - delete an issue / pull request and mark the linked reports as Handled; - delete a comment and mark the linked reports as Handled; The buttons were added on the sight side of each report from the overview, below the existing counter (that show how many times the content was reported and opens the details page). Only the buttons for updating the status of the report are directly visible - as `✓` and `✗` icons with some tooltips - while the content actions are hidden under a `⋯` dropdown. The implementation was done using HTMX so that the page is not refreshed after each action. Some discussions regarding the UI/UX started with https://codeberg.org/forgejo/design/issues/30#issuecomment-5958634 ### Manual testing - First make sure that moderation in enabled ([moderation] ENABLED config is set as true within app.ini). - Report multiple users, organizations, repositories, issues, pull requests and comments. - Go to _Moderation reports_ overview section section and make sure the buttons are visible; - The `✓` and `✗` should be available for each shown report; - The horizontal dropdown menu (`⋯`) should not be visible for reports linked to already deleted content. - The actions available within the dropdown menu should correspond to the reported content type (e.g. 'Suspend account' and 'Delete account' for users/organizations, 'Delete repository' for repositories, etc.). - When an action is successful a flash message should be displayed above the overview. - Warnings should be displayed (as flash messages) when trying to suspend or delete your account (in case someone reported you) or an organization. - An info (flash message) should be displayed when trying to suspend a user that is already suspended. - Mark a report as Handled / Ignored and observe that a success flash message confirms the action and the report is removed from the list without reloading the page; - Refresh the page to make sure the report will not be loaded again (also check in the DB that the status was updated and the resolved timestamp is correctly set). - Suspend a user account and make sure the report remains in the list (it is not resolved); - Make sure the above user gets the 'Suspended account' notice after login. - Delete a user account and observe that a success flash message confirms the action and the report is removed from the list without reloading the page; - Make sure that all owned organizations and repositories as well as all the issues, PRs and comments posted in other repositories were deleted; - Make sure the linked abuse reports are marked as Handled (and resolved timestamp is set). - Delete an organization and make sure that owned repositories were also deleted. - Similarly, delete a repository / issue / PR / comment and check that the contents are not available any more and the linked reports are resolved. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8716 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: floss4good <floss4good@disroot.org> Co-committed-by: floss4good <floss4good@disroot.org> |
||
|
|
e31d67e0aa |
feat: allow sync quota groups with oauth2 auth source (#8554)
Implements synchronizing an external user's quota group with provided OAuth2 claim. This functionality will allow system administrators to manage user's quota groups automatically. Documentation is at forgejo/docs#1337 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8554 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: thezzisu <thezzisu@gmail.com> Co-committed-by: thezzisu <thezzisu@gmail.com> |
||
|
|
993da59ad4 |
i18n: translate Actions PreExecutionError for viewer (#10267)
Identified in code review https://codeberg.org/forgejo/forgejo/pulls/10244#issuecomment-8576643, the `PreExecutionError` field in `ActionRun` isn't well implemented as it translates the error at action runtime rather than later when the action is viewed in the UI. This PR adds an error code and error details column that can be more correctly translated. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10267 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net> |
||
|
|
7a6d53cb65 |
chore(ui): mention proc-receive in text for dashboard.resync_all_hooks func (#10182)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
That hook is the one required for AGit workflow, or clients will get: remote: error: cannot find hook 'proc-receive' Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10182 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Sandro Santilli <strk@kbt.io> Co-committed-by: Sandro Santilli <strk@kbt.io> |
||
|
|
959e4cf138
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Kropotkin <kropotkin@noreply.codeberg.org> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: Yushu <yushu@noreply.codeberg.org> Co-authored-by: anorprogrammer <anorprogrammer@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: futsuuu <futsuuu@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: luthkur <luthkur@noreply.codeberg.org> Co-authored-by: nitromelon <nitromelon@noreply.codeberg.org> Co-authored-by: rchk <rchk@noreply.codeberg.org> Co-authored-by: tace16 <tace16@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org> Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/be/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/el/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/isv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/la/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tt/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uz/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/be/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/et/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/id/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/isv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ja/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/la/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/vi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
499ef1e599 |
fix(i18n/en): improve search syntax hints (#10187)
Followup to https://codeberg.org/forgejo/forgejo/issues/9109. Fixed a few confusing ones: * "Filter by reviewed user" sounded more related to "requested review", but it is really about users who already left one, even if it wasn't requested * "Filter by sort type" only does sorting, not filtering Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10187 Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org> Reviewed-by: Beowulf <beowulf@beocode.eu> |
||
|
|
255ed593d3 |
feat(issue-search): support query syntax (#9109)
List of currently supported filters: - `is:open` (or `-is:closed`) - `is:closed` (or `-is:open`) - `is:all` - `author:<username>` - `assignee:<username>` - `review:<username>` - `mentions:<username>` - `modified:[>|<]<date>`, where `<date>` is the last update date. - `sort:<by>:[asc|desc]`, where `<by>` is among - created - comments - updated - deadline Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9109 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Reviewed-by: Ellen Εμιλία Άννα Zscheile <fogti@noreply.codeberg.org> Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com> Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com> |
||
|
|
238ecfdeb8 |
fix: garbage collect lingering actions logs (#10009)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
If, for any reason (e.g. server crash), a task is recorded as done in the database but the logs are still in the database instead of being in storage, they need to be collected. The log_in_storage field is only set to true after the logs have been transfered to storage and can be relied upon to reflect which tasks have lingering logs. A cron job collects lingering logs every day, 3000 at a time, sleeping one second between them. In normal circumstances there will be only a few of them, even on a large instance, and there is no need to collect them as quickly as possible. When there are a lot of them for some reason, garbage collection must happen at a rate that is not too hard on storage I/O. Refs https://codeberg.org/forgejo/forgejo/issues/9999 --- Note on backports: the v11 backport is done manually because of minor conflicts. https://codeberg.org/forgejo/forgejo/pulls/10024 ## 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. - [x] 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. - [x] 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. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/10009): <!--number 10009 --><!--line 0 --><!--description Z2FyYmFnZSBjb2xsZWN0IGxpbmdlcmluZyBhY3Rpb25zIGxvZ3M=-->garbage collect lingering actions logs<!--description--> <!--end release-notes-assistant--> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10009 Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org> Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Earl Warren <contact@earl-warren.org> Co-committed-by: Earl Warren <contact@earl-warren.org> |
||
|
|
1eb35114d9
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Arthur Zamarin <arthurzam@gentoo.org> Co-authored-by: Atthaphinya <atthaphinya@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Bullbagaren <bullbagaren@noreply.codeberg.org> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: Haris <harisdotparis@noreply.codeberg.org> Co-authored-by: Iced-Codeda07a60a554bc40d1 <iced-codeda07a60a554bc40d1@noreply.codeberg.org> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: Mykyta Shcherbyna <mshcherbyna99@noreply.codeberg.org> Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Tin <hntin@noreply.codeberg.org> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: andreuz <andreu@kindspells.dev> Co-authored-by: aviallon <aviallon@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: earl-warren <earl-warren@noreply.codeberg.org> Co-authored-by: fluere <fluere@noreply.codeberg.org> Co-authored-by: gingermusketeer <gingermusketeer@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: liilliil <liilliil@noreply.codeberg.org> Co-authored-by: m13o <m13o@noreply.codeberg.org> Co-authored-by: narodr <narodr@noreply.codeberg.org> Co-authored-by: smlxdesign <smlxdesign@noreply.codeberg.org> Co-authored-by: tace16 <tace16@noreply.codeberg.org> Co-authored-by: tct123 <tct123@noreply.codeberg.org> Co-authored-by: victordargallo <victordargallo@noreply.codeberg.org> Co-authored-by: volkan <volkan@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Co-authored-by: yeager <yeager@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sr_SP/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/th/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/tr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/vi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/gl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/he/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nb_NO/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sr_SP/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/th/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/tr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
691dd023ff |
chore: unify the usage of CryptoRandomString (#10110)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
- Similair spirit of forgejo/forgejo!7453. - Refactor the code in such a way that it always succeeds. - To avoid doing mathematics if you use this function, define three security level (64, 128 and 256 bits) that correspond to a specific length which has that a security guarantee. I picked them as they fit the need for the existing usages of the code. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10110 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: Lucas <sclu1034@noreply.codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz> |
||
|
|
efd4d2d8f5 |
fix(ui): document token validity in key verification view (#9002)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
Document that the token is only valid for a minute. Add a link to get a new token. Resolves #8048 Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9002 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: dawe <dawedawe@posteo.de> Co-committed-by: dawe <dawedawe@posteo.de> |
||
|
|
72b35c5a73 |
feat: display detailed action run diagnostics (#9966)
Forgejo Actions allows variables in `jobs.<job_id>.runs-on`. However, the action list [skips checking whether a suitable runner](
|
||
|
|
57f986c7b1
|
feat: UI for the pull request trust management panel
See the documentation pull request for a description https://codeberg.org/forgejo/docs/pulls/1567 https://forgejo.codeberg.page/@docs_pull_1567/docs/next/user/actions/security-pull-request/ |
||
|
|
465d057fae
|
chore(docs): a team member who can write actions can delegate trust | ||
|
|
2a3d852e46 |
feat: convert create/rename branch and create tag to native dialog (#9760)
Followup to https://codeberg.org/forgejo/forgejo/pulls/8859, https://codeberg.org/forgejo/forgejo/pulls/9636. Convert the create branch and rename branch modals in the branch list to native dialogs and convert the create branch and create tag in the commit view to native dialogs. The dialogs in the commit view have been simplified and no longer uses javascript to construct the data in the dialog (thus would be eligible for nojs modals). The dialogs have footer styled actions. The rename branch modal now has a 'branch name' label to indicate the field is required. E2E testing is added. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9760 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz> |
||
|
|
7f3255a2f7
|
i18n: update of translations from Codeberg Translate
Co-authored-by: Atthaphinya <atthaphinya@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org> Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: VaiTon <vaiton@noreply.codeberg.org> Co-authored-by: X1SystemError0X <x1systemerror0x@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: earl-warren <earl-warren@noreply.codeberg.org> Co-authored-by: joxeankoret <joxeankoret@noreply.codeberg.org> Co-authored-by: m13o <m13o@noreply.codeberg.org> Co-authored-by: pgmtx <pgmtx@noreply.codeberg.org> Co-authored-by: tace16 <tace16@noreply.codeberg.org> Co-authored-by: victordargallo <victordargallo@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/th/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/eu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ta/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/th/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
230519bd89 |
feat: migrate add/remove repositories in team to native dialog (#9877)
- Migrate add/remove org repositories for teams to a native dialog. - Is potential to be fully no-js, as javascript no longer constructs the modal. - Resolves forgejo/forgejo#9801 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9877 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz> |
||
|
|
aad2efdbd6
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Bullbagaren <bullbagaren@noreply.codeberg.org> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: X1SystemError0X <x1systemerror0x@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: butterflyoffire <butterflyoffire@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: nykula <nykula@noreply.codeberg.org> Co-authored-by: stanek <stanek@noreply.codeberg.org> Co-authored-by: victordargallo <victordargallo@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
bf80842b4f |
chore(ui): a few consistency improvements for modals (#9746)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
A bucket of water for a lake of acidic modal inconsistencies but this PR exists. ## Change 1 Followup to https://codeberg.org/forgejo/forgejo/pulls/9636/files#diff-ed78a3f2bb5b010be9410d4a6be8ab08e50df2c4. Remove a few extra `center` wraps from the HTML. They are no longer doing anything anymore. No visual changes. ## Change 2 Improve a few titles: Preview: - https://codeberg.org/attachments/4216f29f-687c-4b88-8a56-246282ae699b - https://codeberg.org/attachments/14c493d1-21f2-4433-ac4d-fc2e985239b0 - https://codeberg.org/attachments/d18bd923-a46e-427c-9132-4e60a8ba0a9d Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9746 Reviewed-by: Gusted <gusted@noreply.codeberg.org> |
||
|
|
609ce8c268 |
feat: improve tooltips and aria-labels of stars/forks/watchers links (#9754)
Followup: https://codeberg.org/forgejo/forgejo/pulls/2634, https://codeberg.org/forgejo/forgejo/pulls/2862 * i18n: migrate aria-label counters `n stars`, `n forks` to JSON in effort to eliminate the use of the old-style plurals * previous such migration https://codeberg.org/forgejo/forgejo/pulls/9625 * testing: present, inherited from other changes * a11y: add these aria-labels to usercards links on repo homepages * add a new one for `n watchers` * testing: present, minimal * ui: re-use the counters in the tooltips so that they include a measurement unit and look better * testing: present, minimal * ui: pretty-print the numbers in the tooltips * but not in aria labels * testing: missing: IDK how to work around the condition `{{if ge .NumStars 1000}}` * but `PrettyNumber` it relies on has test coverage, so it seems fine Preview: - https://codeberg.org/attachments/6d726bbd-fd84-4ca0-9aa4-cd5492512305 - https://codeberg.org/attachments/686eb429-93a7-4268-98d7-84863d6eb5ee Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9754 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> |
||
|
|
5494d8b3cd
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: anorprogrammer <anorprogrammer@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: butterflyoffire <butterflyoffire@noreply.codeberg.org> Co-authored-by: emansije <emansije@noreply.codeberg.org> Co-authored-by: nykula <nykula@noreply.codeberg.org> Co-authored-by: pgmtx <pgmtx@noreply.codeberg.org> Co-authored-by: victordargallo <victordargallo@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Co-authored-by: yeager <yeager@noreply.codeberg.org> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uz/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/eo/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
626ff29545 |
feat: Add support for administrators to set email visibility on user accounts (#9668)
Some checks are pending
/ release (push) Waiting to run
testing-integration / test-unit (push) Waiting to run
testing-integration / test-sqlite (push) Waiting to run
testing-integration / test-mariadb (v10.6) (push) Waiting to run
testing-integration / test-mariadb (v11.8) (push) Waiting to run
testing / backend-checks (push) Waiting to run
testing / frontend-checks (push) Waiting to run
testing / test-unit (push) Blocked by required conditions
testing / test-e2e (push) Blocked by required conditions
testing / test-remote-cacher (redis) (push) Blocked by required conditions
testing / test-remote-cacher (valkey) (push) Blocked by required conditions
testing / test-remote-cacher (garnet) (push) Blocked by required conditions
testing / test-remote-cacher (redict) (push) Blocked by required conditions
testing / test-mysql (push) Blocked by required conditions
testing / test-pgsql (push) Blocked by required conditions
testing / test-sqlite (push) Blocked by required conditions
testing / security-check (push) Blocked by required conditions
feat: Add support for administrators to set email visibility on user accounts This feature allows administrators to control user email privacy settings through both the API and web interface. **note: This was originally part of #9594 but is now split out into it's own PR** ## 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... - [ ] in their respective `*_test.go` for unit tests. - [x] 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. - [x] 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. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Features - [PR](https://codeberg.org/forgejo/forgejo/pulls/9668): <!--number 9668 --><!--line 0 --><!--description QWRkIHN1cHBvcnQgZm9yIGFkbWluaXN0cmF0b3JzIHRvIHNldCBlbWFpbCB2aXNpYmlsaXR5IG9uIHVzZXIgYWNjb3VudHM=-->Add support for administrators to set email visibility on user accounts<!--description--> <!--end release-notes-assistant--> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9668 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org> Co-authored-by: Ryan Lerch <rlerch@redhat.com> Co-committed-by: Ryan Lerch <rlerch@redhat.com> |
||
|
|
220c8d173b |
chore(i18n): migrate download counts to json (#9625)
Previous such PR: https://codeberg.org/forgejo/forgejo/pulls/9463 As long as changes here do not conflict with https://codeberg.org/forgejo/forgejo/pulls/9597 it is safe to merge without merging that one first. * removals from the INI are included to preserve traceability of strings being moved around * in non-base items are prepended to the top to avoid conflict with Weblate * in English insertion happened in a semi-random place to avoid conflict with PRs that append strings at the end Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9625 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-committed-by: 0ko <0ko@noreply.codeberg.org> |
||
|
|
d5742c31fb
|
i18n: update of translations from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-authored-by: Codeberg Translate <translate@codeberg.org> Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Juno Takano <jutty@noreply.codeberg.org> Co-authored-by: Lzebulon <lzebulon@noreply.codeberg.org> Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: Ricky-Tigg <ricky-tigg@noreply.codeberg.org> Co-authored-by: SomeTr <sometr@noreply.codeberg.org> Co-authored-by: Vaibhav Sunder <vaibhavswire@gmail.com> Co-authored-by: Vyxie <kitakita@disroot.org> Co-authored-by: Wuzzy <wuzzy@disroot.org> Co-authored-by: X1SystemError0X <x1systemerror0x@noreply.codeberg.org> Co-authored-by: arifpedia <arifpedia@noreply.codeberg.org> Co-authored-by: artnay <artnay@noreply.codeberg.org> Co-authored-by: bespinas <bespinas@noreply.codeberg.org> Co-authored-by: butterflyoffire <butterflyoffire@noreply.codeberg.org> Co-authored-by: dyniec <dyniec@noreply.codeberg.org> Co-authored-by: erral <erral@noreply.codeberg.org> Co-authored-by: justbispo <justbispo@noreply.codeberg.org> Co-authored-by: m13o <m13o@noreply.codeberg.org> Co-authored-by: smlxdesign <smlxdesign@noreply.codeberg.org> Co-authored-by: talu <talu@noreply.codeberg.org> Co-authored-by: xtex <xtexchooser@duck.com> Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/cs/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fil/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/fr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/id/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/it/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/kab/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/nds/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pl/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/ru/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo-next/zh_Hans/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ca/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/de/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/eu/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/hi/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/lv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_BR/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/pt_PT/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/sv/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/tr/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/uk/ Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/zh_Hans/ Translation: Forgejo/forgejo Translation: Forgejo/forgejo-next |
||
|
|
068e318629 |
feat: Actions jobs that can't be understood display a technical error in the UI, not just server-side logs (#9530)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9530 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> |
||
|
|
0a02ffd355 |
feat(email): reference the commit closing the issue (#9522)
Preview-on: https://codeberg.org/attachments/0016d106-0353-43d2-953e-4f2ae1a0d166 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9522 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net> |
||
|
|
02ea77c6a0 | display pre-execution errors in action view UI | ||
|
|
25ba696b6a | don't execute workflows when event parsing fails; create a pre-execution error instead | ||
|
|
152b98da90 | save pre-execution errors to the DB when workflow execution is prevented by user data | ||
|
|
32c187e5bb |
fix(ui): improve Pagure migrator private issues clarity (#9502)
Followup to https://codeberg.org/forgejo/forgejo/pulls/8513 More at https://codeberg.org/fedora/forgejo-deployment/issues/186 Related: https://codeberg.org/forgejo/forgejo/pulls/8513#issuecomment-6075304, https://codeberg.org/forgejo/forgejo/pulls/8513/files#issuecomment-6075322 Previously, users were getting confused about the token/private issues behavior in the Pagure migrator, as the UI didn't clearly explain the two-repository workflow or the security implications of using an API token. This commit updates the Pagure migration template to make the behavior clearer by: - Adding a collapsible details section for private issues functionality to reduce UI clutter since this feature is not expected to be used frequently - Replacing inline help text with proper Fomantic UI message boxes (blue info for description, red warning for security notice) - Providing clear explanations of the two-step migration process (public content first, then private issues archive) - Adding prominent security warnings about repository visibility when importing private content The private issues section is now hidden by default in a collapsible element, making the standard migration flow cleaner while still providing access to advanced functionality when needed. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9502 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Ryan Lerch <rlerch@redhat.com> Co-committed-by: Ryan Lerch <rlerch@redhat.com> |