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