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

Query parameter values are truncated at a second equals sign

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

Mantenedores costumam responder em até 8 dias

@xu91102 já está trabalhando nisso.

Desde 26/9/2026.

  • #2811 de @xu91102 — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
88/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
javascript
Domínio
frontend, web-dev

Direção de pesquisa

Comece com src/core/router/util.js e a suíte existente de utilitários de router do Jest e, em seguida, execute a reprodução reportada de parseQuery. Verifique se apenas o primeiro sinal de igual separa um parâmetro durante a decodificação, enquanto a conversão de mais para espaço, os valores vazios e os parâmetros sem valor permanecem inalterados; o teste de regressão deve passar com os sinais de igual incorporados preservados.

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

Descrição

Bug Report

Current behavior

Query parameter values are truncated at the second equals sign. On develop f34374b7423340e5ddec81c8ff565c26cc056fb5, parseQuery('?id=a=b=c&other=ok') returns {id: 'a', other: 'ok'} instead of preserving a=b=c.

The same parser is used by both hash and HTML5 history, so route queries exposed to plugins are affected. Values containing a literal equals sign, including padded encoded data, lose information.

Reproduction

From the source checkout:

import { parseQuery } from './src/core/router/util.js';
console.log(parseQuery('?id=a=b=c&other=ok'));
// { id: 'a', other: 'ok' }
Expected behavior

Only the first equals sign separates the parameter name from its value. Remaining equals signs should stay in the value. Existing decoding, plus-to-space conversion, empty values and valueless parameters should retain their behavior.

Environment

Docsify 5.0.0 develop source, Node.js on macOS. Reproduced directly and with a failing Jest regression in the existing router utility suite.

Linguagem predominante
JavaScript
Estrelas
31.6k
Forks
5.8k
Merge médio
7d 18h
PRs com merge (30d)
9

Preparar o ambiente

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 docsifyjs/docsify

Todas as issues de docsifyjs/docsify

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

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