Il faut dormir les garsJ'ai encore perdu quelques heures de sommeil cette semaine mais ça valait le coup, voici qu'arrive la nouvelle release v1.15.0 (edit: dispo dans 1/2h comme d'hab j'écris mon long message pendant le temps de release héhé)!
Elle est plutôt musclée celle-ci, elle contient:
Hâte d'entendre vos retours
- un correctif pour les lectures buguées que tu avais sur tes .ts @morgyann
- un fix sur les exclusion manuelles de médias: on pouvait masquer un épisode de série mais la page saison continuait de l'afficher, en accédant à l'épisode on tombait sur une erreur car plus accessible. Donc maintenant on masque bien l'épisode des saisons, on masque bien les saisons des séries (en cas de masquage de saison)
- une amélioration sur le chargement des profils partagés, avant ça demandait une requête vers le serveur, maintenant c'est mis en cache donc les profils partagés s'afficheront instantanément comme les utilisateurs
- l'ajout de la notion de langue "original" sur les pistes audio, ca permet de facilement se repérer si on veut regarder un média en VO et donc on a aussi moyen dans les préférences de sélection de pistes audio de choisir "langue originale" par défaut au besoin
- l'ajout d'une fonctionnalité de mémoire de sélection des pistes, si sur une série vos préférences vous mettes sur audio français + sous-titres français forcés mais que finalement vous préférez l'anglais spécifiquement pour cette série alors dès lors que vous changerez la piste lors de la lecture, ce sera mémorisé pour toute la série pour tous vos prochains visionnages! Cette option est désactivable dans les préférences vidéo
- un correctif sur le bug du carousel "Nouveautés dans xxx" signalé par @morgyann (à toi de jouer pour retenter et me confirmer que c'est corrigé cette fois!)
- un correctif sur l'affichage des noms de pistes audio, sur certains médias on avait "und" (undefined) maintenant on déduit la langue de la piste de son nom quand les métadonnées fichiers sont absentes
- un correctif sur la lecture transcodée sur le client windows
- une petite amélioration graphique sur la custom nav en mode minibar qui au premier affichage faisait un petit saut le temps de se charger, maintenant c'est mis en cache localement et chargé instantanément!
- la recherche ignore maintenant les accents, j'arrivais pas à trouver mon cinquième élément donc maintenant c'est bon multipass
- BEAUCOUP d'améliorations graphiques UX/UI:
- les modifications sur le style hover/focus des cartes média que vous m'avez conseillé de faire @morgyann @Titux
- toutes les pages settings et admin ont été revues pour êtres plus agréables à naviguer, avec plus d'informations, plus de guidage. Elles ont aussi subit un petit lifting pour réaligner plein de trucs que ne plaisaient pas graphiquement
- la page admin dashboard a par exemple ses cartes "Flux actifs" qui ont été complètement revues
- la plupart des cartes avec actions ont également été revues pour avoir en plus des titres plutôt que seulement de icones d'actions qui souvent semaient le doute
- gros gros ajout sur la fédération (je suis quasi certain que vous l'utilisez pas mais ca reste un gros milestone), quand vous partagez vos médias à un autre serveur, vous pouvez maintenant choisir si c'est lui ou vous qui aura la charge de faire le calcul (si transcodage ou transmuxage il y a). Ce qui veut dire que partager son serveur n'est plus synonyme de taxe CPU/GPU mais juste de bande passante
![]()

Difficile de trouver du temps avec vie pro et perso et j'avais très envie de terminer les features que j'avais en coursIl faut dormir les gars![]()
J'ai fait cette modification parce que j'ai un ami qui m'a remonté qu'il s'était trompé entre le scan et la reidentification complète, ce qui a nécessité de ré-identifier manuellement certains médiasPar contre, je viens de voir un changement qui n'arrange pas mon utilisation et me rajoute un clique.
Ça c'est probablement un bugJe viens de remarquer autre chose que je n'avais pas vu. Il y a une raison du pourquoi les films n'apparaissent pas vu (coche verte en haut à droite de la cover) quand on est dans une collection dynamique ?
On est tous pareils, ma compagne n'arrête pas de me dire, dors pour ton bien et celui de notre familleDifficile de trouver du temps avec vie pro et perso et j'avais très envie de terminer les features que j'avais en coursmais j'avoue que c'est pas raisonnable
![]()
Manque de place et j'avais un disque de 4To qui n'était pas exploité. Les fichiers sur ce disque n'ont pas besoin de sauvegarde.J'ai fait cette modification parce que j'ai un ami qui m'a remonté qu'il s'était trompé entre le scan et la reidentification complète, ce qui a nécessité de ré-identifier manuellement certains médiasdonc maintenant chaque icône pas suffisamment explicite a son petit libellé !
Maintenant, il y a quand même la place pour remettre le scan en accès rapide et ce serait assez logique puisque c'est une action qu'on effectue assez régulièrement et sans impact ! Je vais regarder ça
Ceci dit ton cas est intriguant, pourquoi avoir mis des médias sur ton pc et pas tout sur ton nas ? Manque de place ? Ça veut dire que tes utilisateurs externes peuvent pas exploiter cette librairie (j'imagine que du coup tu la partages pas)?
Cool, cela sera gérer alorsÇa c'est probablement un bug![]()
Hello @bret, merci d'avoir installé K7! Est-ce qu'à tout hasard tu as des informations supplémentaires comme des logs en erreur côté container K7? Je suis surtout étonné que ça ait pu fonctionner une fois et pas la fois d'aprèsBonjour,
je viens d'installer K7 en docker sur synology , tout est bon à ce niveau , par contre j'ai un souci avec l' APK sous android , sur Samsung A54 et tablette Tab Galaxy S7 et ne fonctionne plus sur ma Nvidia Shield pro ( cela marchait bien hier) , je n'ai pas de vignette de film , je ne comprends pas le souci .......
j'ai pas trouvé l'endroit pour le faire !Sinon est-ce que tu as activé le rafraichissement automatique des métadonnées dans ta/tes librairie(s)? Car comme piste je me dis que c'est peut-être un rafraichissement auto qui a pu échouer et effacer tes images mais sans logs difficile de t'en dire plus
2026-10-11T15:40:17.405115717Z [15:40:17 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant authorization_code redirectHost - locationHost -
2026-10-11T15:40:17.546801541Z [15:40:17 INF] Native auth authenticate-ready device 2ac97cf1-ba2a-4620-a736-f4f89eb7184b: access=yes refresh=yes
2026-10-11T15:40:17.779545752Z [15:40:17 INF] Native auth persist-ok device 2ac97cf1-ba2a-4620-a736-f4f89eb7184b: -
2026-10-11T15:40:18.061072564Z [15:40:18 INF] Native auth login-complete device 2ac97cf1-ba2a-4620-a736-f4f89eb7184b: authenticated
2026-10-11T16:03:59.170259926Z [16:03:59 INF] Queueing periodic scan for library 443ab2a0-7c28-4f13-87d8-ed3b41f23787 (films HD)
2026-10-11T16:03:59.244225918Z [16:03:59 INF] Starting indexing files of library 443ab2a0-7c28-4f13-87d8-ed3b41f23787.
2026-10-11T16:03:59.245158609Z [16:03:59 INF] Scan finished for library 443ab2a0-7c28-4f13-87d8-ed3b41f23787: 2 media files, 0 inaccessible paths.
2026-10-11T16:03:59.252716825Z [16:03:59 INF] Found 2 unchanged, 0 added, 0 modified, 0 removed, 0 skipped, 0 renamed files. 0 files to be identified. 0 inaccessible directories.
2026-10-11T16:03:59.298057431Z [16:03:59 INF] Task 01a12bb4-ea4f-75cc-8872-32c02b018efc (IndexLibraryFilesCommand) completed in 59ms (attempt 1/1, lane LibraryScan)
2026-10-11T16:05:55.209299638Z [16:05:55 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T16:05:57.036396296Z [16:05:57 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:05:58.195486170Z [16:05:58 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:05:58.767204132Z [16:05:58 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:05:59.379337168Z [16:05:59 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:02.650212531Z [16:06:02 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:03.991612521Z [16:06:03 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:06.038788787Z [16:06:06 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:06.785472976Z [16:06:06 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:08.597694033Z [16:06:08 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:09.616316664Z [16:06:09 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:06:10.410578613Z [16:06:10 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:07:52.066354051Z [16:07:52 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:09:52.078135214Z [16:09:52 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:22:55.865837961Z [16:22:55 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:22:57.571625994Z [16:22:57 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:22:58.283723777Z [16:22:58 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:23:00.259223900Z [16:23:00 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:23:01.050737934Z [16:23:01 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:23:02.887340333Z [16:23:02 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T16:23:03.706916753Z [16:23:03 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:10:10.465396708Z [17:10:10 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T17:30:19.501297065Z [17:30:19 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T17:30:19.501739957Z [17:30:19 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T17:30:19.540708657Z [17:30:19 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T17:30:19.581660541Z [17:30:19 INF] AuthenticationScheme: ApiKey was challenged.
2026-10-11T17:30:19.621199096Z [17:30:19 INF] Native auth login-start device 5d33cd2c-711e-41ae-892d-b343cbab19bc: 192.168.1.60
2026-10-11T17:30:19.861455073Z [17:30:19 INF] Native auth login-start device 5d33cd2c-711e-41ae-892d-b343cbab19bc: 192.168.1.60
2026-10-11T17:30:19.940550075Z [17:30:19 INF] Native auth challenge-ready device 5d33cd2c-711e-41ae-892d-b343cbab19bc: -
2026-10-11T17:30:20.022451517Z [17:30:20 INF] Native auth challenge-ready device 5d33cd2c-711e-41ae-892d-b343cbab19bc: -
2026-10-11T17:30:20.196103520Z [17:30:20 INF] Auth GET /connect/authorize 302 cookie True returnUrl empty location welcome client k7-native grant - redirectHost - locationHost 192.168.1.60:7080
2026-10-11T17:30:20.213990839Z [17:30:20 INF] Auth GET /connect/authorize 302 cookie True returnUrl empty location welcome client k7-native grant - redirectHost - locationHost 192.168.1.60:7080
2026-10-11T17:30:20.310274264Z [17:30:20 INF] Auth GET /welcome 302 cookie False returnUrl local-authorize location sign-in client - grant - redirectHost - locationHost -
2026-10-11T17:30:20.315877102Z [17:30:20 INF] Auth GET /welcome 302 cookie False returnUrl local-authorize location sign-in client - grant - redirectHost - locationHost -
2026-10-11T17:30:20.328551830Z [17:30:20 INF] Auth GET /sign-in 200 cookie False returnUrl local-authorize location empty client - grant - redirectHost - locationHost -
2026-10-11T17:30:20.342496461Z [17:30:20 INF] Auth GET /sign-in 200 cookie False returnUrl local-authorize location empty client - grant - redirectHost - locationHost -
2026-10-11T17:30:25.715329523Z [17:30:25 INF] User logged in. ReturnUrlKind local-authorize
2026-10-11T17:30:25.717458552Z [17:30:25 INF] Auth POST /sign-in 302 cookie True returnUrl local-authorize location local-authorize client - grant - redirectHost - locationHost -
2026-10-11T17:30:25.792270576Z [17:30:25 INF] Auth GET /connect/authorize 302 cookie True returnUrl empty location auth-complete client k7-native grant - redirectHost - locationHost -
2026-10-11T17:30:25.813388655Z [17:30:25 INF] Auth GET /auth/complete 200 cookie True returnUrl empty location empty client - grant - redirectHost - locationHost -
2026-10-11T17:30:28.389515377Z [17:30:28 INF] Native auth protocol device 5d33cd2c-711e-41ae-892d-b343cbab19bc: k7://callback/login
2026-10-11T17:30:28.402646033Z [17:30:28 INF] Native auth activated device 5d33cd2c-711e-41ae-892d-b343cbab19bc: Launch
2026-10-11T17:30:28.610165590Z [17:30:28 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant authorization_code redirectHost - locationHost -
2026-10-11T17:30:28.679144396Z [17:30:28 INF] Native auth authenticate-ready device 5d33cd2c-711e-41ae-892d-b343cbab19bc: access=yes refresh=yes
2026-10-11T17:30:28.709288036Z [17:30:28 INF] Native auth persist-ok device 5d33cd2c-711e-41ae-892d-b343cbab19bc: -
2026-10-11T17:30:28.799151698Z [17:30:28 INF] Native auth login-complete device 5d33cd2c-711e-41ae-892d-b343cbab19bc: authenticated
2026-10-11T17:32:37.715891196Z [17:32:37 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:32:38.701836304Z [17:32:38 ERR] Client error from anonymous (device 5d33cd2c-711e-41ae-892d-b343cbab19bc): JSException: node.removeAttribute is not a function
2026-10-11T17:32:38.702022263Z TypeError: node.removeAttribute is not a function
2026-10-11T17:32:38.702216305Z at Object.clearLocalScrub (https://0.0.0.1/_content/K7.Clients.Shared.UI/js/navigation.js:5055:18)
2026-10-11T17:32:38.702394934Z at Object.dispose (https://0.0.0.1/_content/K7.Clients.Shared.UI/js/navigation.js:5011:20)
2026-10-11T17:32:38.702444983Z at w.processJSCall (https://0.0.0.1/_framework/blazor.webview.js:1:4443)
2026-10-11T17:32:38.702492322Z at w.beginInvokeJSFromDotNet (https://0.0.0.1/_framework/blazor.webview.js:1:4120)
2026-10-11T17:32:38.702538095Z at https://0.0.0.1/_framework/blazor.webview.js:1:50082
2026-10-11T17:32:38.702591244Z at EventTarget.<anonymous> (<anonymous>:7:62)
2026-10-11T17:32:38.702635533Z at EmbeddedBrowserWebView.<anonymous> (<anonymous>:1:30152) | System.Private.CoreLib | at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2026-10-11T17:39:00.433115532Z [17:39:00 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:02.121984055Z [17:39:02 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:02.925271017Z [17:39:02 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:05.144504661Z [17:39:05 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:05.898238441Z [17:39:05 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:07.702544683Z [17:39:07 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:08.459172359Z [17:39:08 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:10.286401005Z [17:39:10 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:11.072672596Z [17:39:11 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:39:11.801000134Z [17:39:11 INF] Auth POST /connect/token 200 cookie False returnUrl empty location empty client k7-native grant refresh_token redirectHost - locationHost -
2026-10-11T17:50:01.407938736Z [17:50:01 INF] Application is shutting down...
2026-10-11T17:50:01.440209941Z [17:50:01 INF] Transcode job cleanup service stopped
2026-10-11T17:50:01.443660903Z [17:50:01 INF] SyncPlay stale group cleanup service stopped
2026-10-11T17:50:01.450903694Z [17:50:01 INF] Stopped realtime monitor for library 443ab2a0-7c28-4f13-87d8-ed3b41f23787
2026-10-11T17:50:01.451105127Z [17:50:01 INF] LibraryFolderWatcherService stopped
2026-10-11T17:50:01.452787066Z [17:50:01 INF] LibraryScanSchedulerService stopped
2026-10-11T17:50:01.454602212Z [17:50:01 INF] PeerSyncSchedulerService stopped
2026-10-11T17:50:01.455321170Z [17:50:01 INF] MetadataRefreshSchedulerService stopped
2026-10-11T17:50:01.459453793Z [17:50:01 INF] BackgroundTasksProcessingService stopped
2026-10-11T17:50:19.363366216Z Starting with UID: 1026, GID: 100
2026-10-11T17:50:28.974082845Z [17:50:28 WRN] The property 'VideoFileMetadata.Chapters' is a collection or enumeration type with a value converter but with no value comparer. Set a value comparer to ensure the collection/enumeration elements are compared correctly.
2026-10-11T17:50:29.321149864Z [17:50:29 WRN] The 'FederatedPlaybackExecution' property 'FederatedPlaybackExecution' on entity type 'PeerServer' is configured with a database-generated default, but has no configured sentinel value. The database-generated default will always be used for inserts when the property has the value 'Origin', since this is the CLR default for the 'FederatedPlaybackExecution' type. Consider using a nullable type, using a nullable backing field, or setting the sentinel value for the property to ensure the database default is used when, and only when, appropriate. See https://aka.ms/efcore-docs-default-values for more information.
2026-10-11T17:50:37.666844093Z [17:50:37 INF] BackgroundTaskTypeRegistry initialized with 380 allowed request types
2026-10-11T17:50:37.983497619Z [17:50:37 INF] MetadataRefreshSchedulerService started
2026-10-11T17:50:38.057329174Z [17:50:38 INF] PeerSyncSchedulerService started
2026-10-11T17:50:38.224752926Z [17:50:38 INF] BackgroundTasksProcessingService starting with 3 workers
2026-10-11T17:50:38.259486354Z [17:50:38 INF] Transcode job cleanup service started
2026-10-11T17:50:38.264930420Z [17:50:38 INF] SyncPlay stale group cleanup service started
2026-10-11T17:50:38.271697858Z [17:50:38 INF] LibraryFolderWatcherService started
2026-10-11T17:50:38.328106045Z [17:50:38 INF] LibraryScanSchedulerService started
2026-10-11T17:50:38.385327982Z [17:50:38 INF] Started realtime monitor for library 443ab2a0-7c28-4f13-87d8-ed3b41f23787 at /films
2026-10-11T17:50:45.283515513Z [17:50:45 INF] Now listening on: http://[::]:7080
2026-10-11T17:50:45.285481966Z [17:50:45 INF] Application started. Press Ctrl+C to shut down.
2026-10-11T17:50:45.285732531Z [17:50:45 INF] Hosting environment: Production
2026-10-11T17:50:45.285862683Z [17:50:45 INF] Content root path: /k7

Salut,et ne fonctionne plus sur ma Nvidia Shield pro




oui , tout à fait ! je viens de me connecter via ndd et cela fonctionne sous Android , surement un probléme réseau chez moi ! je vais enquêter@bret tu as saisi quoi dans l'url du serveur de serveur de tes apps Android?http://192.168.1.60:7080?
De mon côté, effectivement, j'allais ce soir t'envoyer mes derniers constats d'utilisation et côté lecture.petit moment qu'on a pas eu d'activité par ici!
Je regarderai ce soir si ces correctifs (pas vu dans le descriptif de la nouvelle version) résolvent mes deux petits soucis (mineurs, mais agaçants). À savoir aussi que je ne fais la lecture que sur ma Shield = APK Android (pas testé sur le navigateur ou autres clients si même effet).correctifs sur le playback
Pour les débutants, est-il possible ?le client
J'ai un ami qui a une shield et exactement ce soucis que tu décris, j'ai pas encore réussi à m'en procurer une pour tester chez moi malheureusement mais je vaisseau tenter d'avancer là dessus !1. Toujours un petit souci au niveau de la "fluidité", il y a quelques "micro-figeages de l'image" (très mineurs, mais présents sur toutes les vidéos que je visionne). J'ai fait un comparatif avec Jellyfin sur lequel je n'ai pas ce défaut. Difficile de te communiquer un journal pour cette petite anomalie…
Je suis pas certain de bien te comprendre, l'affichage "prochain épisode" ne s'affiche pas quand tu skip le générique de fin c'est ça ?2. Concernant le "zap" des génériques ⇾ pas de souci pour les Intros. Cependant, pour les fins de vidéo, le "zap" atterrit toujours en fin de celle-ci et non au début (minuteur) de la suivante ?
Pour windows je dois pouvoir m'en sortir ouiPour Windows, d'avoir directement un .exe plutôt qu'un dossier à décompresser + trouver dans les innombrables lignes le .exe
Pour Linux → flatpak (ok mais pas encore testé)
Pour Apple → je n'ai pas, donc voir avec les utilisateurs.
Pour Android TV ⇾ je ne sais si c'est compliquémais être dans le catalogue Google Store, faciliterait l'installation…