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.
 |