v0.27.2 — Persiste channel + canSeeBetas dans le cache license
Bug : le LicenseValidationResponse réhydraté par GetCached() ne contenait plus les champs Channel et CanSeeBetas (introduits en v0.26.0). Cause : LocalConfig.LicenseConfig ne persistait pas ces deux champs, donc à chaque relance du launcher (ou simple GetCached), Channel retombait à null et CanSeeBetas à false. Conséquence visible : un client avec license channel='firefighter' côté serveur fetchait toujours /api/manifest (sans ?channel=), recevait le manifest default-only, et ne voyait jamais le build firefighter même après re-validation de license. Fix : - Ajout des champs CachedChannel + CachedCanSeeBetas sur LicenseConfig (persistés dans %LocalAppData%\PSLauncher\config.json) - SaveCached() écrit ces champs depuis la réponse signée du serveur - GetCached() les restaure dans la LicenseValidationResponse renvoyée Migration silencieuse : un launcher pre-v0.27.2 a CachedChannel=null et CachedCanSeeBetas=false dans son config.json. Au prochain Vérifier les MAJ, RefreshLicenseFromServerAsync re-valide la license, le serveur renvoie les valeurs courantes, SaveCached les persiste. La fois d'après le launcher fetch correctement avec ?channel=X. À tester chez l'utilisateur : 1. Recompiler + réinstaller le launcher en v0.27.2 2. Settings → Vérifier les MAJ (force la revalidation license) 3. Vérifier %LocalAppData%\PSLauncher\config.json : "CachedChannel": "firefighter" doit apparaître 4. Le manifest-cache.json devrait alors contenir le bon ZIP Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -212,6 +212,13 @@ public sealed class LicenseService : ILicenseService
|
||||
OwnerName = _config.License.CachedOwnerName,
|
||||
DownloadEntitlementUntil = _config.License.CachedEntitlementUntil,
|
||||
ServerTime = lastValidation,
|
||||
// Restauration des champs channel + canSeeBetas (ajoutés persistants
|
||||
// depuis v0.27.2). Sans ça, le channelProvider du ManifestService
|
||||
// retombait sur null à chaque relance, le client fetch sans
|
||||
// ?channel=, et l'utilisateur ne voyait que les versions default —
|
||||
// jamais les builds spécifiques à son channel (firefighter, police…).
|
||||
Channel = _config.License.CachedChannel,
|
||||
CanSeeBetas = _config.License.CachedCanSeeBetas,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -227,6 +234,8 @@ public sealed class LicenseService : ILicenseService
|
||||
_config.License.CachedOwnerName = response.OwnerName;
|
||||
_config.License.CachedEntitlementUntil = response.DownloadEntitlementUntil;
|
||||
_config.License.CachedStatus = response.Status;
|
||||
_config.License.CachedChannel = response.Channel;
|
||||
_config.License.CachedCanSeeBetas = response.CanSeeBetas;
|
||||
_configStore.Save(_config);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user