From 8d405349b540d0a91f7957f04d6bc5276dd81a33 Mon Sep 17 00:00:00 2001 From: Luke Mino-Altherr Date: Wed, 3 Dec 2025 17:07:46 -0800 Subject: [PATCH] [feat] Add remote config support for model upload and asset update feature flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/composables/useFeatureFlags.ts | 21 +++++++++++++++------ src/platform/remoteConfig/types.ts | 2 ++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/composables/useFeatureFlags.ts b/src/composables/useFeatureFlags.ts index 3c12ae93d4..de8c859124 100644 --- a/src/composables/useFeatureFlags.ts +++ b/src/composables/useFeatureFlags.ts @@ -1,5 +1,6 @@ import { computed, reactive, readonly } from 'vue' +import { remoteConfig } from '@/platform/remoteConfig/remoteConfig' import { api } from '@/scripts/api' /** @@ -28,15 +29,23 @@ export function useFeatureFlags() { return api.getServerFeature(ServerFeatureFlag.MANAGER_SUPPORTS_V4) }, get modelUploadButtonEnabled() { - return api.getServerFeature( - ServerFeatureFlag.MODEL_UPLOAD_BUTTON_ENABLED, - false + // Check remote config first (from /api/features), fall back to websocket feature flags + return ( + remoteConfig.value.model_upload_button_enabled ?? + api.getServerFeature( + ServerFeatureFlag.MODEL_UPLOAD_BUTTON_ENABLED, + false + ) ) }, get assetUpdateOptionsEnabled() { - return api.getServerFeature( - ServerFeatureFlag.ASSET_UPDATE_OPTIONS_ENABLED, - false + // Check remote config first (from /api/features), fall back to websocket feature flags + return ( + remoteConfig.value.asset_update_options_enabled ?? + api.getServerFeature( + ServerFeatureFlag.ASSET_UPDATE_OPTIONS_ENABLED, + false + ) ) } }) diff --git a/src/platform/remoteConfig/types.ts b/src/platform/remoteConfig/types.ts index e33cde3095..8d2c400f37 100644 --- a/src/platform/remoteConfig/types.ts +++ b/src/platform/remoteConfig/types.ts @@ -34,4 +34,6 @@ export type RemoteConfig = { comfy_platform_base_url?: string firebase_config?: FirebaseRuntimeConfig telemetry_disabled_events?: TelemetryEventName[] + model_upload_button_enabled?: boolean + asset_update_options_enabled?: boolean }