The pathParse function in RescriptReactRouter.res currently treats single slash and double slash URLs identically, which causes routing conflicts and prevents proper URL differentiation.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 65/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- react
- Domínio
- frontend
Direção de pesquisa
Comece em RescriptReactRouter.res, na função pathParse, e inspecione a lógica de split e filter para caminhos separados por barras. Verifique o comportamento de /analytics-transaction e //analytics-transaction e, em seguida, confirme que as listas resultantes preservam o segmento vazio inicial somente para a URL com barra dupla.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Current Behavior
// Both URLs return the same parsed result
pathParse("/analytics-transaction") → list{"analytics-transaction"}
pathParse("//analytics-transaction") → list{"analytics-transaction"} // Problem!
Expected Behavior
// URLs should parse differently to enable proper routing
pathParse("/analytics-transaction") → list{"analytics-transaction"}
pathParse("//analytics-transaction") → list{"", "analytics-transaction"} // Should preserve leading empty string
Impact
- Cannot differentiate between /path and //path in routing logic
- Causes "Page Not Found" errors for valid double slash URLs
- Breaks routing patterns that rely on double slash prefixes
Proposed Solution
Modify the filter logic to preserve the first empty string while removing others:
// Current problematic code
raw->Js.String2.split("/")->Js.Array2.filter(item => item->Js.String2.length != 0)->arrayToList
// Proposed fix
let splitArray = raw->Js.String2.split("/")
let filteredArray = []
splitArray->Js.Array2.forEachi((item, index) => {
if item->Js.String2.length != 0 || index == 0 {
filteredArray->Js.Array2.push(item)->ignore
}
})
filteredArray->arrayToList
- Linguagem predominante
- ReScript
- Estrelas
- 517
- Forks
- 45
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
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 rescript-lang/rescript-react
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
rescript-lang/rescript-react#152 · 3 reações ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 45/100
rescript-lang/rescript-react#147 · 2 comentários ·
-
ReScript-aware `memo` Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
rescript-lang/rescript-react#111 · 3 comentários ·
-
Implicit type conversion? Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
rescript-lang/rescript-react#105 ·
-
Scroll Restoration Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
rescript-lang/rescript-react#104 · 1 reação ·
Todas as issues de rescript-lang/rescript-react
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
radiantearth/stac-browser#1023 ·
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
hub-client: Titlebar refresh Abertabug quarto-hub
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
quarto-dev/q2#721 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
frontend maui-pilot pilot-ask question
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100