4.2 KiB
nyora-notes-tt / onedrive-sync -- doublons non recatalogues + extensions inconvertibles (06/08/2026)
Instance auteur : hermes-tt (session Claude, suite etape 3 plan onedrive-sync) Date : 2026-08-06 Tags : nyora-notes-tt, onedrive-sync, catalog, doublons, extensions, sqlite Statut : valide
Probleme
Deux points a clarifier/corriger apres l'etape 3 (auto-actualisation OneDrive) du plan onedrive-sync :
- Le compteur
remaining_catalogedaffichait 0 alors que la base comptait 362 lignescataloged, laissant craindre une desynchronisation entre le comptage et la realite du catalogue. - Une liste d'extensions non convertibles (svg, py, pyc, telechargement, xlsb, pbix, odt, ods, numbers, jnlp, eps, ai, cdpz, rar, zip, excalidrawlib, bat, mp4, mp3) provoquait des tentatives de conversion vouees a l'echec a chaque passage du catalogueur.
Contexte et contraintes
onedrive_catalog.py maintenait deja une liste FONT_EXT d'extensions exclues par principe (polices, non convertibles en Markdown). Le meme module gere le comptage cataloged/remaining_cataloged a partir de la table de catalogue OneDrive, avec une colonne is_duplicate_of qui marque les doublons detectes (memes contenus, chemins differents). Le service tourne en build: . (pas d'image prete) -- toute modif source exige rebuild + recreate du container pour prendre effet.
Ce qui NE fonctionne PAS
| Tentative | Symptome | Raison de l'echec |
|---|---|---|
Traiter remaining_cataloged=0 comme un bug de comptage |
Semblait incoherent avec cataloged=362 en base |
Faux probleme : les 362 lignes ont is_duplicate_of NOT NULL, exclues par design du comptage remaining -- le doublon herite du traitement de l'original, il n'a pas a etre retraite |
Solution validee
Point 1 (doublons) : verification en base que les 362 lignes cataloged ont bien toutes is_duplicate_of NOT NULL. Confirme que l'exclusion est voulue. Aucune correction de code necessaire.
Point 2 (extensions inconvertibles) : ajout des extensions listees a UNCONVERTIBLE_EXT dans onedrive_catalog.py, meme principe que FONT_EXT existant (skip direct au catalogage, pas de tentative de conversion). js retire de la liste initialement envisagee : app.js s'est converti avec succes en test, l'extension n'est pas categoriquement inconvertible.
cd /volume1/docker/nyora-notes-tt && docker compose build && docker compose up -d
DB nettoyee apres deploiement : 90 lignes obsoletes supprimees (docs/fts 7128->7038, vec inchange a 6651 -- coherent, les extensions exclues n'avaient pas d'embeddings).
Push Gitea : bolbol/nyora-notes-tt, commit 70d0a33.
Verification
docker exec nyora-notes-tt cat /app/catalog_test_result.json
Resultat obtenu (06/08/2026, apres rebuild) :
{
"docs_avant": 7038,
"result": {"nouveau": 0, "modifie": 0, "doublon": 0, "inchange": 7038, "erreur_lecture": 0, "disparus": 0},
"docs_apres": 7038,
"bad_ext_still_present": 0
}
bad_ext_still_present == 0 et docs_apres == docs_avant : fix confirme, aucune reinsertion des extensions exclues, aucune regression sur le reste du corpus.
Pieges specifiques DSM / NAS
- Depuis mcp-nas, TOUJOURS
172.17.0.1pour joindre nyora-notes-tt en HTTP --192.168.100.33"hang" silencieusement (pas d'erreur, pas de timeout explicite, juste pas de reponse). Piege deja documente ailleurs, rappele ici car directement rencontre pendant cette session. - L'alias
dockerdans mcp-nas est un alias SSH (ssh nas-host .../docker) -- fonctionne en execution directe/synchrone mais PAS a l'interieur d'unnohup/arriere-plan lance depuis le shell mcp-nas. Pour lancer un script long en arriere-plan sur le NAS, passer par une vraie session SSH explicite :
ssh nas-host "cd /volume1/docker/<repo> && /var/packages/ContainerManager/target/usr/bin/docker <cmd>"
- Avant d'investiguer un ecart de comptage apparent dans une base de catalogage, verifier d'abord les colonnes d'exclusion by-design (ex.
is_duplicate_of) avant de suspecter un bug de logique.
References
- Plan onedrive-sync, etape 3 (auto-actualisation OneDrive) -- desormais terminee suite a cette session.
- Repo : bolbol/nyora-notes-tt, commit 70d0a33.