bug: market switcher search reports "No markets found" for legacy markets
I maintainer di solito rispondono entro 1 giorno
@shivam-V8 ci sta già lavorando.
Dal 11/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Il problema si trova in src/components/MarketSwitcher.tsx: il calcolo di noResults intorno alle righe 614-620 esclude legacy, e il gruppo legacy viene visualizzato solo quando showLegacy è attivo (intorno alle righe 707-712). Inizia riproducendo una ricerca di un mercato legacy come Gnosis con l'interruttore disattivato, poi decidi se le corrispondenze legacy debbano comparire durante una query attiva o contare soltanto nel controllo dello stato vuoto. È completato quando una query che corrisponde solo a un mercato legacy non mostra più "No markets found" e l'utente vede la corrispondenza oppure viene invitato ad attivare "Show legacy markets".
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 537
- Fork
- 495
- Merge medio
- 1g 18h
- PR unite (30g)
- 15
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aave/interface
-
bug: hidden reserves are still offered as collateral swap targetsForse già presa @shivam-V8 l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
bug: the current market is missing from the market switcher when it is a legacy marketForse già presa @shivam-V8 l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Staking: "Claim all" Umbrella rewards button removed by v3 upliftForse già presa @MrMichou l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Typo: Principle Tokens -> Principal TokensForse già presa @Shivamd0608 l’ha presa 143 giorni fa. Apertabug new issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aave/interface#2861 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
app.aave.com/governance - UI - False 'Payload Executed' Text StampForse già presa @shivam-V8 l’ha presa 5 giorni fa. Apertabug new issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aave/interface#2480 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di aave/interface
Issue simili
-
documentation good first issue
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
sujithputta02/Esapay#13 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
I maintainer di solito rispondono entro 1 giorno
-
Share dialog: the address book's contact count reads "1 contacts" (no singular form in any language)Forse già presa @chibenwa l’ha presa oggi. Apertaai-driven-qa bug claude Cosmetic
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
linagora/twake-contacts-frontend#271 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
vercel/ai#23435 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Koenkk/zigbee2mqtt#33402 ·
I maintainer di solito rispondono entro 1 giorno