Query parameter values are truncated at a second equals sign
Los mantenedores suelen responder en 8 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
Línea de trabajo
Comienza con src/core/router/util.js y la suite existente de utilidades de router de Jest, y después ejecuta la reproducción reportada de parseQuery. Verifica que, al decodificar, solo el primer signo igual separe un parámetro, mientras que la conversión de más a espacio, los valores vacíos y los parámetros sin valor permanezcan sin cambios; la prueba de regresión debería pasar conservando los signos igual incrustados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 31.5k
- Forks
- 5.8k
- Merge medio
- 7 d 18 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de docsifyjs/docsify
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyAbiertobug Triage
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
Los mantenedores suelen responder en 8 días
-
Cached AJAX responses lose status metadata exposed through vm.route.responsePosiblemente ocupada @xu91102 la tomó hace 23 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 8 días
-
In the Edge browser, the character `{docsify-updated}` is not replacedQuizá libre de nuevo @AmanUllah687 la tomó hace 76 días y no hay ningún pull request abierto. Abiertowait for information
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
docsifyjs/docsify#2681 · 11 comentarios ·
Los mantenedores suelen responder en 8 días
-
Nested/Recursive includesAbiertofeature request Triage
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
docsifyjs/docsify#2643 · 5 comentarios ·
Los mantenedores suelen responder en 8 días
-
Is it possible not to push unnecessary state when clicking an <a> element?Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoneeds discussion
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 8 días
Todos los issues de docsifyjs/docsify
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HarperFast/harper#3299 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
osmlab/name-suggestion-index#12992 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
open-government-design-system/ogds-elements#199 ·
Los mantenedores suelen responder en 1 día
-
area:plugin type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Document annotations cannot anchor visible code after a shorter or different fenced-code markerAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
paperclipai/paperclip#16898 ·
Los mantenedores suelen responder en 1 día