Commit Graph
42 Commits
Author SHA1 Message Date
MasutaYunikon 1f50f9ae72 fix: on ne vois plus le telechargement de fichier qui ont une priorité basse (ne pas télécharger) 2026-05-07 15:07:17 +02:00
MasutaYunikon 105cc05bdf fix: le bouton rename n'apparait plus quand on utilise differents torrents entre les épisode 2026-05-07 01:18:50 +02:00
MasutaYunikon 35655d7784 fix: progression 2026-05-06 23:13:03 +02:00
MasutaYunikon 2a77a38655 feat(torrent-clients): ajout du driver Real-Debrid
feat(organize): vérification de complétion par fichier avant d'importer
- Récupération de la progression par fichier (index + name + progress 0–1) dans qBittorrent, Transmission et rTorrent
- Ajout de getFiles() sur le driver qBittorrent et interface TorrentClientDriver
- Le worker filtre les fichiers incomplets (< 100%) avant move/copy/hardlink

fix(organize): retry EBUSY sur unlink — 5 tentatives × 500 ms (Windows)

fix(organize): suppression des entrées orphelines lors de la migration d'IDs
- Quand l'ancien ID est orphelin et le nouvel ID déjà présent, l'orphelin est supprimé au lieu d'être conservé

fix(qbittorrent): suppression de paused/stopped à l'ajout du torrent
- Le torrent est ajouté normalement pour permettre la récupération immédiate des métadonnées
- Premier poll de qbApplyFilePriority réduit à 100 ms

feat(serie): badges épisodes et chapitres extraits du synopsis
- Regex sur ep.plot pour extraire les plages "Ép. 628–634" et "Ch. 700–706"
- La phrase de couverture est retirée du synopsis affiché
- Badges violet (épisodes) et teal (chapitres) à côté des badges MULTI/VOSTFR

feat(serie): lien wiki dans le header de la série si serie.wiki est défini

fix(serie): header mobile — items-start + aspect-[2/3] sur le poster
2026-05-06 22:20:22 +02:00
MasutaYunikon 83437def32 feat: ajout de la prise en charges des codex 2026-05-06 00:22:07 +02:00
MasutaYunikon 39d2f996ae fix: spinner infinie apres supression 2026-04-29 20:15:01 +02:00
MasutaYunikon f6ef818e60 fix(UI/UX): chevron pour ouvrir la description, bouton desimporter de la serie passer à supprimer et affichage de toute la description de la serie lors d'un clique 2026-04-29 18:59:01 +02:00
MasutaYunikon 9834023522 fix: qbitorrent 2026-04-29 18:29:18 +02:00
MasutaYunikon 3fb4119c79 feat: désimport saison/série avec modal, refonte UX épisodes, fix sélection fichier qBit/Transmission
- SerieSeasonCard: remplace le menu burger épisode par corbeille directe, badge Rename cliquable,
  bouton synopsis (ℹ) avec affichage inline, bouton téléchargement masqué si épisode importé
- SerieSeasonCard: modal désimport épisode (avec checkbox suppression fichier) via Teleport
- SerieSeasonCard: bouton corbeille saison + modal désimport saison (avec checkbox suppression fichier)
- SerieView: bouton Désimporter série → modal (remplace dropdown), gère l'emit unimportSeason depuis card
- import.ts: nouvel endpoint DELETE /organized/:serieId/seasons/:seasonId
- qbittorrent: fallback hash pour .torrent sans magnet (snapshot → poll → diff → priorité fichier)
- transmission: fix sélection fichier (trApplyFilePriority async, fileStats→files, files-wanted via torrent-set)
2026-04-28 20:03:47 +02:00
MasutaYunikon a7c90b63df fix: le folder picker affiche tous les disques depuis le bouton homes sous windows 2026-04-26 23:49:28 +02:00
MasutaYunikon 43de4f8071 feat: update readme 2026-04-22 15:30:33 +02:00
MasutaYunikon e685fade30 fix: coherence des badges 2026-04-22 14:04:53 +02:00
MasutaYunikon 77cc97f0f0 fix: utilisation de svg pour les drapeau 2026-04-22 14:02:03 +02:00
MasutaYunikon 39738c0c96 fix: changer les badge de language pour un truc plus explicite 2026-04-22 14:00:05 +02:00
MasutaYunikon 16bb46fb55 feat: ajout du langage 2026-04-22 13:56:50 +02:00
MasutaYunikon 12511eb39f fix: dropdown overflow 2026-04-22 13:42:12 +02:00
MasutaYunikon c594af7f43 fix: dropdown overflow 2026-04-22 13:20:06 +02:00
MasutaYunikon 10a9b75685 fix: utilisation des noms de dossier du torrent pour l'affichage plutot que le nom sur nyaa (notament pour gto kai qui a plusieurs integral et qui est plus explicite qque le nom nyaa) 2026-04-22 13:13:15 +02:00
MasutaYunikon 806121f95c fix: bouton tous telecharger a la place de integral, multi torrents sur le bouton saisons et tous telecharger 2026-04-22 11:07:21 +02:00
MasutaYunikon 9ee4face73 fix: les fichiers non selectionner sur un torrent ne sont plus en "attente d'import" sur l'affichage de la serie 2026-04-21 23:51:58 +02:00
MasutaYunikon f1c40865da fix: les fichiers non selectionner sur un torrent ne produise plus d'erreurs d'import 2026-04-21 23:49:38 +02:00
MasutaYunikon 245e9e38aa fix: affichage de la bar de progression et confirmation sur le bouton pour les episodes en doublons et dropdown 2026-04-21 23:24:27 +02:00
MasutaYunikon a423c08559 fix: affichage de la bar de progression et confirmation sur le bouton pour les episodes en doublons 2026-04-21 23:20:05 +02:00
MasutaYunikon 497ad7bdc8 fix: le dropdown apparait sur le bouton de telechargement et pas les 3 petit points pour les multiples 2026-04-21 23:13:23 +02:00
MasutaYunikon f897116e30 feat: ajout d'une variable d'environment pour augmenter la durée du token ou le desactiver avec "never" ou 0
feat: ajout du .env dans les dossiers du binaires pour pouvoir changer leur valeurs

fix: utilisation du fichier torrent avec le magnet pour les bug de metadonnées

fix: prise en charge de multiple torrent sur les telechargement d'episodes
2026-04-21 23:08:41 +02:00
MasutaYunikon 7e53bab0fc feat: utilisation des bar de telechargement par fichier dans le torrent plutot que celui du torrent 2026-04-21 15:53:39 +02:00
MasutaYunikon ed66c2c0a2 fix: bouton global de serie 2026-04-21 10:58:29 +02:00
MasutaYunikon e6ca1d2a36 fix: n'affiche plus tous les épisodes en train de se telecharger si seulement un fichier est selectionner 2026-04-21 10:42:02 +02:00
MasutaYunikon c9534c2011 fix: n'affiche plus tous les épisodes en train de se telecharger si seulement un fichier est selectionner 2026-04-21 10:37:40 +02:00
MasutaYunikon 247694ab3e feat: ajout des telechargments par episodes / saisons 2026-04-21 10:17:53 +02:00
MasutaYunikon f00556ab51 fix: le badge de rename utilise la meme logique que coté serveur et n'apparait plus sur les vue series si il ne devrais pas 2026-04-16 09:21:26 +02:00
MasutaYunikon bf2274b761 refactor: refactor sur server et les pages qui commencer à faire beaucoup trop de ligne 2026-04-15 09:11:33 +02:00
MasutaYunikon f96565a301 fix: la version dev se met uniquement en dev 2026-04-11 13:34:04 +02:00
MasutaYunikon 73b401f3e7 fix: l'import a le meme comportement que radarr/sonarr en ouvrant l'import dans le dossier de la serie attendu directement 2026-04-11 12:40:28 +02:00
MasutaYunikon f7c21f5fd1 feat: edit d'episodes importer dans le menu d'importation 2026-04-11 12:33:25 +02:00
MasutaYunikon c94ff7da3f feat: ajout d'une "notification" dans la navbar si une nouvelle versions est disponible
feat: activation de l'import manuel
2026-04-10 18:05:47 +02:00
MasutaYunikon a582991c15 feat: manual import 2026-04-09 22:36:15 +02:00
MasutaYunikon 482743bf3a fix: typo 2026-04-08 15:13:35 +02:00
ElPouki f92b3c5fb9 Fix : Saison 00 et double slash chemin
Organize worker :  Traiter la saison 0 comme "Spéciaux" au lieu de "Saison 0".

FolderPicker : Ajouter un bouton "accueil" pour naviguer vers la racine, nettoyer le chemin sélectionné en supprimant les slashes de fin (avec un repli sur "/" pour la racine), et fiabiliser joinPath pour éviter les doubles slashes lorsque la base se termine par un slash
2026-04-08 14:12:01 +02:00
MasutaYunikon 9780aee40d feat!: refonte complète du frontend et amélioration des logs serveur
BREAKING CHANGE: nouvelle architecture frontend avec layout sidebar, système de thèmes et routes restructurées

### Frontend
- nouveau layout global `AppLayout.vue` avec sidebar de navigation inspirée Radarr/Sonarr
- sidebar configurable via un objet `NavItem[]` avec support parents/enfants cliquables
- 3 thèmes CSS (Indigo Électrique, Crimson Night, Teal Froid) persistés via localStorage
- switcher de thème en bas de sidebar avec pastilles colorées
- logo FanKarr cliquable, bouton déconnexion discret dans le header sidebar
- badge animé sur "Activité" affichant le nombre de téléchargements en cours
- migration complète vers Tailwind v4 avec variables CSS `@theme`
- classes utilitaires globales : `btn-primary`, `btn-secondary`, `settings-card`, `settings-input`

### Vues
- `SeriesView` : barre colorée en bas des affiches (vert/bleu/orange), dropdown filtres, boutons taille S/M/L/XL persistés
- `SerieView` : bouton état unique par épisode (↓/⟳/✓/✗), badges simplifiés, toast via `useToast` global
- `ActivityView` : onglets pill, stats, toggle "masquer importés", polling silencieux
- `DashboardView` : stats catalogue/importées/en cours/erreurs, torrents actifs, derniers imports
- `SettingsView` découpée en 3 vues indépendantes : `DownloadClientView`, `MediaManagementView`, `CatalogueView`
- `LogsView` déplacée dans `src/views/settings/`
- `AuthView` : migré au système de thème

### Composants
- `SidebarNavItem` : support badge, chevron masqué si badge présent
- `SettingsToggle` : composant réutilisable `v-model`
- `FolderPicker` : migré au thème, `Teleport` intégré
- `ToastContainer` : déplacé en bas droite, groupement des toasts similaires avec badge count

### Router
- `AppLayout` comme layout racine pour toutes les routes protégées
- `/auth` reste hors layout
- redirections `/` → `/series`, `/downloads` → `/activity`
- `SettingsLayout` avec titre dynamique par route
- scroll géré sur `<main id="main-scroll">` dans `AppLayout`

### Stores & composables
- nouveau store `downloads` partagé pour le badge sidebar
- `usePosterSize` : taille des affiches persistée en localStorage
- `useToast` : groupement des toasts du même type, timer reset au lieu d'empilement

### Serveur
- logs structurés via `logger` dans `auth.ts`, `organize.ts`, `organize-worker.ts`, `torrent-clients/index.ts`, `qbittorrent.ts`, `index.ts`
- suppression des `console.log/error/warn` en faveur de `logger.info/warn/error/debug`
- messages worker routés vers `logger` via `organize.ts`
- logs `debug` pour les événements verbeux (healthcheck, skip, worker terminé)
2026-03-27 07:02:31 +01:00
MasutaYunikon 693f8a96ae feat: UX improvements, folder picker, download state & NFO support
## Settings
- Folder picker pour les paths (navigation dossier côté serveur via GET /api/browse)
- Paths vides par défaut, démarrage à / dans le picker
- Picker accessible même sous Docker (volumes montés accessibles)
- Bouton "Analyser bibliothèque" pour relancer scanMediaPath manuellement (POST /api/scan)
- Toggle NFO support (téléchargement dossier GitLab Fankai Pack à l'organisation)
- nfoSupport ajouté dans Settings interface + defaults

## Catalogue
- Logo "Fankarr" cliquable → retour accueil
- Filtres séparés en 2 groupes : état série (orange) | état téléchargement (bleu)
- Groupe 1 : Toutes / Disponibles / Sans torrent
- Groupe 2 : DL complet / DL partiel
- Tooltip badge torrents → "X torrents téléchargeables"

## Page Série
- Anti-spam boutons download : Set au lieu de string, bouton bloqué après envoi
- Boutons bloqués si torrent déjà dans qBittorrent (cross-session via poll /api/downloads)
- Boutons bloqués si épisode/saison déjà organisé dans la bibliothèque
- Barre de progression sous épisode / saison / intégrale (poll 5s)
- Badge "✓ téléchargé" à 100% à la place de la barre
- Badge "dispo" en bleu, "✓ téléchargé" inline à côté de "dispo"

## Page Téléchargements
- Onglets EN COURS / TERMINÉS (défaut : EN COURS)
- EN COURS : downloading + paused + checking + error
- TERMINÉS : seeding uniquement
- Toggle "Masquer organisés" dans l'onglet TERMINÉS
- Message vide adapté au contexte

## Organizer
- seasonFolder : Saison N sans padding (pour matcher GitLab)
- Map SERIE_TITLE_GITLAB_MAP : 9 corrections titres API → GitLab
- downloadGitlabFolder : liste récursive + téléchargement NFO/images depuis fankai_pack
- Appelé au début de organizeTorrent si nfoSupport activé
- Paths vides par défaut dans readSettings du worker

## Backend
- POST /api/scan : déclenche scanMediaPath manuellement
- GET /api/browse?path= : liste les sous-dossiers d'un chemin
- dispatchList : utilise client.config.category en priorité sur la catégorie globale
- Catégorie configurable par client torrent (fix torrents non affichés page downloads)
2026-03-12 22:41:46 +01:00
MasutaYunikon eaf01cfc59 feat: initial project 2026-03-10 22:36:34 +01:00