109 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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:
 | |
| ```typescript
 | |
| 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`
 | |
| ```json
 | |
| "path": "groupeC"  // ❌
 | |
| ```
 | |
| 
 | |
| **Fix**:
 | |
| ```json
 | |
| "path": "groupeC.md"  // ✅
 | |
| ```
 | |
| 
 | |
| ## 🧪 Pour tester
 | |
| 
 | |
| ```bash
 | |
| # 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:
 | |
| ```json
 | |
| "title": "folder/test2.md"  // ❌ Path complet
 | |
| ```
 | |
| 
 | |
| **Solution**: Supprimer le champ `title` pour utiliser le basename automatique:
 | |
| ```json
 | |
| {
 | |
|   "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.
 |