No description
  • Python 53.8%
  • PLpgSQL 35.5%
  • JavaScript 7.3%
  • Shell 1.7%
  • HTML 1.6%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-18 10:50:49 +02:00
.claude FOXA-2305 : la migration 101 est posée sur le 125 2026-09-26 22:38:10 +00:00
.github/workflows Update actions/checkout action to v7 2026-09-08 14:04:45 +02:00
caddy FOXA-2034 : aucune création de compte depuis le nom public de l'authentification 2026-09-24 10:35:54 +00:00
cli FOXA-1319 : la cabine n'affiche plus le secret Xtream, et le blob le perd (096, 097) 2026-09-23 19:39:39 +00:00
design feat(FOXA-1904) : la cabine suit le mode clair du système, sur une échelle de jetons 2026-09-23 06:08:33 +00:00
epg fix(FOXA-2113) : « Plus » collé au nom n'est plus pris pour un pluriel 2026-09-25 03:18:39 +00:00
nginx FOXA-2037 : nginx rend des redirections relatives derrière Caddy 2026-09-24 09:33:19 +00:00
outils feat(outils): les réussites antérieures au format v2 sont dites non attribuées 2026-10-18 10:38:23 +02:00
systemd FOXA-2054 : la vérification des chaînes passe chaque nuit, à la même dose 2026-09-24 13:20:13 +00:00
tests feat(outils): les réussites antérieures au format v2 sont dites non attribuées 2026-10-18 10:38:23 +02:00
trash BAK-PARTITION : le tri des règles TRaSH se fait à la construction, plus à chaque nom 2026-09-03 01:39:03 +02:00
tvlogin FOXA-2959 : la cabine sert les neuf Orange Cinéma, la moitié serveur de FOXA-1053 2026-10-18 08:20:48 +02:00
verification FOXA-2582 : la 071 pose les mortes hors catalogue et date les ouvertures des relevés 2026-09-29 08:10:00 +00:00
webui FOXA-3161 : la cabine offre « Animations dans les collections » 2026-10-18 07:58:07 +02:00
.gitignore chore(FOXA-753) : gitignore couvre foxa*, .grok — même discipline que NuvioTV 2026-09-06 09:44:53 +02:00
.ignore outillage local : graft ignoré, hooks et configuration MCP du poste 2026-08-16 03:47:38 +02:00
.mcp.json outillage local : graft ignoré, hooks et configuration MCP du poste 2026-08-16 03:47:38 +02:00
001_nuvio_schema.sql docs(ai-sync): self-hosted backend spec, cloud backup sample + Proxmox relay 2026-07-18 17:52:35 +02:00
002_nuvio_rpc.sql docs(ai-sync): self-hosted backend spec, cloud backup sample + Proxmox relay 2026-07-18 17:52:35 +02:00
003_nuvio_restore_cloud.sql docs(ai-sync): self-hosted backend spec, cloud backup sample + Proxmox relay 2026-07-18 17:52:35 +02:00
004_nuvio_inheritance.sql docs(ai-sync): scrub burned credentials + rotation notice; backend WIP (webui, cli, API) 2026-07-19 09:09:50 +02:00
005_nuvio_xtream.sql docs(ai-sync): HTTPS Caddy relay, Xtream surface migrations, dual-write handoff 2026-07-19 10:18:07 +02:00
006_nuvio_xtream_backup.sql docs(ai-sync): HTTPS Caddy relay, Xtream surface migrations, dual-write handoff 2026-07-19 10:18:07 +02:00
007_nuvio_tvlogin_weburl.sql docs(ai-sync): optimistic-concurrency design + specs, 007/008 migrations, tv-login exchange service 2026-07-19 15:26:52 +02:00
008_nuvio_optimistic.sql docs(ai-sync): optimistic-concurrency design + specs, 007/008 migrations, tv-login exchange service 2026-07-19 15:26:52 +02:00
009_nuvio_tvlogin_syncpin_hardening.sql feat(backend): migration 009 — revoke tv-login bypass RPC, add sync-code PIN lockout 2026-07-19 18:28:08 +02:00
010_nuvio_avatar_storage_policy.sql feat(sql): migration 010 — versioned avatars storage policy 2026-07-23 21:07:37 +02:00
011_nuvio_ui_master.sql D2+D5: dedoublonnage de rafale trouve en repetition, et le trou d'UX referme 2026-07-27 14:38:20 +02:00
012_nuvio_debrid_stats.sql Stats debrid, migration 012 : la table, la RLS, et l'upsert qui remplace 2026-07-28 13:29:40 +02:00
012_rollback_debrid_stats.sql Stats debrid : deploiement sur le LXC 125, retour arriere teste, et le rapport 2026-07-28 14:03:11 +02:00
013_nuvio_debrid_stats_addons.sql Stats debrid : le chemin ADDON mesure, apres avoir mesure les addons 2026-07-28 15:17:35 +02:00
013_rollback_debrid_stats_addons.sql Stats debrid : le chemin ADDON mesure, apres avoir mesure les addons 2026-07-28 15:17:35 +02:00
014_nuvio_rls_tables_transit.sql Le backend : trois tables ouvertes a l'anonyme, et un .htpasswd qui ne servait a rien 2026-07-29 20:45:50 +02:00
014_rollback_rls_tables_transit.sql Le backend : trois tables ouvertes a l'anonyme, et un .htpasswd qui ne servait a rien 2026-07-29 20:45:50 +02:00
015_nuvio_foyers_admin.sql Migration 015 : la vue multi-foyers et la derniere activite (ECRITE, NON APPLIQUEE) 2026-08-02 12:41:12 +02:00
015_rollback_foyers_admin.sql Migration 015 : la vue multi-foyers et la derniere activite (ECRITE, NON APPLIQUEE) 2026-08-02 12:41:12 +02:00
016_nuvio_foyers_administration.sql Les 48 doublons, l'administration des foyers, et la memoire du lecteur 2026-08-02 22:20:48 +02:00
016_rollback_foyers_administration.sql Les 48 doublons, l'administration des foyers, et la memoire du lecteur 2026-08-02 22:20:48 +02:00
017_lecteur_historique.sql 122 §1 : l'identifiant de lecture seule, et trois defauts trouves en verifiant 2026-08-02 22:43:36 +02:00
017_rollback_lecteur_historique.sql 122 §1 : l'identifiant de lecture seule, et trois defauts trouves en verifiant 2026-08-02 22:43:36 +02:00
018_episodes_diffuses.sql 122 §2 et DU30 : la completude des series, et ce que l'app fait d'un catalogue vide 2026-08-02 22:55:46 +02:00
018_rollback_episodes_diffuses.sql 122 §2 et DU30 : la completude des series, et ce que l'app fait d'un catalogue vide 2026-08-02 22:55:46 +02:00
019_appairage_durci.sql BAK-ADRESSE (FOXA-110) — la clé IP lit la dernière valeur de X-Forwarded-For, pas la première 2026-08-20 04:50:20 +02:00
019_rollback_appairage_durci.sql 123 §1 : l'appairage cesse d'etre forcable, et le mot « hache » cesse de mentir 2026-08-03 11:03:13 +02:00
020_appareils_administration.sql 123 §2 : l'appareil qu'on peut renvoyer chez lui, et ce que la revocation coupe VRAIMENT 2026-08-03 11:16:24 +02:00
021_departage_watch_progress.sql 123 §4.2/§4.3 et D54 : la somme se referme, la fusion etait deja faite, l'ordre devient stable 2026-08-03 11:21:40 +02:00
022_garde_egalite_journal_vus.sql C : la garde d'egalite du journal des vus, les deux sondes de curseur, et le repli de la webui 2026-08-05 02:36:18 +02:00
022_rollback_garde_egalite_journal_vus.sql C : la garde d'egalite du journal des vus, les deux sondes de curseur, et le repli de la webui 2026-08-05 02:36:18 +02:00
023_rollback_sondes_curseur_perime.sql C : la garde d'egalite du journal des vus, les deux sondes de curseur, et le repli de la webui 2026-08-05 02:36:18 +02:00
023_sondes_curseur_perime.sql 023 : classee SANS OBJET — les deux sondes existent en base dans l'ordre inverse, l'appliquer creerait une surcharge 2026-08-05 11:25:35 +02:00
024_nuvio_suivi_entre_foyers.sql La 024 est posée, son en-tête cesse de mentir, et l'héritage IPTV est une décision écrite 2026-08-05 19:39:13 +02:00
024_rollback_suivi_entre_foyers.sql S : le suivi entre foyers — Xtream et les addons par reference, jamais par copie 2026-08-05 07:37:51 +02:00
026_appairage_cible_par_foyer.sql FY : la 026 — emettre un code d'appairage POUR UN FOYER CHOISI, et lui seul peut le faire 2026-08-05 15:16:08 +02:00
026_rollback_appairage_cible_par_foyer.sql FY : la 026 — emettre un code d'appairage POUR UN FOYER CHOISI, et lui seul peut le faire 2026-08-05 15:16:08 +02:00
027_config_du_maitre_partout.sql MAITRE : migration 027 — la config du maitre repliquee vers tous les foyers (triggers differes, appliquee en prod, verif 7/7 VERT, porte 355/5/14) 2026-08-10 08:10:07 +02:00
027_rollback_config_du_maitre.sql MAITRE : migration 027 — la config du maitre repliquee vers tous les foyers (triggers differes, appliquee en prod, verif 7/7 VERT, porte 355/5/14) 2026-08-10 08:10:07 +02:00
028_rollback_tous_les_profils.sql MAITRE suite : migration 028 — le miroir cible tous les profils, seule la source est interdite (« oui tout les profil j'ai dit »), appliquee en prod, verif 4/4 VERT, porte 360/5/14 2026-08-10 08:16:43 +02:00
028_tous_les_profils_du_maitre.sql MAITRE suite : migration 028 — le miroir cible tous les profils, seule la source est interdite (« oui tout les profil j'ai dit »), appliquee en prod, verif 4/4 VERT, porte 360/5/14 2026-08-10 08:16:43 +02:00
029_retouches_durables_du_maitre.sql MAITRE suite 2 : migration 029 — retouches durables de l'admin (exclusions du miroir), auto-exclusion attrapee par verif et corrigee (drapeau nuvio.miroir_ecrit), appliquee en prod 7/7 VERT, porte 366/5/14 2026-08-10 08:26:15 +02:00
029_rollback_retouches_durables.sql MAITRE suite 2 : migration 029 — retouches durables de l'admin (exclusions du miroir), auto-exclusion attrapee par verif et corrigee (drapeau nuvio.miroir_ecrit), appliquee en prod 7/7 VERT, porte 366/5/14 2026-08-10 08:26:15 +02:00
030_lecture_recente.sql RELEASE : le troisieme motif anti-URL dans le check de release_name 2026-08-10 12:53:21 +02:00
030_rollback_lecture_recente.sql RELEASE : migration 030 -- la release jouee remonte, l'URL du flux JAMAIS 2026-08-10 12:41:48 +02:00
031_lecture_recente_video.sql LECTEUR3 : migration 031 (video) appliquee, libelle et fenetre corriges 2026-08-10 13:51:08 +02:00
031_rollback_lecture_recente_video.sql LECTEUR3 : migration 031 (video) appliquee, libelle et fenetre corriges 2026-08-10 13:51:08 +02:00
032_lecture_recente_pistes.sql LECTEUR3 : migrations 032 et 033, la fenetre montre la piste audio 2026-08-10 15:09:24 +02:00
032_rollback_lecture_recente_pistes.sql LECTEUR3 : migrations 032 et 033, la fenetre montre la piste audio 2026-08-10 15:09:24 +02:00
033_rpc_lecture_recente_pistes.sql LECTEUR3 : migrations 032 et 033, la fenetre montre la piste audio 2026-08-10 15:09:24 +02:00
034_defauts_de_reglages.sql DEFAUTS — le defaut s'ecrit DANS le blob, parce que c'est ca qui survit au reset 2026-08-11 22:03:02 +02:00
034_rollback_defauts_de_reglages.sql DEFAUTS — le defaut s'ecrit DANS le blob, parce que c'est ca qui survit au reset 2026-08-11 22:03:02 +02:00
035_rollback_url_locale_des_addons.sql 035 — la config du maitre propage la liste, pas l'abonnement des autres 2026-08-12 22:02:55 +02:00
035_url_locale_des_addons.sql 035 — le DELETE de la table temporaire prend sa clause WHERE 2026-08-12 22:07:37 +02:00
036_garde_des_champs_d_accueil.sql cabine — le message quitte la page qu'il ne concerne pas (R878), et un garde serveur (R877) 2026-08-13 11:23:10 +02:00
036_rollback_garde_des_champs_d_accueil.sql 036 — une poussee ne peut PLUS effacer un champ qu'elle ne modelise pas (R877) 2026-08-13 13:48:29 +02:00
037_rollback_verdict_de_langue_par_titre.sql Migration 037 — le verdict de langue d'un titre, mutualise par foyer 2026-08-13 18:48:35 +02:00
037_verdict_de_langue_par_titre.sql Migration 037 — le verdict de langue d'un titre, mutualise par foyer 2026-08-13 18:48:35 +02:00
038_rollback_verdict_de_langue_pour_le_service.sql BAK-VERDICT — migration 038 et service deploye : l'ecriture est prouvee 2026-08-13 20:13:39 +02:00
038_verdict_de_langue_pour_le_service.sql BAK-VERDICT — migration 038 et service deploye : l'ecriture est prouvee 2026-08-13 20:13:39 +02:00
039_enregistrer_l_appareil_courant.sql Migration 039 — register_current_device existait dans l'app, pas en base 2026-08-13 22:21:58 +02:00
039_rollback_enregistrer_l_appareil_courant.sql Migration 039 — register_current_device existait dans l'app, pas en base 2026-08-13 22:21:58 +02:00
040_rollback_semer_les_identifiants_de_fournisseur.sql La cabine mobile gere les API TMDB et MDBList comme la TV 2026-08-13 22:41:20 +02:00
040_semer_les_identifiants_de_fournisseur.sql La cabine mobile gere les API TMDB et MDBList comme la TV 2026-08-13 22:41:20 +02:00
041_le_delta_de_bibliotheque.sql La cabine mobile gere les API TMDB et MDBList comme la TV 2026-08-13 22:41:20 +02:00
042_lire_les_chaines_et_l_epg.sql Migration 042 — les quatre tables de chaines etaient verrouillees a tout le monde 2026-08-13 22:47:49 +02:00
042_rollback_lire_les_chaines_et_l_epg.sql Migration 042 — les quatre tables de chaines etaient verrouillees a tout le monde 2026-08-13 22:47:49 +02:00
043_les_cles_dapi_ne_se_perdent_plus.sql 043 — LES CLES D'API NE SE PERDENT PLUS a la poussee du blob 2026-08-14 04:49:07 +02:00
044_lecture_recente_liste_par_profil.sql BAK-PROFILS — le partage intra-foyer est la conception ; filtre lecture_recente_liste (044) et deux ceintures anti-bogue (045), migrations non appliquees 2026-08-14 11:24:55 +02:00
044_rollback_lecture_recente_liste_par_profil.sql BAK-PROFILS — le partage intra-foyer est la conception ; filtre lecture_recente_liste (044) et deux ceintures anti-bogue (045), migrations non appliquees 2026-08-14 11:24:55 +02:00
045_ceintures_destruction_de_profil.sql BAK-PROFILS — le partage intra-foyer est la conception ; filtre lecture_recente_liste (044) et deux ceintures anti-bogue (045), migrations non appliquees 2026-08-14 11:24:55 +02:00
045_rollback_ceintures_destruction_de_profil.sql BAK-PROFILS — le partage intra-foyer est la conception ; filtre lecture_recente_liste (044) et deux ceintures anti-bogue (045), migrations non appliquees 2026-08-14 11:24:55 +02:00
046_rollback_version_de_la_regle_de_langue.sql BAK-LANGUE3 — la version de regle en base, et la purge des 22 verdicts de l'ancienne 2026-08-14 20:56:02 +02:00
046_version_de_la_regle_de_langue.sql BAK-LANGUE3 — la version de regle en base, et la purge des 22 verdicts de l'ancienne 2026-08-14 20:56:02 +02:00
047_lecture_recente_erreur_decodeur.sql TV-DECOD — migration 047 : le releve d'erreur de decodeur rejoint les compteurs de sante 2026-08-14 22:36:47 +02:00
047_rollback_erreur_decodeur.sql TV-DECOD — migration 047 : le releve d'erreur de decodeur rejoint les compteurs de sante 2026-08-14 22:36:47 +02:00
048_retrait_surface_morte_tracker.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
048_rollback_surface_morte_tracker.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
049_retrait_surface_morte_tvlogin.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
049_rollback_surface_morte_tvlogin.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
050_retrait_surface_morte_backup.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
050_rollback_surface_morte_backup.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
051_retrait_surface_morte_origin.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
051_rollback_surface_morte_origin.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
052_retrait_surface_morte_appairage.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
052_rollback_surface_morte_appairage.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
053_retrait_surface_morte_divers.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
053_rollback_surface_morte_divers.sql BAK-MORTES — les 25 fonctions sans appelant retirees, par familles (048 -> 053) 2026-08-14 23:11:58 +02:00
054_purge_residu_debrid_enabled.sql BAK-RANGE — la cabine se range, et la 054 purge le seul vrai residu 2026-08-15 09:19:56 +02:00
054_rollback_purge_residu_debrid_enabled.sql BAK-APPLIQUE2 — les migrations 054 et 055 sont appliquées en base 2026-08-15 21:19:04 +02:00
055_addons_par_foyer.sql TRA-ADDONS2 — les addons deviennent une surface de foyer (migration 055) 2026-08-15 10:37:19 +02:00
055_rollback_addons_par_foyer.sql TRA-ADDONS2 — les addons deviennent une surface de foyer (migration 055) 2026-08-15 10:37:19 +02:00
056_garde_url_sur_nom_fichier.sql BAK-APP056 — la migration 056 est appliquée : la garde d'URL couvre enfin les deux champs 2026-08-16 03:56:17 +02:00
056_rollback_garde_url_sur_nom_fichier.sql BAK-CARTE — la carte demandée a été refusée par l'opérateur ; la garde d'URL manquante est écrite 2026-08-16 02:26:02 +02:00
057_rollback_une_seule_signature_pour_le_push_de_reglages.sql BAK-DOUBLON — migration 057 : une seule signature pour le push de réglages 2026-08-17 11:10:42 +02:00
057_une_seule_signature_pour_le_push_de_reglages.sql BAK-DOUBLON — migration 057 : une seule signature pour le push de réglages 2026-08-17 11:10:42 +02:00
058_rollback_stream_ids_sur_les_chaines_epg.sql BAK-STREAMID — les identifiants de flux rejoignent les chaînes EPG 2026-08-17 13:14:26 +02:00
058_stream_ids_sur_les_chaines_epg.sql BAK-STREAMID — les identifiants de flux rejoignent les chaînes EPG 2026-08-17 13:14:26 +02:00
059_garde_url_dans_le_suivi_de_lecture.sql BAK-RETRAIT — la 059 étendue aux sept tables, et le test recense au lieu de lister 2026-08-17 15:37:34 +02:00
059_rollback_garde_url_dans_le_suivi_de_lecture.sql BAK-RETRAIT — la 059 étendue aux sept tables, et le test recense au lieu de lister 2026-08-17 15:37:34 +02:00
060_archive_sur_les_chaines_epg.sql BAK-ARCHIVE — les jours de rattrapage traversent du fournisseur jusqu'à la base 2026-08-17 15:40:22 +02:00
060_rollback_archive_sur_les_chaines_epg.sql BAK-ARCHIVE — les jours de rattrapage traversent du fournisseur jusqu'à la base 2026-08-17 15:40:22 +02:00
061_rollback_verdict_de_langue_mutualise.sql BAK-VFBASE — le verdict de langue se mutualise entre foyers, sans publier qui a consulté quoi 2026-08-19 14:33:31 +02:00
061_verdict_de_langue_mutualise.sql BAK-VFBASE — le verdict de langue se mutualise entre foyers, sans publier qui a consulté quoi 2026-08-19 14:33:31 +02:00
062_rollback_trace_de_consultation_des_fiches.sql BAK-VFBASE — le verdict de langue se mutualise entre foyers, sans publier qui a consulté quoi 2026-08-19 14:33:31 +02:00
062_trace_de_consultation_des_fiches.sql BAK-VFBASE — le verdict de langue se mutualise entre foyers, sans publier qui a consulté quoi 2026-08-19 14:33:31 +02:00
063_rollback_show_unreleased_surveille.sql BAK-NONSORTIS — le garde d'accueil surveille show_unreleased, et la fusion de doublons cesse d'effacer 2026-08-19 20:53:20 +02:00
063_show_unreleased_surveille.sql BAK-NONSORTIS — le garde d'accueil surveille show_unreleased, et la fusion de doublons cesse d'effacer 2026-08-19 20:53:20 +02:00
064_rollback_verdict_de_langue_par_episode.sql BAK-EPISODE (FOXA-50) — le verdict de langue d'une série porte l'épisode, sans publier la position de lecture 2026-08-19 23:45:34 +02:00
064_verdict_de_langue_par_episode.sql BAK-EPISODE (FOXA-50) — le verdict de langue d'une série porte l'épisode, sans publier la position de lecture 2026-08-19 23:45:34 +02:00
065_bornes_sur_p_client_max_profiles.sql BAK-BORNE-PROFILS (FOXA-108) — la borne basse de p_client_max_profiles, posée sur la fonction qui est en base 2026-08-20 03:50:18 +02:00
065_rollback_bornes_sur_p_client_max_profiles.sql BAK-BORNE-PROFILS (FOXA-108) — la borne basse de p_client_max_profiles, posée sur la fonction qui est en base 2026-08-20 03:50:18 +02:00
066_defauts_au_profil_naissant.sql BAK-DEFAUT-PROFIL (FOXA-106) — un profil né après la pose d'un défaut le reçoit aussi 2026-08-20 03:23:22 +02:00
066_rollback_defauts_au_profil_naissant.sql BAK-DEFAUT-PROFIL (FOXA-106) — un profil né après la pose d'un défaut le reçoit aussi 2026-08-20 03:23:22 +02:00
067_borne_basse_p_client_max_profiles.sql BAK-BORNE-PROFILS (FOXA-108) — la borne basse de p_client_max_profiles, posée sur la fonction qui est en base 2026-08-20 03:50:18 +02:00
067_rollback_borne_basse_p_client_max_profiles.sql BAK-BORNE-PROFILS (FOXA-108) — la borne basse de p_client_max_profiles, posée sur la fonction qui est en base 2026-08-20 03:50:18 +02:00
068_categorie_du_programme_epg.sql BAK-SPORT-EPG (FOXA-147) — la catégorie du programme traverse de XMLTV jusqu'à l'API, et la référence passe à 996 2026-08-20 12:59:06 +02:00
068_rollback_categorie_du_programme_epg.sql BAK-SPORT-EPG (FOXA-147) — la catégorie du programme traverse de XMLTV jusqu'à l'API, et la référence passe à 996 2026-08-20 12:59:06 +02:00
069_rollback_sortie_numerique_par_pays.sql BAK-SORTIE-NUMERIQUE (FOXA-173) — les faits de sortie TMDB se mutualisent par film et par pays, et la référence passe à 1061 2026-08-20 22:29:04 +02:00
069_sortie_numerique_par_pays.sql BAK-SORTIE-NUMERIQUE (FOXA-173) — les faits de sortie TMDB se mutualisent par film et par pays, et la référence passe à 1061 2026-08-20 22:29:04 +02:00
070_garde_anticollision_tous_statuts.sql BAK-CODE-COLLISION (FOXA-123) — la garde anti-collision du tirage de code voit tous les statuts, et la référence passe à 1010 2026-08-20 13:41:38 +02:00
070_rollback_garde_anticollision_tous_statuts.sql BAK-CODE-COLLISION (FOXA-123) — la garde anti-collision du tirage de code voit tous les statuts, et la référence passe à 1010 2026-08-20 13:41:38 +02:00
071_rollback_verification_chaines.sql BAK-CHAINES (FOXA-202) — la vérification permanente des chaînes pose sa base : règles pures, anti-ban, migration 071 2026-08-21 12:44:32 +02:00
071_verification_chaines.sql BAK-071-POSE (FOXA-202) — la 071 est posee en production, et son banc a demoli deux affirmations de son propre fichier 2026-08-24 11:59:44 +02:00
072_rollback_statistique_par_addon.sql BAK-LECTEUR3-ADDON (FOXA-313) — une statistique par addon, et aucune colonne de cache 2026-08-25 04:21:36 +02:00
072_statistique_par_addon.sql BAK-LECTEUR3-ADDON (FOXA-313) — une statistique par addon, et aucune colonne de cache 2026-08-25 04:21:36 +02:00
073_rollback_verdict_serie_groupe_par_contenu.sql BAK-VUS (FOXA-387) — le verdict « série complète » se calcule par contenu, plus par ligne 2026-08-27 05:51:55 +02:00
073_verdict_serie_groupe_par_contenu.sql BAK-VUS (FOXA-387) — le verdict « série complète » se calcule par contenu, plus par ligne 2026-08-27 05:51:55 +02:00
074_rollback_version_de_la_regle_de_langue_3.sql BAK-LANGUE-FOA574 (FOXA-578) — un libelle d'addon ne prouve plus une VF que son nom de release dement 2026-09-02 01:48:40 +02:00
074_version_de_la_regle_de_langue_3.sql BAK-LANGUE-FOA574 (FOXA-578) — un libelle d'addon ne prouve plus une VF que son nom de release dement 2026-09-02 01:48:40 +02:00
075_absence_de_source.sql FOXA-572 : un « il y a une VF » vaut 21 jours, un « pas de VF » en garde 7, et une absence de source constatee se memorise enfin 2026-09-02 06:12:40 +02:00
075_rollback_absence_de_source.sql FOXA-572 : un « il y a une VF » vaut 21 jours, un « pas de VF » en garde 7, et une absence de source constatee se memorise enfin 2026-09-02 06:12:40 +02:00
076_la_bibliotheque_est_la_meme_des_deux_cotes.sql FOXA-619 : la bibliotheque du mobile n'atteignait jamais le serveur, et la TV n'en disait rien 2026-09-03 01:14:06 +02:00
076_rollback_la_bibliotheque_est_la_meme_des_deux_cotes.sql FOXA-619 : la bibliotheque du mobile n'atteignait jamais le serveur, et la TV n'en disait rien 2026-09-03 01:14:06 +02:00
077_repare_miroir_exclusions_et_url_locale.sql fix(FOXA-107) : la 035 a annulé la 028/029 en silence, les retouches durables ne sont plus lues 2026-09-03 13:55:44 +02:00
077_rollback_repare_miroir_exclusions_et_url_locale.sql fix(FOXA-107) : la 035 a annulé la 028/029 en silence, les retouches durables ne sont plus lues 2026-09-03 13:55:44 +02:00
078_rollback_version_de_la_regle_de_langue_4.sql fix(FOXA-659) : un message d'addon qui porte une url d'erreur n'est plus une source, et les verdicts qui en decoulaient sont invalides 2026-09-03 13:19:53 +02:00
078_version_de_la_regle_de_langue_4.sql fix(FOXA-659) : un message d'addon qui porte une url d'erreur n'est plus une source, et les verdicts qui en decoulaient sont invalides 2026-09-03 13:19:53 +02:00
079_rollback_version_de_la_regle_de_langue_5.sql fix(FOXA-792) : un nom de release qui dit VFF nomme la France, aucune proportion ne l'ecrase 2026-09-06 19:20:13 +02:00
079_version_de_la_regle_de_langue_5.sql fix(FOXA-792) : un nom de release qui dit VFF nomme la France, aucune proportion ne l'ecrase 2026-09-06 19:20:13 +02:00
080_completude_du_releve_sur_le_verdict.sql fix(FOXA-808) : on n'interroge pas une surface de flux qui n'existe pas, et on ne l'attend pas 2026-09-06 21:00:54 +02:00
080_rollback_completude_du_releve_sur_le_verdict.sql fix(FOXA-808) : on n'interroge pas une surface de flux qui n'existe pas, et on ne l'attend pas 2026-09-06 21:00:54 +02:00
081_peremption_du_verdict_negatif.sql FOXA-828 : un verdict « pas de VF » vaut quatorze jours, et la durée n'est plus écrite dans le code 2026-09-07 06:57:11 +02:00
081_rollback_peremption_du_verdict_negatif.sql FOXA-828 : un verdict « pas de VF » vaut quatorze jours, et la durée n'est plus écrite dans le code 2026-09-07 06:57:11 +02:00
082_rollback_une_suppression_tient_et_une_duree_ne_s_efface_pas.sql feat(FOXA-785) : 082 — une suppression tient, une duree ne s'efface pas 2026-09-08 01:32:02 +02:00
082_une_suppression_tient_et_une_duree_ne_s_efface_pas.sql feat(FOXA-785) : 082 — une suppression tient, une duree ne s'efface pas 2026-09-08 01:32:02 +02:00
083_la_purge_du_journal_entre_au_depot.sql feat(FOXA-785) : 083 — la purge du journal entre au depot, delai 90 j -> un an 2026-09-08 06:41:12 +02:00
083_rollback_la_purge_du_journal_entre_au_depot.sql feat(FOXA-785) : 083 — la purge du journal entre au depot, delai 90 j -> un an 2026-09-08 06:41:12 +02:00
084_completude_du_releve_vient_du_client.sql FOXA-922 : la complétude du relevé remonte du client, et un négatif troué ne masque plus 2026-09-09 18:44:15 +02:00
084_rollback_completude_du_releve_vient_du_client.sql FOXA-922 : la complétude du relevé remonte du client, et un négatif troué ne masque plus 2026-09-09 18:44:15 +02:00
085_liste_fermee_des_issues_debrid.sql FOXA-958 : la liste fermée des issues débrideur redevient celle de l'application 2026-09-10 02:31:35 +00:00
085_rollback_liste_fermee_des_issues_debrid.sql FOXA-958 : la liste fermée des issues débrideur redevient celle de l'application 2026-09-10 02:31:35 +00:00
086_rollback_une_montee_de_regle_neteint_que_le_masquant.sql fix(FOXA-868) : une montée de règle n'éteint que ce qui masque, et les anciennes sont réenquêtées 2026-09-13 21:31:03 +00:00
086_une_montee_de_regle_neteint_que_le_masquant.sql fix(FOXA-868) : une montée de règle n'éteint que ce qui masque, et les anciennes sont réenquêtées 2026-09-13 21:31:03 +00:00
087_rollback_une_seule_ecriture_des_gardes_de_langue.sql refactor(FOXA-1205) : les gardes du verdict de langue ne se recopient plus 2026-09-14 10:50:04 +00:00
087_une_seule_ecriture_des_gardes_de_langue.sql refactor(FOXA-1205) : les gardes du verdict de langue ne se recopient plus 2026-09-14 10:50:04 +00:00
088_identifiants_de_fournisseur_hors_du_blob.sql merge(FOXA-1244) : main dans la branche de la #30, la migration passe en 088 2026-09-14 13:23:03 +00:00
088_rollback_identifiants_de_fournisseur_hors_du_blob.sql merge(FOXA-1244) : main dans la branche de la #30, la migration passe en 088 2026-09-14 13:23:03 +00:00
089_profile_id_ne_ressemble_plus_a_un_identifiant.sql corriger(FOXA-1613) : profiles.profile_id cesse de ressembler à un identifiant 2026-09-18 08:12:50 +00:00
089_rollback_profile_id_ne_ressemble_plus_a_un_identifiant.sql corriger(FOXA-1613) : profiles.profile_id cesse de ressembler à un identifiant 2026-09-18 08:12:50 +00:00
090_nuvio_sync_push_audit_logs.sql corriger(FOXA-1614) : le journal d'ecriture de la cabine prend la forme du miroir, et il est POSE 2026-09-18 13:28:33 +00:00
090_rollback_sync_push_audit_logs.sql corriger(FOXA-1614) : le journal d'ecriture de la cabine prend la forme du miroir, et il est POSE 2026-09-18 13:28:33 +00:00
091_garde_seekr.sql feat(FOXA-1659) : la clé Seekr entre dans la cabine, et la garde des identifiants la protège 2026-09-18 21:39:11 +00:00
091_rollback_garde_seekr.sql feat(FOXA-1659) : la clé Seekr entre dans la cabine, et la garde des identifiants la protège 2026-09-18 21:39:11 +00:00
092_empreinte_normalisee_des_addons_et_plugins.sql corriger(FOXA-1645) : l'empreinte des addons et des plugins prend la forme du miroir 2026-09-18 22:14:17 +00:00
092_rollback_empreinte_normalisee_des_addons_et_plugins.sql corriger(FOXA-1645) : l'empreinte des addons et des plugins prend la forme du miroir 2026-09-18 22:14:17 +00:00
093_reglages_propres_au_profil_herite.sql fix(FOXA-1750) : un profil hérité relit ce qu'il écrit 2026-09-21 11:11:12 +00:00
093_rollback_reglages_propres_au_profil_herite.sql fix(FOXA-1750) : un profil hérité relit ce qu'il écrit 2026-09-21 11:11:12 +00:00
094_cle_seekr_partagee.sql FOXA-1946 : la clé Seekr de l'opérateur se prête à tous les foyers 2026-09-23 15:59:20 +00:00
094_rollback_cle_seekr_partagee.sql FOXA-1946 : la clé Seekr de l'opérateur se prête à tous les foyers 2026-09-23 15:59:20 +00:00
095_rollback_services_lisent_la_table_fermee.sql FOXA-1319 : les services du serveur lisent les identifiants Xtream dans la table fermée (095) 2026-09-23 19:29:45 +00:00
095_services_lisent_la_table_fermee.sql FOXA-1319 : les services du serveur lisent les identifiants Xtream dans la table fermée (095) 2026-09-23 19:29:45 +00:00
096_etat_des_identifiants_pour_la_cabine.sql FOXA-1319 : la cabine n'affiche plus le secret Xtream, et le blob le perd (096, 097) 2026-09-23 19:39:39 +00:00
096_rollback_etat_des_identifiants_pour_la_cabine.sql FOXA-1319 : la cabine n'affiche plus le secret Xtream, et le blob le perd (096, 097) 2026-09-23 19:39:39 +00:00
097_identifiants_retires_du_blob.sql FOXA-1319 : la cabine n'affiche plus le secret Xtream, et le blob le perd (096, 097) 2026-09-23 19:39:39 +00:00
097_rollback_identifiants_retires_du_blob.sql FOXA-1319 : la cabine n'affiche plus le secret Xtream, et le blob le perd (096, 097) 2026-09-23 19:39:39 +00:00
098_ecarts_du_profil_sur_le_maitre.sql FOXA-1943 : un profil hérité suit le maître, sauf ce qu'il a changé (098) 2026-09-24 08:38:40 +00:00
098_rollback_ecarts_du_profil_sur_le_maitre.sql FOXA-1943 : un profil hérité suit le maître, sauf ce qu'il a changé (098) 2026-09-24 08:38:40 +00:00
099_garde_publicmetadb.sql feat(FOXA-1608) : la clé PublicMetaDB entre dans la garde des identifiants et dans la cabine 2026-09-24 12:48:36 +00:00
099_rollback_garde_publicmetadb.sql feat(FOXA-1608) : la clé PublicMetaDB entre dans la garde des identifiants et dans la cabine 2026-09-24 12:48:36 +00:00
100_rollback_suivre_a_nouveau_le_maitre.sql FOXA-2035 : un profil hérité suit à nouveau le profil maître en un geste (migration 100) 2026-09-25 12:19:29 +00:00
100_suivre_a_nouveau_le_maitre.sql FOXA-2035 : un profil hérité suit à nouveau le profil maître en un geste (migration 100) 2026-09-25 12:19:29 +00:00
101_rapports_de_lecture.sql FOXA-2305 : le rapport de lecture arrive au serveur (migration 101, écrite, pas posée) 2026-09-26 21:47:25 +00:00
101_rollback_rapports_de_lecture.sql FOXA-2305 : le rapport de lecture arrive au serveur (migration 101, écrite, pas posée) 2026-09-26 21:47:25 +00:00
102_rollback_tous_les_profils_heritent_des_collections.sql FOXA-2666 : l'héritage des collections sert tous les profils, de tous les foyers 2026-09-30 15:40:29 +00:00
102_tous_les_profils_heritent_des_collections.sql FOXA-2666 : l'héritage des collections sert tous les profils, de tous les foyers 2026-09-30 15:40:29 +00:00
103_refuser_un_push_vide_sans_jeton.sql FOXA-2542 : un push vide sans jeton ne supprime plus les collections 2026-09-30 19:24:41 +00:00
103_rollback_refuser_un_push_vide_sans_jeton.sql FOXA-2542 : un push vide sans jeton ne supprime plus les collections 2026-09-30 19:24:41 +00:00
104_cloner_vers_le_profil_choisi.sql FOXA-3123 : cloner un foyer vers le profil choisi, et nommer les profils non copiés 2026-10-07 13:45:23 +00:00
104_rollback_cloner_vers_le_profil_choisi.sql FOXA-3123 : cloner un foyer vers le profil choisi, et nommer les profils non copiés 2026-10-07 13:45:23 +00:00
105_adresses_longues_dans_le_clonage.sql FOXA-3123 : une adresse d'extension longue ne fait plus échouer le clonage 2026-10-07 13:56:30 +00:00
105_rollback_adresses_longues_dans_le_clonage.sql FOXA-3123 : une adresse d'extension longue ne fait plus échouer le clonage 2026-10-07 13:56:30 +00:00
106_favoris_xtream_dans_le_clonage.sql FOXA-3123 : le clonage emporte les favoris Xtream quel que soit le profil choisi 2026-10-07 14:28:55 +00:00
106_rollback_favoris_xtream_dans_le_clonage.sql FOXA-3123 : le clonage emporte les favoris Xtream quel que soit le profil choisi 2026-10-07 14:28:55 +00:00
API.md FOXA-2035 : un profil hérité suit à nouveau le profil maître en un geste (migration 100) 2026-09-25 12:19:29 +00:00
CLAUDE.md FOXA-2305 : le rapport de lecture arrive au serveur (migration 101, écrite, pas posée) 2026-09-26 21:47:25 +00:00
cloud_backup_sample.json chore(ai-sync): make cloud_backup_sample synthetic; drop live tokens + PII 2026-07-19 18:03:42 +02:00
deployer-backend.sh fix(deployer): le dépôt rend sa racine au service qui écrit chez lui 2026-10-18 09:16:11 +02:00
EMPREINTES_WEBUI.txt FOXA-3161 : la cabine offre « Animations dans les collections » 2026-10-18 07:58:07 +02:00
JOURNAL.md FOXA-2582 : la 071 pose les mortes hors catalogue et date les ouvertures des relevés 2026-09-29 08:10:00 +00:00
logrotate-nuvio fix(backend): generate.py durci (entrée sources malformée, fuite temp XMLTV, coverage.json atomique, garde player_api, crash loggé) + webui dead code (editIcon/pkey) + caveat migration 004 + logrotate préparé — RIEN déployé cette nuit, plan de déploiement au HANDOFF 2026-07-24 00:00:16 +02:00
pytest.ini backend: filet de test, et trois echecs qui cessaient de se voir 2026-07-27 07:47:37 +02:00
renovate.json feat: les majeures Renovate fusionnent aussi, sur porte verte 2026-09-08 19:54:26 +02:00
restaurer_home_catalog_r877.py cabine — le message quitte la page qu'il ne concerne pas (R878), et un garde serveur (R877) 2026-08-13 11:23:10 +02:00
retrait_lignes_de_chaines.sql BAK-RETRAIT — la 059 étendue aux sept tables, et le test recense au lieu de lister 2026-08-17 15:37:34 +02:00
run_tests.sh ATL-EPURE (FOXA-570) : le garde de parité de la cabine existait depuis un mois et personne ne le lançait — son seul porteur vivait dans NuvioTV, qui réimplémentait le calcul et portait le rouge du backend (R506 le 2026-08-06, FOXA-558 le 2026-09-01) ; verifier-parite-webui.sh part maintenant de run_tests.sh comme le garde d'octets, son code propage, et un banc de 4 tests le tient — 3 vus rouges avant d'être verts. Correctif du jour : 00-infra.js modifié par 154aa1c sans tampon, cache-buster du fichier avancé (20260822f vers 20260901a) puis --tamponner 2026-09-01 21:30:56 +02:00
scission-cabine.py BAK-OCTETS — trois octets de contrôle quittent la cabine, et un garde câblé leur ferme la porte 2026-08-19 16:48:35 +02:00
verifier-octets-controle-webui.sh BAK-OCTETS — trois octets de contrôle quittent la cabine, et un garde câblé leur ferme la porte 2026-08-19 16:48:35 +02:00
verifier-parite-webui.sh FOXA-2033 : la cabine n'a plus qu'une porte, tenue par un cookie de session 2026-09-24 09:09:10 +00:00