87 lines
4.2 KiB
Markdown
87 lines
4.2 KiB
Markdown
# 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 :
|
|
|
|
1. Le compteur `remaining_cataloged` affichait 0 alors que la base comptait 362 lignes `cataloged`, laissant craindre une desynchronisation entre le comptage et la realite du catalogue.
|
|
2. 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.
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
docker exec nyora-notes-tt cat /app/catalog_test_result.json
|
|
```
|
|
|
|
Resultat obtenu (06/08/2026, apres rebuild) :
|
|
|
|
```json
|
|
{
|
|
"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.1` pour 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 `docker` dans mcp-nas est un alias SSH (`ssh nas-host .../docker`) -- fonctionne en execution directe/synchrone mais PAS a l'interieur d'un `nohup`/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 :
|
|
|
|
```bash
|
|
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.
|