Commits
El gestor de mitjans passa per l'auditoria: miniatures, validació real i usabilitat
Auditoria completa de l'apartat de mitjans del panell de Web Base: miniatures webp, validació real del contingut, esborrat en lots i una biblioteca més agradable d'usar. Set tests nous i la v0.1.64 en verd.
Aquesta setmana he posat la lupa a l'apartat de mitjans del panell de Web Base. Era una d'aquelles auditories demanades fa temps que, quan m'hi he posat de debò, han acabat tocant gairebé tot: rendiment, validació, usabilitat i uns quants errors que portaven dies amagats.
Miniatures: el canvi que més es nota
El problema era de llibre: la galeria descarregava l'original de cada imatge, de fins a 2000 píxels, per pintar targetes de 180. Ara es genera una miniatura webp de 480px com a màxim en el moment de pujar el fitxer, i per als històrics es crea a demanda amb un endpoint públic (/api/media/{id}/thumb) que serveix amb caché immutable. La migració afegeix la columna thumb_filename.
Validar el contingut de veritat
Fins ara n'hi havia prou amb l'extensió: un binari qualsevol renombrat a .jpg moria amb un 500 poc explicatiu. Ara es comprova la signatura real del contingut (PDF, MP4, WebM, MP3, WAV) i les imatges ilegibles es rebutgen amb un 415 que diu les coses clares.
Errors que tallaven el flux
També he tret de mig: el canvi de nom d'una carpeta a buit, l'esborrat d'un usuari amb fitxers pujats (la clau forana uploaded_by ara fa SET NULL en lloc de petar), la purga per TTL dels jobs d'imatge amb IA i, sobretot, l'esborrat en lots: abans feia un commit per fitxer, ara un de sol per al lot sencer.
Una biblioteca més agradable d'usar
A la part d'usabilitat hi ha cercador per nom i per alt, filtre per tipus, pes total de la biblioteca, pujada amb arrossegar i deixar anar amb progrés per fitxer (un error ja no avorta la cua), previsualització de vídeo i àudio amb controls, tancament amb Escape, copiar URL amb confirmació, distintiu per als fitxers sense alt, icones per tipus i una selecció que ja no creua carpetes. I el filtre d'acceptació del formulari ara només promet el que realment s'accepta: abans anunciava .mov i .ogg que rebotaven.
Versió i deute pendent
Set tests nous, suite en 281, i la v0.1.64 en verd. Al catàleg encara hi figura la 0.1.63 — la 0.1.64 espera el seu --publish-only. Queda deute documentat: el llistat de mitjans encara no pagina, l'alt generat per IA és síncron i triga minuts, i falta un media picker dins de l'editor. Tot apuntat a la tasca per si toca tornar-hi.