Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta Para iniciantes
#1,635 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
dart, flutter
Domínio
backend

Direção de pesquisa

Comece em lib/core/extensions/harness/extension_manifest_validator.dart, em engineRangeAllows e _comparatorAllows; examine como os tokens de comparação separados por espaços em branco são analisados. Faça com que intervalos como >= 0.4.0 < 3.0.0 aceitem espaços entre os operadores e as versões; depois, execute os testes pertinentes do validador e confirme que intervalos com e sem espaços se comportam da mesma forma.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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).

Linguagem predominante
Dart
Estrelas
23
Forks
1
Merge médio
31min
PRs com merge (30d)
570

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de QueryaHub/Querya-Desktop

Todas as issues de QueryaHub/Querya-Desktop

Issues semelhantes

Mais issues de Dart

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.