Skip to content

Commit caaf7f5

Browse files
dalkiaclaude
andauthored
chore: gate ISS descriptor behind new-lods feature flag (#8917)
Adds a `new-lods` feature flag and short-circuits LoadISSDescriptorSystem when it is disabled, so every scene falls back to the pre-ISS path. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6eef466 commit caaf7f5

3 files changed

Lines changed: 11 additions & 1 deletion

File tree

Explorer/Assets/DCL/FeatureFlags/FeatureFlagsStrings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public static class FeatureFlagsStrings
7878
public const string DOUBLE_CLICK_WALK = "alfa-double-click-walk";
7979
public const string AB_DEPS_DIGEST_CACHE_KEY = "alfa-ab-deps-digest-cache-key";
8080
public const string BYTE_WEIGHTED_LOADING_PROGRESS = "alfa-byte-weighted-loading-progress";
81+
public const string NEW_LODS = "new-lods";
8182

8283
public static class Endpoints
8384
{

Explorer/Assets/DCL/Infrastructure/ECS/ECS.asmdef

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
"GUID:101b8b6ebaf64668909b49c4b7a1420d",
99
"GUID:286980af24684da6acc1caa413039811",
1010
"GUID:275e22790c04e9b47a5085d7b0c4432a",
11-
"GUID:3640f3c0b42946b0b8794a1ed8e06ca5"
11+
"GUID:3640f3c0b42946b0b8794a1ed8e06ca5",
12+
"GUID:e25ef972de004615a22937e739de2def"
1213
],
1314
"includePlatforms": [],
1415
"excludePlatforms": [],

Explorer/Assets/DCL/Infrastructure/ECS/StreamableLoading/AssetBundles/InitialSceneState/LoadISSDescriptorSystem.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using CommunicationData.URLHelpers;
44
using Cysharp.Threading.Tasks;
55
using DCL.Diagnostics;
6+
using DCL.FeatureFlags;
67
using DCL.Ipfs;
78
using DCL.Utility;
89
using DCL.WebRequests;
@@ -50,6 +51,13 @@ internal LoadISSDescriptorSystem(World world, IWebRequestController webRequestCo
5051

5152
protected override async UniTask<StreamableLoadingResult<ISSDescriptorMetadata>> FlowInternalAsync(GetISSDescriptorIntention intention, StreamableLoadingState state, IPartitionComponent partition, CancellationToken ct)
5253
{
54+
// Feature-flag gate: when disabled, short-circuit with a failed result so the consumer
55+
// in ResolveISSDescriptorSystem treats every scene as "no ISS" and falls back to the
56+
// pre-ISS code path. Same shape as the SupportsISS check below — failed result is not
57+
// persisted to disk by LoadSystemBase.
58+
if (!FeatureFlagsConfiguration.Instance.IsEnabled(FeatureFlagsStrings.NEW_LODS))
59+
return new StreamableLoadingResult<ISSDescriptorMetadata>(GetReportData(), new Exception("new-lods feature flag disabled"));
60+
5361
// Skip network roundtrips entirely for AB versions that pre-date ISS support. Returning a
5462
// failed result (plain Exception, not StreamableLoadingException) keeps the disk cache clean
5563
// — LoadSystemBase only persists on success — and doesn't spam logs from the result ctor.

0 commit comments

Comments
 (0)