2026-08-07 — marvelousdb: fix detalle sin imagen + busquedas con comillas + listado SerpAPI

Contexto: el usuario reporto (1) personajes mostrando no-image.svg en el detalle aunque tienen thumbnail (Freckles Marvel 8806, 9450, 9255, 23968), (2) saved-searches de la home (“Black Bolt”, “Iron Man”, “S.H.I.E.L.D.”) sin resultados, y pidio un listado de faltantes para correr SerpAPI.

Bugs encontrados

  1. Detalle con placeholder: parseThumb() hacia JSON.parse() siempre, pero el thumbnail del detalle viene del JSON data (string URL cruda) y el de las tarjetas de la columna (doble-codificado). JSON.parse('https://...') lanza y caia al placeholder. Fix: parseThumb detecta si el raw empieza con " o { → JSON.parse; si no, lo usa como URL directa. Las wikia URLs responden 200 (estaban vivas; el bug era nuestro, no del CDN).
  2. Saved-searches sin resultados: la home envia s="Black Bolt" con comillas literales; FTS5 las interpretaba como sintaxis de frase rota → 0 matches. Fix: ftsTokens() y likeClause() eliminan comillas (" y tipograficas) del query.

Listado de faltantes

  • node data/cache-images.js --list: imprime id\tnombre\tuniverso de los sin thumbnail y guarda data/missing-images.json (135 personajes, todos Public Domain). Sin gastar cuota de SerpAPI.

Verificacion

  • 20/20 tests (2 nuevos: thumbnail wikia en detalle, busqueda con comillas).
  • “Black Bolt” con comillas → 20 resultados; “S.H.I.E.L.D.” → 1.
  • API sirve URLs wikia para 8806/9450/9255/23968.