Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/circle.js

    r520e477 reac3229  
    1616  return typeof u === 'string' && /^https?:\/\//i.test(u) ? u : null;
    1717}
     18/**
     19 * media_json als ARRAY, of leeg.
     20 *
     21 * De catch vangt KAPOTTE json; hij ving niet geldige json van het verkeerde
     22 * TYPE. Een remote server stuurde media_json = "[]" -- een string MET daarin
     23 * `[]` -- en JSON.parse geeft dan netjes een string terug. Een string heeft
     24 * geen .map, en daarmee lag /cirkel op boiert.eu plat: een 500 op de hele
     25 * pagina door een enkele post (rij 19 van 72).
     26 *
     27 * Precies dezelfde fout stond al beschreven en gerepareerd in
     28 * views/partials/note-body.ejs, waar drie vreemde notes de Krant meenamen.
     29 * Die reparatie is hier nooit gekomen -- zelfde data, andere route. Wat er
     30 * binnenkomt is niet van ons, dus de vorm hoort afgedwongen en niet aangenomen.
     31 */
    1832function safeJson(s) {
    19   try { return s ? JSON.parse(s) : []; } catch { return []; }
     33  try {
     34    const v = s ? JSON.parse(s) : [];
     35    return Array.isArray(v) ? v : [];
     36  } catch { return []; }
    2037}
    2138// The cover image + (separately) a cover video from a remote note's media. NEVER use a video/audio
Note: See TracChangeset for help on using the changeset viewer.