bug: market switcher search reports "No markets found" for legacy markets
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
El problema está en src/components/MarketSwitcher.tsx: el cálculo de noResults alrededor de las líneas 614-620 omite legacy, y el grupo legacy solo se renderiza cuando showLegacy está activado (alrededor de las líneas 707-712). Empieza reproduciendo una búsqueda de un mercado legacy como Gnosis con el interruptor desactivado y luego decide si las coincidencias legacy deberían mostrarse durante una consulta activa o solo contar para la comprobación del estado vacío. Está hecho cuando una consulta que solo coincide con un mercado legacy ya no muestra "No markets found" y el usuario puede ver la coincidencia o se le indica que active "Show legacy markets".
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
Searching for a legacy market in the market switcher renders "No markets found", even though the market exists and matches the query. Affects every market in the legacy category — Gnosis, Sonic, Scroll, Metis, ZKsync, Soneium, EtherFi — on any market/network.
The search filter itself works: the match is computed and lands in the legacy group. Two things then hide it:
- The legacy group is only rendered when the "Show legacy markets" switch is on (
src/components/MarketSwitcher.tsx:707-712). noResults(src/components/MarketSwitcher.tsx:614-620) countspinned,ethereum,l2,other,v4Ethereumandv4Other— but notlegacy.
So when a query matches only legacy markets, every counted group is empty, noResults is true, and the empty state renders on top of a match that was found but not displayed.
// src/components/MarketSwitcher.tsx:614
const noResults =
pinned.length === 0 &&
ethereum.length === 0 &&
l2.length === 0 &&
other.length === 0 &&
v4Ethereum.length === 0 &&
v4Other.length === 0; // legacy.length is never considered
This became user-visible for Gnosis and Sonic when #3111 moved them into the legacy category (MarketSwitcher.tsx:158-159); the showLegacy switch itself arrived with the v3 uplift (#3075).
To Reproduce
Steps to reproduce the behavior:
- Go to https://app.aave.com (any market)
- Open the market switcher in the header
- Leave "Show legacy markets" off (its default on every page load)
- Type
Gnosisinto the search box - See "No markets found", although Gnosis exists and is selectable
Expected behavior
An explicit search should surface a matching market. Either show legacy matches whenever a search query is active, or at minimum stop reporting "No markets found" when legacy has matches — for example by including legacy.length in noResults and telling the user the matches are under "Show legacy markets".
Screenshots
n/a — reproducible from the source as described above.
Desktop (please complete the following information):
- OS: any
- Browser: any (not browser-specific)
- Version:
main@ 32cc548b9
Smartphone (please complete the following information):
- Device: any
- OS: any
- Browser: any (the same code path renders the mobile sheet)
- Version:
main@ 32cc548b9
Additional context
Users holding positions in a legacy market are the ones most likely to search for it by name, so the empty-state message lands exactly on the people who need the market most. Happy to open a PR for this.
- Lenguaje dominante
- TypeScript
- Estrellas
- 537
- Forks
- 495
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 14
Preparar el entorno
- Sin Dockerfile ni 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 aave/interface
-
bug: the current market is missing from the market switcher when it is a legacy marketPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
Staking: "Claim all" Umbrella rewards button removed by v3 upliftPosiblemente ocupada @MrMichou la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Typo: Principle Tokens -> Principal TokensPosiblemente ocupada @Shivamd0608 la tomó hace 139 días. Abiertobug new issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
aave/interface#2861 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
app.aave.com/governance - UI - False 'Payload Executed' Text StampPosiblemente ocupada @shivam-V8 la tomó hoy. Abiertobug new issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
aave/interface#2480 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug: swap token controls are not fully keyboard and screen-reader accessibleQuizá libre de nuevo @wolf1276 la tomó hace 13 días y no hay ningún pull request abierto. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
aave/interface#3100 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de aave/interface
Issues similares
-
area:deploy task
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wilanis/wilanis-js#1017 ·
Los mantenedores suelen responder en 1 día
-
documentation v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
modelcontextprotocol/servers#5133 ·
Los mantenedores suelen responder en 1 día
-
budget bug feature frontend good-issue medium needs-review OSCI'26 payments
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
SatyamPandey-07/WorkSphere#5990 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
lugassawan/swe-workbench#799 ·
Los mantenedores suelen responder en 1 día
-
bug good first issue javascript
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
yukikotani231/sqlsift#326 ·
Los mantenedores suelen responder en 1 día