Skip to content

Commit d63259b

Browse files
committed
Merge remote-tracking branch 'giteaofficial/main'
* giteaofficial/main: use nolyfill to remove some polyfills (go-gitea#31468) Properly filter issue list given no assignees filter (go-gitea#31522) Run `detectWebAuthnSupport` only on sign-in page (go-gitea#31676) fix OIDC introspection authentication (go-gitea#31632) Enable direnv (go-gitea#31672) [skip ci] Updated translations via Crowdin [skip ci] Updated translations via Crowdin
2 parents 7bb635e + b4ccef3 commit d63259b

File tree

14 files changed

+488
-1640
lines changed

14 files changed

+488
-1640
lines changed

.envrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
use flake

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ prime/
108108
*_source.tar.bz2
109109
.DS_Store
110110

111+
# nix-direnv generated files
112+
.direnv/
113+
111114
# Make evidence files
112115
/.make_evidence
113116

Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,8 @@ update-js: node-check | node_modules
887887
npx updates -u -f package.json
888888
rm -rf node_modules package-lock.json
889889
npm install --package-lock
890+
npx nolyfill install
891+
npm install --package-lock
890892
@touch node_modules
891893

892894
.PHONY: update-py

modules/base/tool.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,10 @@ func BasicAuthDecode(encoded string) (string, string, error) {
4848
return "", "", err
4949
}
5050

51-
auth := strings.SplitN(string(s), ":", 2)
52-
53-
if len(auth) != 2 {
54-
return "", "", errors.New("invalid basic authentication")
51+
if username, password, ok := strings.Cut(string(s), ":"); ok {
52+
return username, password, nil
5553
}
56-
57-
return auth[0], auth[1], nil
54+
return "", "", errors.New("invalid basic authentication")
5855
}
5956

6057
// VerifyTimeLimitCode verify time limit code

modules/base/tool_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ func TestBasicAuthDecode(t *testing.T) {
4141

4242
_, _, err = BasicAuthDecode("invalid")
4343
assert.Error(t, err)
44+
45+
_, _, err = BasicAuthDecode("YWxpY2U=") // "alice", no colon
46+
assert.Error(t, err)
4447
}
4548

4649
func TestVerifyTimeLimitCode(t *testing.T) {

modules/indexer/issues/dboptions.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp
4444
searchOpt.ProjectID = optional.Some[int64](0) // Those issues with no project(projectid==0)
4545
}
4646

47+
if opts.AssigneeID > 0 {
48+
searchOpt.AssigneeID = optional.Some(opts.AssigneeID)
49+
} else if opts.AssigneeID == -1 { // FIXME: this is inconsistent from other places
50+
searchOpt.AssigneeID = optional.Some[int64](0)
51+
}
52+
4753
// See the comment of issues_model.SearchOptions for the reason why we need to convert
4854
convertID := func(id int64) optional.Option[int64] {
4955
if id > 0 {
@@ -57,7 +63,6 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp
5763

5864
searchOpt.ProjectColumnID = convertID(opts.ProjectColumnID)
5965
searchOpt.PosterID = convertID(opts.PosterID)
60-
searchOpt.AssigneeID = convertID(opts.AssigneeID)
6166
searchOpt.MentionID = convertID(opts.MentionedID)
6267
searchOpt.ReviewedID = convertID(opts.ReviewedID)
6368
searchOpt.ReviewRequestedID = convertID(opts.ReviewRequestedID)

modules/indexer/issues/indexer_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"testing"
99

1010
"code.gitea.io/gitea/models/db"
11+
"code.gitea.io/gitea/models/issues"
1112
"code.gitea.io/gitea/models/unittest"
1213
"code.gitea.io/gitea/modules/indexer/issues/internal"
1314
"code.gitea.io/gitea/modules/optional"
@@ -188,6 +189,11 @@ func searchIssueByID(t *testing.T) {
188189
},
189190
expectedIDs: []int64{6, 1},
190191
},
192+
{
193+
// NOTE: This tests no assignees filtering and also ToSearchOptions() to ensure it will set AssigneeID to 0 when it is passed as -1.
194+
opts: *ToSearchOptions("", &issues.IssuesOptions{AssigneeID: -1}),
195+
expectedIDs: []int64{22, 21, 16, 15, 14, 13, 12, 11, 20, 5, 19, 18, 10, 7, 4, 9, 8, 3, 2},
196+
},
191197
{
192198
opts: SearchOptions{
193199
MentionID: optional.Some(int64(4)),

options/locale/locale_fr-FR.ini

+31
Original file line numberDiff line numberDiff line change
@@ -387,13 +387,17 @@ relevant_repositories=Seuls les dépôts pertinents sont affichés, <a href="%s"
387387

388388
[auth]
389389
create_new_account=Créer un compte
390+
already_have_account=Avez-vous déjà un compte ?
391+
sign_in_now=Connectez-vous!
390392
disable_register_prompt=Les inscriptions sont désactivées. Veuillez contacter l'administrateur du site.
391393
disable_register_mail=La confirmation par courriel à l’inscription est désactivée.
392394
manual_activation_only=Contactez l'administrateur de votre site pour terminer l'activation.
393395
remember_me=Mémoriser cet appareil
394396
remember_me.compromised=Le jeton de connexion n’est plus valide, ce qui peut indiquer un compte compromis. Veuillez inspecter les activités inhabituelles de votre compte.
395397
forgot_password_title=Mot de passe oublié
396398
forgot_password=Mot de passe oublié ?
399+
need_account=Besoin d‘un compte ?
400+
sign_up_now=Inscrivez-vous dès maintenant !
397401
sign_up_successful=Le compte a été créé avec succès. Bienvenue !
398402
confirmation_mail_sent_prompt_ex=Un nouveau courriel de confirmation a été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans la prochaine %s pour terminer le processus d’inscription. Si votre adresse courriel est incorrecte, vous pouvez vous reconnecter et la modifier.
399403
must_change_password=Réinitialisez votre mot de passe
@@ -455,6 +459,8 @@ sspi_auth_failed=Échec de l'authentification SSPI
455459
password_pwned=Le mot de passe que vous avez choisi se trouve sur la liste <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">des mots de passe ayant fuité</a> sur internet. Veuillez réessayer avec un mot de passe différent et considérer remplacer ce mot de passe si vous l'utilisez ailleurs.
456460
password_pwned_err=Impossible d'envoyer la demande à HaveIBeenPwned
457461
last_admin=Vous ne pouvez pas supprimer ce compte car au moins un administrateur est requis.
462+
signin_passkey=Se connecter avec une clé d’identification (passkey)
463+
back_to_sign_in=Revenir à la page de connexion
458464
459465
[mail]
460466
view_it_on=Voir sur %s
@@ -471,6 +477,7 @@ activate_email=Veuillez vérifier votre adresse courriel
471477
activate_email.title=%s, veuillez vérifier votre adresse courriel
472478
activate_email.text=Veuillez cliquer sur le lien suivant pour vérifier votre adresse courriel dans <b>%s</b>:
473479
480+
register_notify=Bienvenue sur %s
474481
register_notify.title=%[1]s, bienvenue à %[2]s
475482
register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s!
476483
register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s.
@@ -907,6 +914,7 @@ create_oauth2_application_success=Vous avez créé une nouvelle application OAut
907914
update_oauth2_application_success=Vous avez mis à jour l'application OAuth2 avec succès.
908915
oauth2_application_name=Nom de l'Application
909916
oauth2_confidential_client=Client confidentiel. Sélectionnez cette option pour les applications qui préservent la confidentialité du secret, telles que les applications web. Ne la sélectionnez pas pour les applications natives, y compris les applications de bureau et les applications mobiles.
917+
oauth2_skip_secondary_authorization=Ne plus demander d’autorisation pour les clients publics après la première fois. <strong>Introduit un risque de sécurité.</strong>
910918
oauth2_redirect_uris=URI de redirection. Veuillez utiliser une nouvelle ligne pour chaque URI.
911919
save_application=Enregistrer
912920
oauth2_client_id=ID du client
@@ -2273,6 +2281,7 @@ settings.event_wiki_desc=Page wiki créée, renommée, modifiée ou supprimée.
22732281
settings.event_release=Publication
22742282
settings.event_release_desc=Publication publiée, mise à jour ou supprimée.
22752283
settings.event_push=Soumission
2284+
settings.event_force_push=Poussée forcée
22762285
settings.event_push_desc=Soumission Git.
22772286
settings.event_repository=Dépôt
22782287
settings.event_repository_desc=Dépôt créé ou supprimé.
@@ -2366,10 +2375,28 @@ settings.protect_this_branch=Activer la protection de branche
23662375
settings.protect_this_branch_desc=Empêche les suppressions et limite les poussées et fusions sur cette branche.
23672376
settings.protect_disable_push=Désactiver la soumission
23682377
settings.protect_disable_push_desc=Aucune soumission ne sera possible sur cette branche.
2378+
settings.protect_disable_force_push=Désactiver les poussés forcées
2379+
settings.protect_disable_force_push_desc=Aucune poussée forcée ne sera possible sur cette branche.
23692380
settings.protect_enable_push=Activer la soumission
23702381
settings.protect_enable_push_desc=Toute personne ayant un accès en écriture sera autorisée à soumettre sur cette branche (sans forcer).
2382+
settings.protect_enable_force_push_all=Activer les poussées forcées
2383+
settings.protect_enable_force_push_all_desc=Toute personne pouvant pousser pourra forcer sur cette branche.
2384+
settings.protect_enable_force_push_allowlist=Soumission forcée sur autorisation uniquement
2385+
settings.protect_enable_force_push_allowlist_desc=Seuls les utilisateurs ou équipes autorisés ayants un droit de pousser seront autorisés à pousser en force sur cette branche.
23712386
settings.protect_enable_merge=Activer la fusion
23722387
settings.protect_enable_merge_desc=Toute personne ayant un accès en écriture sera autorisée à fusionner les demandes d'ajout dans cette branche.
2388+
settings.protect_whitelist_committers=Soumissions sur autorisation uniquement
2389+
settings.protect_whitelist_committers_desc=Seuls les utilisateurs ou les équipes autorisés pourront pousser sur cette branche (sans forcer).
2390+
settings.protect_whitelist_deploy_keys=Clés de déploiement pouvant écrire autorisées à pousser.
2391+
settings.protect_whitelist_users=Utilisateurs autorisés à pousser :
2392+
settings.protect_whitelist_teams=Équipes autorisées à pousser :
2393+
settings.protect_force_push_allowlist_users=Utilisateurs autorisés à pousser en force :
2394+
settings.protect_force_push_allowlist_teams=Équipes autorisées à pousser en force :
2395+
settings.protect_force_push_allowlist_deploy_keys=Clés de déploiement pouvant pousser autorisées à pousser en force.
2396+
settings.protect_merge_whitelist_committers=Activer la liste d’autorisés pour la fusion
2397+
settings.protect_merge_whitelist_committers_desc=N’autoriser que les utilisateurs et les équipes listés à appliquer les demandes de fusion sur cette branche.
2398+
settings.protect_merge_whitelist_users=Utilisateurs autorisés à fusionner :
2399+
settings.protect_merge_whitelist_teams=Équipes autorisées à fusionner :
23732400
settings.protect_check_status_contexts=Activer le Contrôle Qualité
23742401
settings.protect_status_check_patterns=Motifs de vérification des statuts :
23752402
settings.protect_status_check_patterns_desc=Entrez des motifs pour spécifier quelles vérifications doivent réussir avant que des branches puissent être fusionnées. Un motif par ligne. Un motif ne peut être vide.
@@ -2380,6 +2407,10 @@ settings.protect_invalid_status_check_pattern=Motif de vérification des statuts
23802407
settings.protect_no_valid_status_check_patterns=Aucun motif de vérification des statuts valide.
23812408
settings.protect_required_approvals=Minimum d'approbations requis :
23822409
settings.protect_required_approvals_desc=Permet de fusionner les demandes d’ajout lorsque suffisamment d’évaluation sont positives.
2410+
settings.protect_approvals_whitelist_enabled=Restreindre les approbations aux utilisateurs ou aux équipes sur liste d’autorisés
2411+
settings.protect_approvals_whitelist_enabled_desc=Seuls les évaluations des utilisateurs ou des équipes suivantes compteront dans les approbations requises. Si laissé vide, les évaluations de toute personne ayant un accès en écriture seront comptabilisées à la place.
2412+
settings.protect_approvals_whitelist_users=Évaluateurs autorisés :
2413+
settings.protect_approvals_whitelist_teams=Équipes d’évaluateurs autorisés :
23832414
settings.dismiss_stale_approvals=Révoquer automatiquement les approbations périmées
23842415
settings.dismiss_stale_approvals_desc=Lorsque des nouvelles révisions changent le contenu de la demande d’ajout, les approbations existantes sont révoquées.
23852416
settings.ignore_stale_approvals=Ignorer les approbations obsolètes

options/locale/locale_pt-PT.ini

+1
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@ create_oauth2_application_success=Criou com sucesso uma nova aplicação OAuth2.
914914
update_oauth2_application_success=Modificou com sucesso a aplicação OAuth2.
915915
oauth2_application_name=Nome da aplicação
916916
oauth2_confidential_client=Cliente confidencial. Escolha esta opção para aplicações que mantêm o segredo confidencial, tais como aplicações web. Não escolha esta opção para aplicações nativas, incluindo aplicações para computador e aplicações móveis.
917+
oauth2_skip_secondary_authorization=Saltar a autorização para clientes públicos depois de lhes ceder acesso uma vez. <strong>Pode representar um risco de segurança.</strong>
917918
oauth2_redirect_uris=URIs de reencaminhamento. Use uma linha por URI.
918919
save_application=Guardar
919920
oauth2_client_id=ID do cliente

0 commit comments

Comments
 (0)