Commit graph

1660 commits

Author SHA1 Message Date
GiteaBot
febee86d0d [skip ci] Updated translations via Crowdin 2021-07-14 00:07:53 +00:00
zeripath
b82293270c
Add option to provide signature for a token to verify key ownership (#14054)
* Add option to provide signed token to verify key ownership

Currently we will only allow a key to be matched to a user if it matches
an activated email address. This PR provides a different mechanism - if
the user provides a signature for automatically generated token (based
on the timestamp, user creation time, user ID, username and primary
email.

* Ensure verified keys can act for all active emails for the user

* Add code to mark keys as verified

* Slight UI adjustments

* Slight UI adjustments 2

* Simplify signature verification slightly

* fix postgres test

* add api routes

* handle swapped primary-keys

* Verify the no-reply address for verified keys

* Only add email addresses that are activated to keys

* Fix committer shortcut properly

* Restructure gpg_keys.go

* Use common Verification Token code

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-07-13 15:28:07 +02:00
GiteaBot
2614309a58 [skip ci] Updated translations via Crowdin 2021-07-13 00:07:51 +00:00
Jimmy Praet
78118a3b02
Add checkbox to delete pull branch after successful merge (#16049)
* Add checkbox to delete pull branch after successful merge

* Omit DeleteBranchAfterMerge field in json

* Log a warning instead of error when PR head branch deleted

* Add DefaultDeleteBranchAfterMerge to PullRequestConfig

* Add support for delete_branch_after_merge via API

* Fix for API: the branch should be deleted from the HEAD repo

If head and base repo are the same, reuse the already opened ctx.Repo.GitRepo

* Don't delegate to CleanupBranch, only reuse branch deletion code

CleanupBranch contains too much logic that has already been performed by the Merge

* Reuse gitrepo in MergePullRequest

Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-07-13 01:26:25 +02:00
GiteaBot
522b720954 [skip ci] Updated translations via Crowdin 2021-07-12 00:24:54 +00:00
Meano
07284792d4
Fix invalid params and typo of email templates (#16394)
Signed-off-by: Meano <meanocat@gmail.com>
2021-07-10 19:40:14 +02:00
GiteaBot
7a402067ce [skip ci] Updated translations via Crowdin 2021-07-10 00:24:52 +00:00
GiteaBot
6c6938e2ed [skip ci] Updated translations via Crowdin 2021-07-09 00:25:09 +00:00
zeripath
d06f9ce274
Redirect on bad CSRF instead of presenting bad page (#14937)
The current CSRF handler is a bit harsh with bad CSRF tokens on webpages
I think we can be a little kinder and redirect to base page with a flash error

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-07-08 15:57:24 +02:00
GiteaBot
bc6f060b8c [skip ci] Updated translations via Crowdin 2021-07-08 00:24:51 +00:00
GiteaBot
4fa791c47b [skip ci] Updated translations via Crowdin 2021-07-07 00:14:50 +00:00
GiteaBot
27c1578235 [skip ci] Updated translations via Crowdin 2021-07-06 00:14:50 +00:00
GiteaBot
a9ba29b1cd [skip ci] Updated translations via Crowdin 2021-07-03 00:14:49 +00:00
GiteaBot
579fcad8cd [skip ci] Updated translations via Crowdin 2021-06-29 00:29:44 +00:00
GiteaBot
6ca667d3f2 [skip ci] Updated translations via Crowdin 2021-06-28 00:29:35 +00:00
Norwin
9c6aeb47f7
Link to previous blames in file blame page (#16259)
Adds a link to each blame hunk, to view the blame of an earlier version of the file, similar to GitHub. Also refactors the blame render from fmtstring based to template based.

* Fix blame bottom line and add blame prior button

* Jump to previous parent commit from the commit.

* Fix previous commit link

* Fix previous blame link

* Fix the given file not exist in the previous commit.

* Fix blameRow struct not export

* fix theming issues, rename template var

* remove unused LastCommit fetch

* fix location of blame-hunk divider

* rewrite previous commit checks

* remove duplicate commit lookup

its already resolved and stored in ctx.Repo.Commit!

* split out blamePart processing into function

Co-authored-by: rogerluo410 <rogerluo410@gmail.com>
2021-06-28 01:13:20 +02:00
Sergey Dryabzhinsky
22a0636544
Add Visible modes function from Organisation to Users too (#16069)
You can limit or hide organisations. This pull make it also posible for users

- new strings to translte
- add checkbox to user profile form
- add checkbox to admin user.edit form
- filter explore page user search
- filter api admin and public user searches
- allow admins view "hidden" users
- add app option DEFAULT_USER_VISIBILITY
- rewrite many files to use Visibility field
- check for teams intersection
- fix context output
- right fake 404 if not visible

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-06-26 20:53:14 +01:00
John Olheiser
622f1e764c
Add better errors for disabled account recovery (#15117)
Signed-off-by: jolheiser <john.olheiser@gmail.com>

Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
2021-06-25 23:16:36 -05:00
KN4CK3R
44b8b07631
Add tag protection (#15629)
* Added tag protection in hook.

* Prevent UI tag creation if protected.

* Added settings page.

* Added tests.

* Added suggestions.

* Moved tests.

* Use individual errors.

* Removed unneeded methods.

* Switched delete selector.

* Changed method names.

* No reason to be unique.

* Allow editing of protected tags.

* Removed unique key from migration.

* Added docs page.

* Changed date.

* Respond with 404 to not found tags.

* Replaced glob with regex pattern.

* Added support for glob and regex pattern.

* Updated documentation.

* Changed white* to allow*.

* Fixed edit button link.

* Added cancel button.

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-06-25 16:28:55 +02:00
GiteaBot
837e8b30a7 [skip ci] Updated translations via Crowdin 2021-06-25 00:11:36 +00:00
GiteaBot
71c5a8f7f8 [skip ci] Updated translations via Crowdin 2021-06-24 00:11:37 +00:00
6543
5930d09096
Fix Nits (#16234)
* template fix

* nits

* add doer to "created issue/pull"
2021-06-23 19:43:33 +02:00
6543
be81dc8b20
Localize Email Templates (#16200)
close #14822
2021-06-23 14:33:21 +02:00
GiteaBot
8601440e81 [skip ci] Updated translations via Crowdin 2021-06-21 00:11:34 +00:00
GiteaBot
8fa3bbc424 [skip ci] Updated translations via Crowdin 2021-06-20 00:11:36 +00:00
GiteaBot
6667f52694 [skip ci] Updated translations via Crowdin 2021-06-19 00:11:34 +00:00
GiteaBot
d8792ebcef [skip ci] Updated translations via Crowdin 2021-06-18 00:12:01 +00:00
GiteaBot
fdf9ab11cd [skip ci] Updated translations via Crowdin 2021-06-17 00:11:43 +00:00
zeripath
6d69df2804
Add Status Updates whilst Gitea migrations are occurring (#15076)
* Add migrating message

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

* simplify messenger

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

* make messenger an interface

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

* rename

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

* prepare for merge

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

* as per tech

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

Co-authored-by: 6543 <6543@obermui.de>
2021-06-16 18:02:24 -04:00
GiteaBot
3bf7a83d7f [skip ci] Updated translations via Crowdin 2021-06-16 00:11:33 +00:00
GiteaBot
0adcea9ba6 [skip ci] Updated translations via Crowdin 2021-06-15 00:11:35 +00:00
Nils Dralle
f374789fe2
Fix private repo permission problem (#16142)
* Change user access permission

* Add string 'transfer_notices_3'

* Add 3rd transfer note to transfer dialog

* Add test

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2021-06-14 14:30:35 -04:00
KN4CK3R
440039c0cc
Add push to remote mirror repository (#15157)
* Added push mirror model.

* Integrated push mirror into queue.

* Moved methods into own file.

* Added basic implementation.

* Mirror wiki too.

* Removed duplicated method.

* Get url for different remotes.

* Added migration.

* Unified remote url access.

* Add/Remove push mirror remotes.

* Prevent hangs with missing credentials.

* Moved code between files.

* Changed sanitizer interface.

* Added push mirror backend methods.

* Only update the mirror remote.

* Limit refs on push.

* Added UI part.

* Added missing table.

* Delete mirror if repository gets removed.

* Changed signature. Handle object errors.

* Added upload method.

* Added "upload" unit tests.

* Added transfer adapter unit tests.

* Send correct headers.

* Added pushing of LFS objects.

* Added more logging.

* Simpler body handling.

* Process files in batches to reduce HTTP calls.

* Added created timestamp.

* Fixed invalid column name.

* Changed name to prevent xorm auto setting.

* Remove table header im empty.

* Strip exit code from error message.

* Added docs page about mirroring.

* Fixed date.

* Fixed merge errors.

* Moved test to integrations.

* Added push mirror test.

* Added test.
2021-06-14 19:20:43 +02:00
GiteaBot
3dafb074c6 [skip ci] Updated translations via Crowdin 2021-06-10 00:11:49 +00:00
GiteaBot
b3ef6a61e5 [skip ci] Updated translations via Crowdin 2021-06-06 00:11:36 +00:00
GiteaBot
a38f62ad0f [skip ci] Updated translations via Crowdin 2021-06-04 00:11:34 +00:00
GiteaBot
6a7bf974be [skip ci] Updated translations via Crowdin 2021-06-03 00:11:34 +00:00
GiteaBot
c63d1d814c [skip ci] Updated translations via Crowdin 2021-06-01 00:11:31 +00:00
zeripath
7a484c0788
Hide mirror passwords on repo settings page (#16022)
This PR simply hides mirror passwords from being displayed on the repo settings page.

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2021-05-31 11:46:20 +01:00
GiteaBot
518ed504ef [skip ci] Updated translations via Crowdin 2021-05-31 00:11:22 +00:00
GiteaBot
461915daa6 [skip ci] Updated translations via Crowdin 2021-05-29 00:11:33 +00:00
GiteaBot
e39e79d3ff [skip ci] Updated translations via Crowdin 2021-05-28 00:11:34 +00:00
Jimmy Praet
c9480c5f60
Add links to toggle WIP status (#14677)
* Add links to toggle PR WIP status

* Allow PR author to toggle WIP status

* refactors and restyling, remove links from translations

Co-authored-by: Norwin <noerw@users.noreply.github.com>
Co-authored-by: silverwind <me@silverwind.io>
2021-05-27 22:02:04 +02:00
GiteaBot
b59afa272f [skip ci] Updated translations via Crowdin 2021-05-26 00:04:32 +00:00
Viktor Yakovchuk
5285a3e70e
Add possibility to make branch in branch page (#15960)
* Add possibility to make branch in branch page (#15911)

Add possibility to make branch in branch page
in the area next to Download and Delete buttons.
It is a more intuitive place in the interface
compared to what is already there.

Signed-off-by: Viktor Yakovchuk <viktor@yakovchuk.net>

* Update templates/repo/branch/list.tmpl

Co-authored-by: zeripath <art27@cantab.net>
2021-05-24 15:57:46 +01:00
GiteaBot
44d76ff7cb [skip ci] Updated translations via Crowdin 2021-05-22 00:04:28 +00:00
zeripath
17be645498
Encrypt LDAP bind password in db with SECRET_KEY (#15547)
* Encrypt LDAP bind password in db with SECRET_KEY

The LDAP source bind password are currently stored in plaintext in the db
This PR simply encrypts them with the setting.SECRET_KEY.

Fix #15460

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

* remove ui warning regarding unencrypted password

Co-authored-by: silverwind <me@silverwind.io>
2021-05-20 09:29:57 +01:00
GiteaBot
124b256c53 [skip ci] Updated translations via Crowdin 2021-05-20 00:25:08 +00:00
GiteaBot
825547b20e [skip ci] Updated translations via Crowdin 2021-05-19 00:25:09 +00:00
GiteaBot
1da0d156bc [skip ci] Updated translations via Crowdin 2021-05-18 00:25:04 +00:00
GiteaBot
131b59ef89 [skip ci] Updated translations via Crowdin 2021-05-17 00:25:05 +00:00
Lunny Xiao
892e6561ff
Use a special name for update default branch on repository setting (#15893) 2021-05-16 14:24:47 -04:00
GiteaBot
f3febeb594 [skip ci] Updated translations via Crowdin 2021-05-15 00:25:06 +00:00
zeripath
d234d37aa8
Restore PAM user autocreation functionality (#15825)
* Restore PAM user autocreation functionality

PAM autoregistration of users currently fails due to email invalidity.
This PR adds a new setting to PAM to allow an email domain to be set
or just sets the email to the noreply address and if that fails falls
back to uuid@localhost

Fix #15702

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

* As per KN4CKER

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-05-13 23:11:47 +01:00
GiteaBot
6d2a333fdc [skip ci] Updated translations via Crowdin 2021-05-13 00:25:06 +00:00
GiteaBot
96b1315e6e [skip ci] Updated translations via Crowdin 2021-05-12 00:12:06 +00:00
6543
a229e34387
Allow only internal registration (#15795)
* Add ALLOW_ONLY_INTERNAL_REGISTRATION into settings

* OpenID respect setting too
2021-05-09 16:13:35 +02:00
Jonathan Tran
9557b8603a
Add selecting tags on the compare page (#15723)
* Add selecting tags on the compare page

* Remove unused condition and change indentation

* Fix tag tab in dropdown to be black

* Add compare tag integration test

Co-authored-by: Jonathan Tran <jon@allspice.io>
2021-05-07 23:10:05 +02:00
Loutro
34b21625c2
Display specific message if diff is not displayed because of too long line (#15611)
* 7184-  message if line too long

* Update options/locale/locale_en-US.ini

Co-authored-by: silverwind <me@silverwind.io>

* add flag on missing cases

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

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-05-04 13:58:49 +01:00
GiteaBot
ed39377900 [skip ci] Updated translations via Crowdin 2021-05-04 00:12:31 +00:00
Jonathan Tran
5e047b9bd7
Add compare tag dropdown to releases page (#15695)
* Add compare tag dropdown to releases page

* Change defaults to be more intuitive and remove unneeded option

* Fix to select branch on releases page

Co-authored-by: Jonathan Tran <jon@allspice.io>
Co-authored-by: Kyle D <kdumontnu@gmail.com>
2021-05-03 13:27:48 -04:00
GiteaBot
87f8a3d39b [skip ci] Updated translations via Crowdin 2021-05-03 00:12:17 +00:00
a1012112796
ae6d7860be
add cron job to delete old actions from database (#15688)
that's a way to save database storage space.

Signed-off-by: a1012112796 <1012112796@qq.com>
2021-05-01 14:17:02 +02:00
GiteaBot
5811e162ae [skip ci] Updated translations via Crowdin 2021-05-01 00:12:19 +00:00
GiteaBot
e711050450 [skip ci] Updated translations via Crowdin 2021-04-27 00:12:19 +00:00
GiteaBot
e91932bc15 [skip ci] Updated translations via Crowdin 2021-04-23 00:12:28 +00:00
GiteaBot
d85a4e8cec [skip ci] Updated translations via Crowdin 2021-04-21 00:12:23 +00:00
GiteaBot
3a49c00f0d [skip ci] Updated translations via Crowdin 2021-04-20 00:12:27 +00:00
GiteaBot
7417628f8d [skip ci] Updated translations via Crowdin 2021-04-18 00:12:19 +00:00
GiteaBot
eee30d5586 [skip ci] Updated translations via Crowdin 2021-04-17 00:12:20 +00:00
Kyle D
f44543a1bb
Disable Stars config option (#14653)
* Add config option to disable stars

* Replace "stars" with watched in user profile

* Add documentation
2021-04-15 18:53:57 +02:00
GiteaBot
35381a0e4f [skip ci] Updated translations via Crowdin 2021-04-14 00:12:38 +00:00
GiteaBot
d42509a534 [skip ci] Updated translations via Crowdin 2021-04-12 00:12:18 +00:00
GiteaBot
0c77e0791c [skip ci] Updated translations via Crowdin 2021-04-11 00:12:21 +00:00
zeripath
9a0858cecf
SHA in merged commit comment should be rendered ui sha (#15376)
* SHA in merged commit comment should be rendered ui sha

On a PR page the sha of the merge commit should be rendered in monospace
as a SHA. Also fixes an issue with the manually merged string.

Fix #15049

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

* issues.force_push_codes needs this too.

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2021-04-09 22:24:59 -04:00
GiteaBot
d0eeba9ff9 [skip ci] Updated translations via Crowdin 2021-04-10 00:13:11 +00:00
koalp
3dc099773d
Fix mirror_lfs source string in en-US locale (#15369)
The mirror_lfs source string was set to "Large File System" instead of "Large File Storage"

This has been fixed
2021-04-09 11:00:32 -04:00
KN4CK3R
c03e488e14
Add LFS Migration and Mirror (#14726)
* Implemented LFS client.

* Implemented scanning for pointer files.

* Implemented downloading of lfs files.

* Moved model-dependent code into services.

* Removed models dependency. Added TryReadPointerFromBuffer.

* Migrated code from service to module.

* Centralised storage creation.

* Removed dependency from models.

* Moved ContentStore into modules.

* Share structs between server and client.

* Moved method to services.

* Implemented lfs download on clone.

* Implemented LFS sync on clone and mirror update.

* Added form fields.

* Updated templates.

* Fixed condition.

* Use alternate endpoint.

* Added missing methods.

* Fixed typo and make linter happy.

* Detached pointer parser from gogit dependency.

* Fixed TestGetLFSRange test.

* Added context to support cancellation.

* Use ReadFull to probably read more data.

* Removed duplicated code from models.

* Moved scan implementation into pointer_scanner_nogogit.

* Changed method name.

* Added comments.

* Added more/specific log/error messages.

* Embedded lfs.Pointer into models.LFSMetaObject.

* Moved code from models to module.

* Moved code from models to module.

* Moved code from models to module.

* Reduced pointer usage.

* Embedded type.

* Use promoted fields.

* Fixed unexpected eof.

* Added unit tests.

* Implemented migration of local file paths.

* Show an error on invalid LFS endpoints.

* Hide settings if not used.

* Added LFS info to mirror struct.

* Fixed comment.

* Check LFS endpoint.

* Manage LFS settings from mirror page.

* Fixed selector.

* Adjusted selector.

* Added more tests.

* Added local filesystem migration test.

* Fixed typo.

* Reset settings.

* Added special windows path handling.

* Added unit test for HTTPClient.

* Added unit test for BasicTransferAdapter.

* Moved into util package.

* Test if LFS endpoint is allowed.

* Added support for git://

* Just use a static placeholder as the displayed url may be invalid.

* Reverted to original code.

* Added "Advanced Settings".

* Updated wording.

* Added discovery info link.

* Implemented suggestion.

* Fixed missing format parameter.

* Added Pointer.IsValid().

* Always remove model on error.

* Added suggestions.

* Use channel instead of array.

* Update routers/repo/migrate.go

* fmt

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

Co-authored-by: zeripath <art27@cantab.net>
2021-04-08 18:25:57 -04:00
GiteaBot
75dfc46d7c [skip ci] Updated translations via Crowdin 2021-04-07 00:12:18 +00:00
GiteaBot
7bf1e7a18b [skip ci] Updated translations via Crowdin 2021-04-06 00:12:35 +00:00
GiteaBot
f2715b8e29 [skip ci] Updated translations via Crowdin 2021-04-04 00:12:19 +00:00
GiteaBot
42e62facf7 [skip ci] Updated translations via Crowdin 2021-04-03 00:12:19 +00:00
6543
80d6c6d7de
[refactor] mailer service (#15072)
* Unexport SendUserMail

* Instead of "[]*models.User" or "[]string" lists infent "[]*MailRecipient" for mailer

* adopt

* code format

* TODOs for "i18n"

* clean

* no fallback for lang -> just use english

* lint

* exec testComposeIssueCommentMessage per lang and use only emails

* rm MailRecipient

* Dont reload from users from db if you alredy have in ram

* nits

* minimize diff

Signed-off-by: 6543 <6543@obermui.de>

* localize subjects

* linter ...

* Tr extend

* start tmpl edit ...

* Apply suggestions from code review

* use translation.Locale

* improve mailIssueCommentBatch

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

* add i18n to datas

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

* a comment

Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-04-02 11:25:13 +01:00
GiteaBot
54eae008d9 [skip ci] Updated translations via Crowdin 2021-04-02 00:16:50 +00:00
GiteaBot
f07b137e04 [skip ci] Updated translations via Crowdin 2021-04-01 00:16:36 +00:00
GiteaBot
9d57373144 [skip ci] Updated translations via Crowdin 2021-03-31 00:12:40 +00:00
GiteaBot
0e7a2fb9e2 [skip ci] Updated translations via Crowdin 2021-03-30 00:12:39 +00:00
KN4CK3R
0c6137617f
Add Tabular Diff for CSV files (#14661)
Implements request #14320 The rendering of CSV files does match the diff style.

* Moved CSV logic into base package.

* Added method to create a tabular diff.

* Added CSV compare context.

* Added CSV diff template.

* Use new table style in CSV markup.

* Added file size limit for CSV rendering.

* Display CSV parser errors in diff.

* Lazy read single file.

* Lazy read rows for full diff.

* Added unit tests for various CSV changes.
2021-03-29 22:44:28 +02:00
GiteaBot
3416e2a825 [skip ci] Updated translations via Crowdin 2021-03-29 00:12:37 +00:00
parnic
f4d27498bd
Add DefaultMergeStyle option to repository (#14789)
Fixes #12293
2021-03-27 15:55:40 +01:00
GiteaBot
0048d7c7cf [skip ci] Updated translations via Crowdin 2021-03-25 00:12:38 +00:00
GiteaBot
4c4a86bf8c [skip ci] Updated translations via Crowdin 2021-03-23 00:12:49 +00:00
GiteaBot
e6377d5eb4 [skip ci] Updated translations via Crowdin 2021-03-22 00:12:36 +00:00
GiteaBot
bb5eb849f2 [skip ci] Updated translations via Crowdin 2021-03-20 00:12:40 +00:00
GiteaBot
99707791ed [skip ci] Updated translations via Crowdin 2021-03-19 00:13:12 +00:00
GiteaBot
03e99f847c [skip ci] Updated translations via Crowdin 2021-03-18 00:12:43 +00:00
GiteaBot
5bb544e3ae [skip ci] Updated translations via Crowdin 2021-03-17 00:12:36 +00:00
GiteaBot
ad42adac93 [skip ci] Updated translations via Crowdin 2021-03-16 00:12:50 +00:00
zeripath
6e423d5573
Ensure validation occurs on clone addresses too (#14994)
* Ensure validation occurs on clone addresses too

Fix #14984

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

* fix lint

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

* fix test

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

* Fix api tests

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2021-03-15 17:52:11 -04:00
GiteaBot
cc6470425c [skip ci] Updated translations via Crowdin 2021-03-13 00:12:41 +00:00