Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

extensions: accept whitespace in engine range comparators (e.g. >= 0.4.0 < 3.0.0)

Aperta Adatta ai principianti
#1,635 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
dart, flutter
Ambito
backend

Direzione di ricerca

Inizia in lib/core/extensions/harness/extension_manifest_validator.dart, in corrispondenza di engineRangeAllows e _comparatorAllows; esamina come vengono analizzati i token di confronto separati da spazi. Fai in modo che intervalli come >= 0.4.0 < 3.0.0 accettino spazi tra gli operatori e le versioni, poi esegui i test pertinenti del validatore e conferma che gli intervalli con e senza spazi si comportino allo stesso modo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement marketplace
Problem

In lib/core/extensions/harness/extension_manifest_validator.dart, engineRangeAllows(HostVersion host, String range) splits the range string purely by whitespace:

final parts = range.trim().split(RegExp(r'\s+'));

If an extension author declares an engines.querya_desktop range with a space between the operator and the version, such as >= 0.4.0 < 3.0.0, splitting yields ['>=', '0.4.0', '<', '3.0.0'].
When _comparatorAllows evaluates ">=", c.substring(2) is empty, leading to a parse exception caught by try-catch, which returns null ("unsupported range").

Change

Normalize or tokenize comparator operators (>=, <=, >, <, =, ^) before or during parsing so that spaces between the operator and the version string are tolerated (e.g. >= 0.4.0 is treated the same as >=0.4.0).

Lingua principale
Dart
Stelle
23
Fork
1
Merge medio
32m
PR unite (30g)
537

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di QueryaHub/Querya-Desktop

Tutte le issue di QueryaHub/Querya-Desktop

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.