mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	fix: do not initialize cache when flag is off (#8969)
This feature is still in early alpha. We do not want to populate any cache on startup. We might not want to do it ever.
This commit is contained in:
		
							parent
							
								
									de7b95a691
								
							
						
					
					
						commit
						c0925ea75c
					
				@ -3,6 +3,7 @@ import type {
 | 
			
		||||
    IFeatureToggleClient,
 | 
			
		||||
    IFeatureToggleClientStore,
 | 
			
		||||
    IFeatureToggleQuery,
 | 
			
		||||
    IFlagResolver,
 | 
			
		||||
} from '../../../types';
 | 
			
		||||
import type { FeatureConfigurationClient } from '../../feature-toggle/types/feature-toggle-strategies-store-type';
 | 
			
		||||
import type ConfigurationRevisionService from '../../feature-toggle/configuration-revision-service';
 | 
			
		||||
@ -99,19 +100,23 @@ export class ClientFeatureToggleCache {
 | 
			
		||||
 | 
			
		||||
    private interval: NodeJS.Timer;
 | 
			
		||||
 | 
			
		||||
    private flagResolver: IFlagResolver;
 | 
			
		||||
 | 
			
		||||
    private configurationRevisionService: ConfigurationRevisionService;
 | 
			
		||||
 | 
			
		||||
    constructor(
 | 
			
		||||
        clientFeatureToggleStore: IFeatureToggleClientStore,
 | 
			
		||||
        eventStore: IEventStore,
 | 
			
		||||
        configurationRevisionService: ConfigurationRevisionService,
 | 
			
		||||
        flagResolver: IFlagResolver,
 | 
			
		||||
    ) {
 | 
			
		||||
        this.eventStore = eventStore;
 | 
			
		||||
        this.configurationRevisionService = configurationRevisionService;
 | 
			
		||||
        this.clientFeatureToggleStore = clientFeatureToggleStore;
 | 
			
		||||
        this.flagResolver = flagResolver;
 | 
			
		||||
        this.onUpdateRevisionEvent = this.onUpdateRevisionEvent.bind(this);
 | 
			
		||||
 | 
			
		||||
        this.initCache();
 | 
			
		||||
        // this.initCache(); TODO: we dont want to initialize cache on startup, but ondemand in future?
 | 
			
		||||
        this.configurationRevisionService.on(
 | 
			
		||||
            UPDATE_REVISION,
 | 
			
		||||
            this.onUpdateRevisionEvent,
 | 
			
		||||
@ -158,8 +163,10 @@ export class ClientFeatureToggleCache {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private async onUpdateRevisionEvent() {
 | 
			
		||||
        if (this.flagResolver.isEnabled('deltaApi')) {
 | 
			
		||||
            await this.pollEvents();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public async pollEvents() {
 | 
			
		||||
        const latestRevision =
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,7 @@ export const createClientFeatureToggleCache = (
 | 
			
		||||
        featureToggleClientStore,
 | 
			
		||||
        eventStore,
 | 
			
		||||
        configurationRevisionService,
 | 
			
		||||
        flagResolver,
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    return clientFeatureToggleCache;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user