- Spegnimento
- 7 agosto 2026 alle ore 04:07 UTC
- Autore
- kamo
- Impegno
- f9272ff
socialTimelineApi.timeline set provider a un CSV unito. Una virgola in una query VALUE viaggia in %2C, e qualsiasi hop che re-encodes trasforma quello in %252C — APIService ha fatto esattamente questo, consegnando il suo URL a monte a RestTemplate come un String, che lo tratta come URI TEMPLATE e codifica una seconda volta. Servizio stampa decodifica una volta e vede il singolo run-together token "facebook%2Cx", che corrisponde nessun codice fornitore, quindi un filtro multiprovider ha restituito un feed vuoto. Selezione un chip o nessuno è un punto fisso, motivo per cui nessuno lo ha segnalato. Il codice doppio del gateway è fissato nella commit corrispondente di APIService, e il proxy timeline sociale raggiunge MediaService direttamente su 8443 piuttosto che attraverso tale gateway — ma il cliente non dovrebbe dipendere dal comportamento di codifica di qualsiasi hop, e i param ripetuti sono la forma corretta del filo indipendentemente. - timeline aggiunge un `provider` param per chip selezionato. Un CSV consegnato da qualsiasi futuro chiamante è SPLIT qui piuttosto che passare attraverso, quindi la vecchia forma non può tornare silenziosamente, e i token vuoti sono caduti invece di inviare "provider=". - Il contratto del percorso del proxy è scritto: forwardToMediaService passa il grezzo stringa di ricerca attraverso verbatim, così ogni avvenimento sopravvive, e non deve mai essere crollato di nuovo in un CSV. I test affermano l'URL che effettivamente lascia il browser: param ripetuti, no '%' e no ',' ovunque nella query, una divisione CSV piuttosto che inoltrata, richiesta del singolo fornitore invariata, e i fornitori omessi completamente quando nessun chip è selezionato. MediaService accetta entrambe le forme attraverso una regola di parsing (vedi la sua corrispondente commit), così memorizzati nella cache e contrassegnati URL CSV non sono influenzati. tsc --noEmit clean; 879 test, 0 guasti; successiva costruzione riesce.