mirror of
1
Fork 0
Commit Graph

1091 Commits

Author SHA1 Message Date
GiteaBot cf7d4109c9 [skip ci] Updated translations via Crowdin 2020-03-06 06:50:20 +00:00
John Olheiser 3f1c0841cb
Granular webhook events (#9626)
* Initial work

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Add PR reviews and API coverage

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Split up events

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Add migration and locale

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Format

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Revert IsPull

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Fix comments

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Fix tests

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Fix PR reviews

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Fix issue_comment

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Make fmt

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Migrations

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Backwards compatible API

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Fix feishu

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Move session commit

Signed-off-by: jolheiser <john.olheiser@gmail.com>

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
2020-03-06 07:10:48 +02:00
zeripath 80db44267c
Add Approval Counts to pulls list (#10238)
* Add Approval Counts to pulls list

Add simple approvals counts to pulls lists

* Remove non-official counts

* Add PR features to milestone_issues.tmpl
2020-03-06 03:44:06 +00:00
Lauris BH 37c3db7be6
Add restricted user filter to LDAP authentication (#10600)
* Add restricted user filter to LDAP authentification

* Fix unit test cases
2020-03-05 08:30:33 +02:00
Lauris BH 3d5d21133c
OAuth2: add Yandex provider (#8335) (#10564)
* OAuth2: add Yandex provider (#8335)

* remove changes from locale ru-RU

* fmt modules/auth/oauth2/oauth2.go

Co-Authored-By: 6543 <6543@obermui.de>

* fix fmt

* Update templates/admin/auth/new.tmpl

* fix fmt

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: Lauris BH <lauris@nix.lv>
2020-03-05 00:08:52 +02:00
GiteaBot 0e304bbc42 [skip ci] Updated translations via Crowdin 2020-03-03 19:53:16 +00:00
Felix W. Dekker aa4a297c16
Rename repo size sorting options (#10587) 2020-03-03 14:27:38 -03:00
techknowlogick bea497ff96
nextcloud oauth (#10562)
Fix #7078
2020-03-02 22:11:45 -05:00
GiteaBot 22b7507024 [skip ci] Updated translations via Crowdin 2020-03-02 20:56:37 +00:00
guillep2k 5e1438ba92
Admin page for managing user e-mail activation (#10557)
* Implement mail activation admin panel

* Add export comments

* Fix another export comment

* again...

* And again!

* Apply suggestions by @lunny

* Add UI for user activated emails

* Make new activation UI work

* Fix lint

* Prevent admin from self-deactivate; add modal

Co-authored-by: zeripath <art27@cantab.net>
2020-03-02 15:25:36 -03:00
GiteaBot b5ecc82d6e [skip ci] Updated translations via Crowdin 2020-03-02 15:54:56 +00:00
zeripath 90919bb37e
Show Signer in commit lists and add basic trust (#10425)
* Show Signer in commit lists and add basic trust

Show the avatar of the signer in the commit list pages as we do not
enforce that the signer is an author or committer. This makes it
clearer who has signed the commit.

Also display commits signed by non-members differently from
members and in particular make it clear when a non-member signer
is different from the committer to help reduce the risk of
spoofing.

Signed-off-by: Andrew Thornton <art27@cantab.net>

* ensure orange text and background is available

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Update gpg_key.go

* Update models/gpg_key.go

* Apply suggestions from code review

* Require team collaborators to have access to UnitTypeCode

* as per @6543

* fix position of sha as per @silverwind

* as per @guillep2k
2020-02-27 16:20:55 -03:00
GiteaBot 804d9ffa9f [skip ci] Updated translations via Crowdin 2020-02-25 16:01:35 +00:00
GiteaBot 6baa07ddf3 [skip ci] Updated translations via Crowdin 2020-02-24 22:53:36 +00:00
guillep2k 09dbd85a3a
Various fixes in login sources (#10428) 2020-02-23 13:52:05 -06:00
zeripath 089ccb0c80
Handle push rejection message in Merge & Web Editor (#10373)
* Handle push rejection message in Merge

* placate golangci-lint

* Fix sanitize, adjust message handling

* oops

* Oops

* Handle push-rejection in webeditor CRUD too

* Apply suggestions from code review

Co-authored-by: Lauris BH <lauris@nix.lv>
2020-02-22 15:08:48 +02:00
zeripath c8d1c38129
Render READMEs in docs/ .gitea or .github from root (#10361)
* Render READMEs in docs/ .gitea or .github from root
2020-02-21 17:04:20 -06:00
GiteaBot 6b019724f3 [skip ci] Updated translations via Crowdin 2020-02-21 18:19:29 +00:00
GiteaBot 872f832a1a [skip ci] Updated translations via Crowdin 2020-02-20 21:04:58 +00:00
Lauris BH 3c45cf8494
Add detected file language to code search (#10256)
Move langauge detection to separate module to be more reusable

Add option to disable vendored file exclusion from file search

Allways show all language stats for search
2020-02-20 16:53:55 -03:00
GiteaBot f0a43a068f [skip ci] Updated translations via Crowdin 2020-02-18 06:11:13 +00:00
GiteaBot 83801663ce [skip ci] Updated translations via Crowdin 2020-02-18 03:17:09 +00:00
GiteaBot 7af6f8b465 [skip ci] Updated translations via Crowdin 2020-02-16 21:43:17 +00:00
GiteaBot 78859ba274 [skip ci] Updated translations via Crowdin 2020-02-15 18:47:31 +00:00
GiteaBot a97fe76950 [skip ci] Updated translations via Crowdin 2020-02-14 12:44:14 +00:00
GiteaBot ff261dafc4 [skip ci] Updated translations via Crowdin 2020-02-14 03:09:58 +00:00
GiteaBot 908f8952be [skip ci] Updated translations via Crowdin 2020-02-12 19:33:28 +00:00
Lunny Xiao 83a8944fcf
Add feishu webhook support (#10229)
Add feishu webhook support
2020-02-12 08:48:28 +00:00
GiteaBot 685a0037d2 [skip ci] Updated translations via Crowdin 2020-02-12 01:54:51 +00:00
GiteaBot e704f7fae7 [skip ci] Updated translations via Crowdin 2020-02-11 15:44:26 +00:00
Lauris BH ad2642a8aa
Language statistics bar for repositories (#8037)
* Implementation for calculating language statistics

Impement saving code language statistics to database

Implement rendering langauge stats

Add primary laguage to show in repository list

Implement repository stats indexer queue

Add indexer test

Refactor to use queue module

* Do not timeout for queues
2020-02-11 11:34:17 +02:00
GiteaBot b3255921af [skip ci] Updated translations via Crowdin 2020-02-10 23:07:55 +00:00
GiteaBot 26eaebf4de [skip ci] Updated translations via Crowdin 2020-02-10 19:26:08 +00:00
guillep2k 069a96ebe2
Improve 404 error message (#10214) 2020-02-10 21:23:35 +02:00
GiteaBot e414fc18a9 [skip ci] Updated translations via Crowdin 2020-02-09 20:20:33 +00:00
GiteaBot 11995bf2ee [skip ci] Updated translations via Crowdin 2020-02-07 17:11:26 +00:00
James Lakin 6e6da2c276
Tweak locale to respect singular conflicting file message in P… (#10177)
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
2020-02-07 17:38:18 +01:00
GiteaBot 77431599f6 [skip ci] Updated translations via Crowdin 2020-02-05 09:48:57 +00:00
GiteaBot 7dcd305424 [skip ci] Updated translations via Crowdin 2020-02-04 14:28:42 +00:00
James Lakin 3ff95cef60
Show if a PR has conflicting files on the PR lists (#10130)
Co-authored-by: Lauris BH <lauris@nix.lv>
2020-02-04 00:14:38 +02:00
Lauris BH 20c513be6e
Show download count info in release list (#10124)
* Show download count info in release list

* Use go-humanize
2020-02-03 21:50:37 +02:00
GiteaBot 29151b90c6 [skip ci] Updated translations via Crowdin 2020-02-03 08:48:26 +00:00
GiteaBot 68e4f4efc7 [skip ci] Updated translations via Crowdin 2020-01-30 16:12:42 +00:00
zeripath c01221e70f
Queue: Make WorkerPools and Queues flushable (#10001)
* Make WorkerPools and Queues flushable

Adds Flush methods to Queues and the WorkerPool
Further abstracts the WorkerPool
Adds a final step to Flush the queues in the defer from PrintCurrentTest
Fixes an issue with Settings inheritance in queues

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Change to for loop

* Add IsEmpty and begin just making the queues composed WorkerPools

* subsume workerpool into the queues and create a flushable interface

* Add manager command

* Move flushall to queue.Manager and add to testlogger

* As per @guillep2k

* as per @guillep2k

* Just make queues all implement flushable and clean up the wrapped queue flushes

* cope with no timeout

Co-authored-by: Lauris BH <lauris@nix.lv>
2020-01-28 20:01:06 -05:00
GiteaBot 4377e14304 [skip ci] Updated translations via Crowdin 2020-01-27 22:38:55 +00:00
GiteaBot 3c8a5d8783 [skip ci] Updated translations via Crowdin 2020-01-27 16:27:13 +00:00
GiteaBot a83c373641 [skip ci] Updated translations via Crowdin 2020-01-25 19:02:32 +00:00
GiteaBot f1dd38b4f5 [skip ci] Updated translations via Crowdin 2020-01-25 14:50:55 +00:00
GiteaBot cb8f0c22a0 [skip ci] Updated translations via Crowdin 2020-01-25 13:22:15 +00:00
GiteaBot 89f7dcb13d [skip ci] Updated translations via Crowdin 2020-01-25 06:20:28 +00:00
GiteaBot 9d5756989a [skip ci] Updated translations via Crowdin 2020-01-25 02:49:08 +00:00
GiteaBot 333401e0fd [skip ci] Updated translations via Crowdin 2020-01-24 18:03:57 +00:00
GiteaBot 608cd58db6 [skip ci] Updated translations via Crowdin 2020-01-22 21:26:56 +00:00
GiteaBot 2ff2cddd16 [skip ci] Updated translations via Crowdin 2020-01-22 20:57:03 +00:00
GiteaBot 0e8b27afe8 [skip ci] Updated translations via Crowdin 2020-01-21 16:27:57 +00:00
GiteaBot 3f1c8970ec [skip ci] Updated translations via Crowdin 2020-01-21 10:21:24 +00:00
GiteaBot e7322a1138 [skip ci] Updated translations via Crowdin 2020-01-20 23:35:43 +00:00
GiteaBot 1920e5bcaf [skip ci] Updated translations via Crowdin 2020-01-20 15:46:46 +00:00
guillep2k ad1b6d439f Add support for database schema in PostgreSQL (#8819)
* Add support for database schema

* Require setting search_path for the db user

* Add schema setting to admin/config.tmpl

* Use a schema different from default for psql tests

* Update postgres scripts to use custom schema

* Update to xorm/core 0.7.3 and xorm/xorm c37aff9b3a

* Fix migration test

Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-01-20 16:45:14 +01:00
zeripath c5014a7f2c Add option to prevent LDAP from deactivating everything on empty search (#9879)
* Add option to prevent LDAP from deactivating everything on empty search

* Update options/locale/locale_en-US.ini

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-01-20 11:47:39 +08:00
GiteaBot 1803b38efc [skip ci] Updated translations via Crowdin 2020-01-19 09:19:29 +00:00
GiteaBot 20f6acc585 [skip ci] Updated translations via Crowdin 2020-01-19 06:44:47 +00:00
GiteaBot 5a02ed5894 [skip ci] Updated translations via Crowdin 2020-01-17 18:35:33 +00:00
GiteaBot 7c0570d214 [skip ci] Updated translations via Crowdin 2020-01-17 10:24:56 +00:00
David Svantesson 3c07d03c03 Add setting to set default and global disabled repository units. (#8788)
* Add possibility to global disable repo units.

* Add Default Repo Unit app.ini setting.

* Hide units

* Hide disabled repo units

* Minor fixes

* Indicate disabled units in team settings.

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: zeripath <art27@cantab.net>
2020-01-17 09:34:37 +02:00
6543 36943e56d6 Add "Update Branch" button to Pull Requests (#9784)
* add Divergence

* add Update Button

* first working version

* re-use code

* split raw merge commands and db-change functions (notify, cache, ...)

* use rawMerge (remove redundant code)

* own function to get Diverging of PRs

* use FlashError

* correct Error Msg

* hook is triggerd ... so remove comment

* add "branch2" to "user2/repo1" because it unit-test "TestPullView_ReviewerMissed" use it but dont exist jet :/

* move GetPerm to IsUserAllowedToUpdate

* add Flash Success MSG

* imprufe code
- remove useless js chage

* fix-lint

* TEST: add PullRequest ID:5
Repo: user2/repo1
Base: branch1
Head: pr-to-update

* correct comments

* make PR5 outdated

* fix Tests

* WIP: add pull update test

* update revs

* update locales

* working TEST

* update UI

* misspell

* change style

* add 1s delay so rev exist

* move row up (before merge row)

* fix lint nit

* UI remove divider

* Update style

* nits

* do it right

* introduce IsSameRepo

* remove useless check

Co-authored-by: Lauris BH <lauris@nix.lv>
2020-01-17 08:03:40 +02:00
GiteaBot fdb32ab0f8 [skip ci] Updated translations via Crowdin 2020-01-16 14:22:28 +00:00
GiteaBot 3ac79b7101 [skip ci] Updated translations via Crowdin 2020-01-15 11:16:35 +00:00
GiteaBot 4e566df1c6 [skip ci] Updated translations via Crowdin 2020-01-15 09:56:33 +00:00
Bagas Sanjaya 3f1e062d21 err_admin_name_pattern_not_allowed String Clarification (#9731)
* err_admin_name_pattern_not_allowed clarification edit

* Apply suggestion from @zeripath

Context: username that provided as admin

Co-Authored-By: zeripath <art27@cantab.net>

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
2020-01-15 10:53:30 +01:00
zeripath 66ee9b87f9 Add require signed commit for protected branch (#9708)
* Add require signed commit for protected branch

* Fix fmt

* Make editor show if they will be signed

* bugfix

* Add basic merge check and better information for CRUD

* linting comment

* Add descriptors to merge signing

* Slight refactor

* Slight improvement to appearances

* Handle Merge API

* manage CRUD API

* Move error to error.go

* Remove fix to delete.go

* prep for merge

* need to tolerate \r\n in message

* check protected branch before trying to load it

* Apply suggestions from code review

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* fix commit-reader

Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
2020-01-15 09:32:57 +01:00
GiteaBot 7e44995a51 [skip ci] Updated translations via Crowdin 2020-01-15 04:34:53 +00:00
GiteaBot 324672106b [skip ci] Updated translations via Crowdin 2020-01-15 03:55:40 +00:00
GiteaBot 9eb6793576 [skip ci] Updated translations via Crowdin 2020-01-15 00:08:04 +00:00
GiteaBot a8da7b3b8c [skip ci] Updated translations via Crowdin 2020-01-14 12:54:26 +00:00
GiteaBot 35efc7ba4f [skip ci] Updated translations via Crowdin 2020-01-14 10:31:54 +00:00
GiteaBot bca367cecc [skip ci] Updated translations via Crowdin 2020-01-14 00:08:14 +00:00
Manush Dodunekov 1751d5fcf2 Restricted users (#6274)
* Restricted users (#4334): initial implementation

* Add User.IsRestricted & UI to edit it

* Pass user object instead of user id to places where IsRestricted flag matters

* Restricted users: maintain access rows for all referenced repos (incl public)

* Take logged in user & IsRestricted flag into account in org/repo listings, searches and accesses

* Add basic repo access tests for restricted users

Signed-off-by: Manush Dodunekov <manush@stendahls.se>

* Mention restricted users in the faq

Signed-off-by: Manush Dodunekov <manush@stendahls.se>

* Revert unnecessary change `.isUserPartOfOrg` -> `.IsUserPartOfOrg`

Signed-off-by: Manush Dodunekov <manush@stendahls.se>

* Remove unnecessary `org.IsOrganization()` call

Signed-off-by: Manush Dodunekov <manush@stendahls.se>

* Revert to an `int64` keyed `accessMap`

* Add type `userAccess`
* Add convenience func updateUserAccess()
* Turn accessMap into a `map[int64]userAccess`

Signed-off-by: Manush Dodunekov <manush@stendahls.se>

* or even better: `map[int64]*userAccess`

* updateUserAccess(): use tighter syntax as suggested by lafriks

* even tighter

* Avoid extra loop

* Don't disclose limited orgs to unauthenticated users

* Don't assume block only applies to orgs

* Use an array of `VisibleType` for filtering

* fix yet another thinko

* Ok - no need for u

* Revert "Ok - no need for u"

This reverts commit 5c3e886aab.

Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
2020-01-13 18:33:46 +01:00
GiteaBot b7ffc6a096 [skip ci] Updated translations via Crowdin 2020-01-13 14:10:01 +00:00
GiteaBot bd9d480f99 [skip ci] Updated translations via Crowdin 2020-01-13 10:42:46 +00:00
GiteaBot 625057c674 [skip ci] Updated translations via Crowdin 2020-01-12 16:34:48 +00:00
GiteaBot 497e15fdc2 [skip ci] Updated translations via Crowdin 2020-01-12 12:12:40 +00:00
GiteaBot f2e6c4538e [skip ci] Updated translations via Crowdin 2020-01-11 10:51:31 +00:00
David Svantesson 32fb813133 Allow repo admin to merge PR regardless of review status (#9611)
* Allow repo admin to merge even if review is not ok.
2020-01-11 02:29:34 -05:00
GiteaBot a311ace354 [skip ci] Updated translations via Crowdin 2020-01-09 16:43:29 +00:00
GiteaBot 71fe018977 [skip ci] Updated translations via Crowdin 2020-01-09 11:58:47 +00:00
David Svantesson 25531c71a7 Mark PR reviews as stale at push and allow to dismiss stale approvals (#9532)
Fix #5997.

If a push causes the patch/diff of a PR towards target branch to change, all existing reviews for the PR will be set and shown as stale.
New branch protection option to dismiss stale approvals are added.
To show that a review is not based on the latest PR changes, an hourglass is shown
2020-01-09 01:47:45 +00:00
GiteaBot 98772d376c [skip ci] Updated translations via Crowdin 2020-01-08 12:45:05 +00:00
GiteaBot b6fa229dcf [skip ci] Updated translations via Crowdin 2020-01-07 14:32:33 +00:00
GiteaBot c88f0fed36 [skip ci] Updated translations via Crowdin 2020-01-07 11:24:19 +00:00
zeripath 62eb1b0f25 Graceful Queues: Issue Indexing and Tasks (#9363)
* Queue: Add generic graceful queues with settings

* Queue & Setting: Add worker pool implementation

* Queue: Add worker settings

* Queue: Make resizing worker pools

* Queue: Add name variable to queues

* Queue: Add monitoring

* Queue: Improve logging

* Issues: Gracefulise the issues indexer

Remove the old now unused specific queues

* Task: Move to generic queue and gracefulise

* Issues: Standardise the issues indexer queue settings

* Fix test

* Queue: Allow Redis to connect to unix

* Prevent deadlock during early shutdown of issue indexer

* Add MaxWorker settings to queues

* Merge branch 'master' into graceful-queues

* Update modules/indexer/issues/indexer.go

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* Update modules/indexer/issues/indexer.go

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* Update modules/queue/queue_channel.go

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* Update modules/queue/queue_disk.go

* Update modules/queue/queue_disk_channel.go

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* Rename queue.Description to queue.ManagedQueue as per @guillep2k

* Cancel pool workers when removed

* Remove dependency on queue from setting

* Update modules/queue/queue_redis.go

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

* As per @guillep2k add mutex locks on shutdown/terminate

* move unlocking out of setInternal

* Add warning if number of workers < 0

* Small changes as per @guillep2k

* No redis host specified not found

* Clean up documentation for queues

* Update docs/content/doc/advanced/config-cheat-sheet.en-us.md

* Update modules/indexer/issues/indexer_test.go

* Ensure that persistable channel queue is added to manager

* Rename QUEUE_NAME REDIS_QUEUE_NAME

* Revert "Rename QUEUE_NAME REDIS_QUEUE_NAME"

This reverts commit 1f83b4fc9b.

Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-01-07 12:23:09 +01:00
GiteaBot f71e1c8e79 [skip ci] Updated translations via Crowdin 2020-01-07 07:40:50 +00:00
GiteaBot 5749b26cdd [skip ci] Updated translations via Crowdin 2020-01-06 16:52:05 +00:00
GiteaBot 444c3a1184 [skip ci] Updated translations via Crowdin 2020-01-05 14:30:20 +00:00
GiteaBot 6a5a2f493a [skip ci] Updated translations via Crowdin 2020-01-04 22:21:24 +00:00
GiteaBot 07439d8059 [skip ci] Updated translations via Crowdin 2020-01-04 20:29:45 +00:00
Lauris BH 2b8b0f66ed Add translatable Powered by Gitea text in footer (#9600) 2020-01-04 20:27:19 +00:00
GiteaBot 4a768e1c3e [skip ci] Updated translations via Crowdin 2020-01-03 18:44:08 +00:00
David Svantesson ea707f5a77 Add branch protection option to block merge on requested changes. (#9592)
* Add branch protection option to block merge on requested changes.

* Add migration step

* Fix check to correct negation

* Apply suggestions from code review

Language improvement.

Co-Authored-By: John Olheiser <42128690+jolheiser@users.noreply.github.com>

* Copyright year.

Co-authored-by: John Olheiser <42128690+jolheiser@users.noreply.github.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
2020-01-03 19:47:09 +02:00
GiteaBot 09bf77bc4f [skip ci] Updated translations via Crowdin 2020-01-02 12:18:28 +00:00