Dev/3.4.0 #142

Merged
nicolas merged 7 commits from dev/3.4.0 into master 2026-11-10 13:49:27 +01:00
Owner

Comportement

  • Réglage du joueur : self-update.json n’est jamais modifié. La priorité vient uniquement du launcher-update.json signé. autoUpdate reste donc à false, et une fois le correctif installé, les versions normales suivantes ne s’installent plus toutes seules chez ce joueur.
  • Reprise de la priorité : le serveur ne décrit que la dernière version. Si tu publies 3.4.0 en --priority puis 3.5.0 normale, la 3.5.0 garde la mention « prioritaire depuis 3.4.0 ». Un joueur encore en 3.3.x passe directement en 3.5.0, alors qu’un joueur déjà en 3.4.0 garde son réglage. --clear-priority arrête cette reprise (par exemple si la priorité a été mise par erreur).
  • Sécurité : l’indication « prioritaire » fait partie du contenu signé. Un serveur piraté ne peut donc ni imposer une mise à jour, ni retirer la priorité d’un correctif. Les autres contrôles ne changent pas : signature, version strictement supérieure, SHA-256.
  • ⚠️ Limite : les launchers antérieurs à 3.4.0 ignorent cette indication. La priorité ne marchera que pour les joueurs déjà en 3.4.0 ou plus, donc il vaut mieux publier cette 3.4.0 (en version normale) rapidement.

Choix que j’ai faits, à valider

  • « Plus tard » reste possible sur une version prioritaire : le launcher réessaie au démarrage suivant et affiche un avertissement en attendant.
  • Si la nouvelle version ne démarre pas (retour à l’ancienne), je n’ai pas mis de nouvelle tentative automatique. Sinon le joueur attendrait 60 s à chaque lancement. Il garde un avertissement et le bouton manuel.
**Comportement** - **Réglage du joueur** : `self-update.json` n’est jamais modifié. La priorité vient uniquement du `launcher-update.json` signé. `autoUpdate` reste donc à `false`, et une fois le correctif installé, les versions normales suivantes ne s’installent plus toutes seules chez ce joueur. - **Reprise de la priorité** : le serveur ne décrit que la dernière version. Si tu publies 3.4.0 en `--priority` puis 3.5.0 normale, la 3.5.0 garde la mention « prioritaire depuis 3.4.0 ». Un joueur encore en 3.3.x passe directement en 3.5.0, alors qu’un joueur déjà en 3.4.0 garde son réglage. `--clear-priority` arrête cette reprise (par exemple si la priorité a été mise par erreur). - **Sécurité** : l’indication « prioritaire » fait partie du contenu signé. Un serveur piraté ne peut donc ni imposer une mise à jour, ni retirer la priorité d’un correctif. Les autres contrôles ne changent pas : signature, version strictement supérieure, SHA-256. - ⚠️ **Limite** : les launchers antérieurs à 3.4.0 ignorent cette indication. La priorité ne marchera que pour les joueurs déjà en 3.4.0 ou plus, donc il vaut mieux publier cette 3.4.0 (en version normale) rapidement. **Choix que j’ai faits, à valider** - **« Plus tard » reste possible** sur une version prioritaire : le launcher réessaie au démarrage suivant et affiche un avertissement en attendant. - **Si la nouvelle version ne démarre pas** (retour à l’ancienne), je n’ai pas mis de nouvelle tentative automatique. Sinon le joueur attendrait 60 s à chaque lancement. Il garde un avertissement et le bouton manuel.
nicolas added this to the Système Auto-update milestone 2026-11-10 13:48:22 +01:00
nicolas added the Suggestion/Modification label 2026-11-10 13:48:22 +01:00
nicolas self-assigned this 2026-11-10 13:48:22 +01:00
nicolas_gitea was assigned by nicolas 2026-11-10 13:48:22 +01:00
nicolas added this to the Système d'auto-update project 2026-11-10 13:48:22 +01:00
nicolas added 7 commits 2026-11-10 13:48:23 +01:00
- LauncherRelease.PriorityVersion : dernière version prioritaire publiée,
  dans le payload signé (ignorée par les launchers < 3.4.0)
- IsPriorityRelease, IsPriorityFor(), TryGetPriorityVersion()
- ResolvePriorityVersion() : marquer, reprendre ou retirer la priorité
  d'une publication à l'autre
- Validate() refuse une version prioritaire illisible ou supérieure à la
  version publiée
- LauncherUpdateCheck.IsPriority
Signature, compatibilité sans priorité, launchers forcés ou non,
validation, reprise / retrait par l'outil de publication,
self-update.json sans champ de priorité.
- Recherche au démarrage même option désactivée ; seule une version
  prioritaire est alors installée, self-update.json jamais modifié
- Erreur de téléchargement d'une version prioritaire : retentée au
  démarrage suivant
- Version prioritaire non installée : avertissement dans le bandeau et
  statut orange dans les Paramètres du launcher
Sous-titre dédié précisant que le réglage du joueur ne change pas.
- LauncherPublisher publish : --priority (confirmation o/N), --clear-priority,
  --yes ; priorité reprise du launcher-update.json précédent s'il est signé
- Ligne « Priorité » dans publish et verify
- publish-launcher-update.bat : paramètres --priority, --clear-priority,
  --help (shift /1 pour garder %~dp0)
- Version 3.3.1 → 3.4.0
- Notes de version (notes-launcher.txt, RELEASE-3.4.0.md)
- README §7 : section « Version prioritaire », sécurité, publication
nicolas requested review from nicolas_gitea 2026-11-10 13:48:23 +01:00
nicolas_gitea left a comment
Owner

ok, je valide le code

ok, je valide le code
nicolas merged commit 89570947aa into master 2026-11-10 13:49:27 +01:00
nicolas moved this to En cours in Système d'auto-update on 2026-11-10 13:53:42 +01:00
nicolas moved this to Terminée in Système d'auto-update on 2026-11-10 17:06:57 +01:00
Sign in to join this conversation.