extensions: accept whitespace in engine range comparators (e.g. >= 0.4.0 < 3.0.0)
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
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
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
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de QueryaHub/Querya-Desktop
-
enhancement ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
QueryaHub/Querya-Desktop#1689 ·
Mantenedores costumam responder em até 1 dia
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowAbertabug frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
QueryaHub/Querya-Desktop#1642 ·
Mantenedores costumam responder em até 1 dia
-
bug error-handling settings
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 78/100
QueryaHub/Querya-Desktop#1637 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
QueryaHub/Querya-Desktop#1636 ·
Mantenedores costumam responder em até 1 dia
-
enhancement P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
QueryaHub/Querya-Desktop#1595 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de QueryaHub/Querya-Desktop
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
avdept/JellyBoxPlayer#375 ·
Mantenedores costumam responder em até 1 dia
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
basictech01/uniun#300 ·
Mantenedores costumam responder em até 1 dia
-
Listener that removes itself in its callback causes other listeners to miss updatesTalvez já em andamento @RaphaelFakhri assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
RevenueCat/purchases-flutter#1962 ·
Mantenedores costumam responder em até 1 dia