Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Query parameter values are truncated at a second equals sign

Ouverte Adaptée aux débutants
#2,810 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@xu91102 y travaille déjà.

Depuis le 26/9/2026.

  • #2811 par @xu91102 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
88/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
javascript
Domaine
frontend, web-dev

Piste de recherche

Commencez par src/core/router/util.js et la suite Jest existante d’utilitaires du routeur, puis exécutez la reproduction signalée de parseQuery. Vérifiez que seul le premier signe égal sépare un paramètre lors du décodage, tandis que la conversion des signes plus en espaces, les valeurs vides et les paramètres sans valeur restent inchangés ; le test de régression devrait réussir avec les signes égal intégrés conservés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
JavaScript
Étoiles
31.5k
Forks
5.8k
Merge moyen
2 j 14 h
PR mergées (30 j)
5

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de docsifyjs/docsify

Toutes les issues de docsifyjs/docsify

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.