ObsiViewer/docs/BOOKMARKS/CORRECTIONS_SUMMARY.md

2.4 KiB

Résumé des corrections - Bookmarks

🔍 Tests échoués (3/18)

  • Test 3: Drag vers la racine
  • Test 4: Drag entre groupes
  • Test 5: Détection de cycles

Corrections appliquées

1. Logique de déplacement corrigée

Fichier: src/core/bookmarks/bookmarks.utils.ts

Problème: L'index n'était pas ajusté lors du réordonnancement dans le même conteneur.

Fix: Ajout de la logique d'ajustement d'index:

if (oldParentCtime === newParentCtime && oldIndex < newIndex) {
  adjustedIndex = newIndex - 1;
}

2. Logs de debug ajoutés

Fichiers:

  • src/components/bookmarks-panel/bookmarks-panel.component.ts
  • src/components/bookmark-item/bookmark-item.component.ts

Utilité: Permet de voir exactement ce qui se passe lors du drag & drop dans la console.

3. JSON invalide corrigé

Fichier: vault/.obsidian/bookmarks.json

Problème: Path sans extension .md

"path": "groupeC"  // ❌

Fix:

"path": "groupeC.md"  // ✅

🧪 Pour tester

# 1. Rebuild
npm run build

# 2. Relancer le serveur
node server/index.mjs

# 3. Ouvrir http://localhost:3000

# 4. Ouvrir DevTools (F12) - Console

Test 3: Drag vers racine

  1. Créer un groupe avec un bookmark
  2. Drag le bookmark vers "Drop here to move to root"
  3. Observer les logs dans la console
  4. Vérifier que le bookmark est à la racine

Test 4: Drag entre groupes

  1. Créer 2 groupes (A et B)
  2. Ajouter un bookmark dans A
  3. Drag vers B
  4. Observer les logs
  5. Vérifier que le bookmark est dans B

Test 5: Détection de cycles

  1. Créer Groupe A contenant Groupe B
  2. Tenter de drag A dans B
  3. Observer le warning: "Cannot move a parent into its own descendant"
  4. Vérifier que rien n'a changé

📝 Notes importantes

Problème de titre avec path complet

Dans votre JSON ligne 48:

"title": "folder/test2.md"  // ❌ Path complet

Solution: Supprimer le champ title pour utiliser le basename automatique:

{
  "type": "file",
  "path": "folder/test2.md"
  // Pas de title → affichera "test2.md"
}

📊 Résultats attendus

Après corrections:

  • Test 3: PASS
  • Test 4: PASS
  • Test 5: PASS

Total: 15/18 PASS (les 3 tests corrigés + les 12 autres déjà passés)


Consultez docs/BOOKMARKS_FIXES.md pour plus de détails et diagnostics.