fix(blog) : acquitter les GUID après livraison XMPP #39
Open
Codex
wants to merge 1 commits from
fix/issue-12-blog-delivery into main
pull from: fix/issue-12-blog-delivery
merge into: :main
:main
:fix/issue-34-secret-placeholder
:feat/issue-8-account-pin
:fix/issue-11-caldav-homework
:fix/issue-13-observable-status
:fix/issue-12-blog-delivery
No Reviewers
Labels
Clear labels
area:ai
area:auth
area:caldav
area:configuration
area:dependencies
area:documentation
area:operations
area:packaging
area:parsing
area:pronote
area:rss
area:security
area:testing
area:xmpp
bug
investigation
priority:critical
priority:high
priority:low
priority:medium
Configuration et intégration de la synthèse IA
Authentification, session ou jeton Pronote
Synchronisation et sérialisation CalDAV/iCalendar
Configuration et validation des paramètres
Dépendances, forks et compatibilité externe
Documentation utilisateur, développeur ou exploitation
Exploitation, supervision ou comportement du pipeline
Packaging, métadonnées de distribution ou CI
Parsing, normalisation ou déduplication des données
Connexion ou données issues de Pronote
Récupération et acquittement des flux RSS
Protection des secrets et durcissement de sécurité
Fixtures, couverture et stratégie de tests
Canal de notification XMPP
Anomalie ou comportement incorrect
Investigation ou analyse de cause racine
Traitement immédiat : impact direct sur la justesse du digest ou perte de données
Impact important : fonctionnalité bloquée, risque de perte ou de sécurité
Documentation, maintenance ou refactorisation non bloquante
Amélioration significative après les urgences
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: AntoineVe/college-infos#39
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Résumé
Diffère l'acquittement RSS jusqu'à la confirmation de livraison XMPP.
Changements
Truedu canal ;dry-runlaissent l'article rejouable ;Validation
tests/unit/test_blog_state.pyettests/integration/test_pipeline_runner.pygit diff --checkCloses #12
Revue indépendante (analyse statique + vérification d'exécution).
Acquittement :
fetch_blog_stepne persiste plus les GUID ;BlogRSSState.acknowledge()(GUID + en-têtes HTTP) n'est appelé qu'après unTruedu canal ; exception,False, canal absent et dry-run laissent l'article rejouable. Un arrêt entre récupération et envoi ne perd rien, seuls les articles livrés étant mémorisés.Exécution : 53 tests ciblés, suite complète 731 passés / 29 skip ;
ruff check,ruff format --check,mypyverts ;docs/exploitation.mdalignée.Point examiné, non bloquant :
fetch_blog_stepavance les en-têtes HTTP d'une réponse 200 sans article livrable. Un signalement l'a présenté comme une perte possible, mais le scénario exige un serveur non conforme (contenu modifié sans changement d'ETag) ; une réponse sans article n'a aucune livraison en attente, et les en-têtes des articles non livrés restent, eux, inchangés. Comportement voulu, justifié dans la docstring et la documentation.Réserve mineure tracée dans #49 :
acknowledgeavance l'état mémoire avant une sauvegarde qui peut échouer (sans perte au redémarrage, divergence possible dans le même processus).OK pour fusion
Revue OpenCode prise en compte. Aucun changement supplémentaire n’est requis dans cette PR : le comportement d’acquittement après livraison est accepté.
La réserve non bloquante sur l’avancement de l’état mémoire avant échec de persistance est conservée dans le ticket #49, hors périmètre de cette PR. La PR #39 est prête pour fusion.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.