GeoLeaf Core API - v3.0.0
    Preparing search index...

    ⚠️ CE QUE LA TÂCHE 3.13 A RETIRÉ D'ICI, ET CE QU'ELLE A GARDÉ — la mesure a scindé une ligne d'inventaire qui annonçait « chaîne des images locales, 0 appelant, à supprimer ».

    Retiré : getLocalImage(id). Son unique consommateur était addpoi/image-upload.tsgetLocalImageUrl(), lui-même redondant : storeImageLocally écrit AUSSI une data-URL base64 dans la donnée du POI, « so images display in popups/panels without IndexedDB retrieval ». Deux chemins de lecture pour un rôle, dont un jamais pris.

    🛑 Gardé, et le pari a été tenu — mais pas par le sprint annoncé. Le motif du 3.13 était que le PRODUCTEUR (storeImageLocally, réparé à 3.6 : le blob et uploaded: 0) est vivant, et que retirer ses lecteurs ferait deux dégâts :

    1. storeImageLocally deviendrait write-only — des octets écrits que plus rien ne pourrait relire, soit un compteur C2 ouvert à la place d'un C1 ;
    2. le store local_images n'aurait plus aucune purge, alors qu'un écrivain vivant l'alimente. C'est la même erreur que retirer le pré-contrôle de quota parce que sa coquille était morte, et sur un appareil de terrain le quota décide de tout.

    ⚠️ CE BLOC A DIT « les quatre n'ont pas d'appelant de production » et « les quatre sont RÉSERVÉS AU SPRINT 4 (4.5), avec addpoi/image-upload.tsretryPendingUploads() » JUSQU'AU 08/08/2026 — trois énoncés, aucun encore vrai. ① Le Sprint 4 s'est clos le 05/08 sans eux : 4.5 n'a jamais câblé cette chaîne. ② C'est le Sprint 5 qui l'a rendue vivante, sous un autre nom et dans un autre paquet — editor/persistence/image-store.tsretryPendingImages(), armé par initImageUpload(). ③ addpoi n'existe plus (fusionné dans editor, Sprint 5).

    État mesuré le 08/08/2026 — et c'est là que le dégât n° 2 s'était réalisé par l'autre bout :

    Membre Atteignable par
    getPendingImages · updateImageUploadStatus editor (retryPendingImages), câblés
    deleteLocalImage relayé sur GeoLeaf.Storage.DBsurface publique, pas du mort
    cleanUploadedImages 0 appelant, 0 relais, 0 exposition jusqu'au 08/08 — la purge existait et personne ne pouvait l'appeler (B-190)

    Le relais manquant est posé, et retryPendingImages appelle la purge après chaque acquittement. Le pari du 3.13 tient donc — mais il a fallu trois clôtures de sprint pour que quelqu'un vérifie qu'il tenait.

    interface ImagesDBInstance {
        _db: IDBDatabase | null;
        init(db: IDBDatabase): ImagesDBInstance;
        _ensureInitialized(): void;
        storeImageLocally(imageData: LocalImageData): Promise<void>;
        getPendingImages(): Promise<LocalImageRecord[]>;
        updateImageUploadStatus(
            id: string,
            status: ImageUploadStatus,
        ): Promise<void>;
        deleteLocalImage(id: string): Promise<void>;
        cleanUploadedImages(): Promise<number>;
        getImageStats(): Promise<ImageStats>;
    }
    Index

    Properties

    _db: IDBDatabase | null

    Methods