- index: ajout de managed_tasks.json (clientUuid → [infohash])
· trackManagedHash() appelé dans dispatchDownload après add() réussi
· untrackManagedHash() appelé dans dispatchRemove après remove() réussi
· clearManagedHashes() appelé dans removeClient
· dispatchList filtre par les hashes suivis pour les drivers avec
filterByManagedHashes: true (clients sans catégories natives)
- TorrentClientDefinition: nouveau champ filterByManagedHashes (optionnel)
- synology-ds: filterByManagedHashes: true — la liste ne retourne que
les torrents ajoutés via FanKarr
- synology-ds add(): snapshot avant/après création pour capturer le dbid_X
et peupler _hashToSynoId immédiatement (sans attendre le prochain list)
- list(): filtre les tâches par detail.destination === savePath (Synology
n'ayant pas de labels/catégories, c'est le seul moyen de n'afficher que
les torrents FanKarr) ; sans savePath configuré, tous les torrents sont
retournés comme avant
- add(): retour à la requête GET (comme l'ancien driver) — le POST avec
destination dans le body ne fonctionnait pas correctement sur certains
DSM, alors que les paramètres en query string fonctionnaient
- synology-ds: ajout cache _hashToSynoId (hash BT → dbid_X) peuplé dans
list(), utilisé dans remove() et getFiles() pour retrouver la tâche
même quand detail.hash et detail.uri sont vides dans la réponse DSM
- index: contrôle du retour de dispatchRemove et log d'erreur explicite
si la suppression échoue, au lieu de toujours logger "supprimé"
- Supprime le driver AllDebrid et son enregistrement
- Synology : extrait le vrai hash BT depuis additional.detail.hash
- Synology : ajoute les statuts finishing/extracting → seeding
- Synology : fix remove() pour matcher par hash BT ou ID Synology
- Synology : add() passe en POST form-encoded
feat: ajout de synology downloader comme client
fix: augmentation du header size 8kb -> 32kb
feat: Ajout des mapping sur les clients
feat: auto update des fichiers nfo