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