From ed47d0062e62ddd23c16687fbd5665a8ffe6912f Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Wed, 26 Oct 2022 15:34:44 +0200 Subject: [PATCH 1/3] Fix `Timestamp.IsZero` (#21593) Our implementation of `IsZero` can't work. An "empty" timestamp (= 0) calls `time.Unix(int64(ts), 0).IsZero()` which is always `false`. Only `time.Time{}.IsZero()` is `true`. We call this method ~~only at one place~~ and there the value (`UpdatedUnix`) should be always != 0 so this PR may not have consequences. Co-authored-by: Lunny Xiao --- modules/timeutil/timestamp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/timeutil/timestamp.go b/modules/timeutil/timestamp.go index 40fcb8603f864..36b2aff575f1f 100644 --- a/modules/timeutil/timestamp.go +++ b/modules/timeutil/timestamp.go @@ -103,5 +103,5 @@ func (ts TimeStamp) FormatDate() string { // IsZero is zero time func (ts TimeStamp) IsZero() bool { - return ts.AsTimeInLocation(time.Local).IsZero() + return int64(ts) == 0 } From 8430f738e296cd82f318744e2a9ddf74be27c353 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 26 Oct 2022 17:46:11 +0200 Subject: [PATCH 2/3] Fix 500 on PR files API (#21602) Fixes an 500 error/panic if using the changed PR files API with pages that should return empty lists because there are no items anymore. `start-end` is then < 0 which ends in panic. Co-authored-by: Lunny Xiao Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: delvh --- routers/api/v1/repo/pull.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/routers/api/v1/repo/pull.go b/routers/api/v1/repo/pull.go index f6507dceba89a..ebb9c0f261f0b 100644 --- a/routers/api/v1/repo/pull.go +++ b/routers/api/v1/repo/pull.go @@ -1443,7 +1443,11 @@ func GetPullRequestFiles(ctx *context.APIContext) { end = totalNumberOfFiles } - apiFiles := make([]*api.ChangedFile, 0, end-start) + lenFiles := end - start + if lenFiles < 0 { + lenFiles = 0 + } + apiFiles := make([]*api.ChangedFile, 0, lenFiles) for i := start; i < end; i++ { apiFiles = append(apiFiles, convert.ToChangedFile(diff.Files[i], pr.HeadRepo, endCommitID)) } From 096aed5c1d4bf5d431306474b1410d35db8a231a Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 27 Oct 2022 00:21:00 +0000 Subject: [PATCH 3/3] [skip ci] Updated translations via Crowdin --- options/locale/locale_tr-TR.ini | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/options/locale/locale_tr-TR.ini b/options/locale/locale_tr-TR.ini index 7d2c08a05d9b2..37b7491f6ab27 100644 --- a/options/locale/locale_tr-TR.ini +++ b/options/locale/locale_tr-TR.ini @@ -107,6 +107,8 @@ never=Asla rss_feed=RSS Beslemesi [filter] +string.asc=A - Z +string.desc=Z - A [error] occurred=Bir hata oluştu @@ -414,6 +416,10 @@ repo.transfer.body=Kabul veya reddetmek için %s ziyaret edin veya görmezden ge repo.collaborator.added.subject=%s sizi %s ekledi repo.collaborator.added.text=Bu depo için katkıcı olarak eklendiniz: +team_invite.subject=%[1] sizi %[2] organizasyonuna katılmaya davet etti +team_invite.text_1=%[1] sizi %[3] organizasyonundaki %[2] takımına katılmaya davet etti. +team_invite.text_2=Takıma katılmak lütfen aşağıdaki bağlantıya tıklayın: +team_invite.text_3=Not: Bu davet %[1] içindi. Bu daveti beklemiyorsanız, e-postayı yok sayabilirsiniz. [modal] yes=Evet @@ -490,6 +496,7 @@ user_not_exist=Böyle bir kullanıcı yok. team_not_exist=Böyle bir takım bulunmuyor. last_org_owner=Son kullanıcıyı 'sahipler' takımından çıkaramazsınız. Bir organizasyonun en az bir sahibi olmalıdır. cannot_add_org_to_team=Organizasyon, takım üyesi olarak eklenemez. +duplicate_invite_to_team=Bu kullanıcı zaten takım üyesi olarak davet edilmişti. invalid_ssh_key=SSH anahtarınız doğrulanamıyor: %s invalid_gpg_key=GPG anahtarınız doğrulanamıyor: %s @@ -742,6 +749,7 @@ create_oauth2_application_button=Uygulama Oluştur create_oauth2_application_success=Başarıyla yeni bir OAuth2 uygulaması oluşturdunuz. update_oauth2_application_success=OAuth2 uygulamasını başarıyla güncellediniz. oauth2_application_name=Uygulama Adı +oauth2_confidential_client=Güvenli İstemci. Web uygulamaları gibi sırları güvende tutan uygulamalar için bunu seçin. Masaüstü ve mobil uygulamaları da içeren doğal uygulamalar için seçmeyin. oauth2_redirect_uri=Yönlendirme URI'si save_application=Kaydet oauth2_client_id=İstemci Kimliği @@ -2402,6 +2410,8 @@ teams.members=Takım Üyeleri teams.update_settings=Ayarları Güncelle teams.delete_team=Takımı Sil teams.add_team_member=Takım Üyesi Ekle +teams.invite_team_member=%s daveti +teams.invite_team_member.list=Bekleyen Davetler teams.delete_team_title=Takımı Sil teams.delete_team_desc=Bir takımı silmek, üyelerinden depo erişimini iptal eder. Devam edilsin mi? teams.delete_team_success=Takım silindi. @@ -2426,6 +2436,8 @@ teams.all_repositories_helper=Takımın tüm depolara erişimi vardır. Bunu se teams.all_repositories_read_permission_desc=Bu takım tüm depolara Okuma erişimi sağlar: üyeler depoları görüntüleyebilir ve kopyalayabilir. teams.all_repositories_write_permission_desc=Bu takım tüm depolara Yazma erişimi sağlar: üyeler depolardan okuyabilir ve depolara itebilir. teams.all_repositories_admin_permission_desc=Bu takım tüm depolara Yönetici erişimi sağlar: üyeler depolardan okuyabilir, itebilir ve katkıcıları ekleyebilir. +teams.invite.by=%s tarafından davet edildi +teams.invite.description=Takıma katılmak için aşağıdaki düğmeye tıklayın. [admin] dashboard=Pano @@ -2879,6 +2891,8 @@ config.access_log_template=Şablon config.xorm_log_mode=XORM Günlük Kipi config.xorm_log_sql=SQL Günlüğü +config.get_setting_failed=%s ayarı alınamadı +config.set_setting_failed=%s ayarı yapılamadı monitor.cron=Cron Görevleri monitor.name=İsim