Skip to content

Commit 7472e75

Browse files
committed
update name to active flags
1 parent d6e05a3 commit 7472e75

File tree

6 files changed

+43
-46
lines changed

6 files changed

+43
-46
lines changed

packages/browser-sdk/src/client.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ export class ReflagClient {
388388
public readonly logger: Logger;
389389

390390
private readonly hooks: HooksManager;
391-
private liveTargetingFlags: Set<string> = new Set();
391+
private activeFlags: Set<string> = new Set();
392392

393393
/**
394394
* Create a new ReflagClient instance.
@@ -852,27 +852,27 @@ export class ReflagClient {
852852
}
853853

854854
/**
855-
* Set the live targeting flags from React SDK.
855+
* Set the active flags from React SDK.
856856
* @internal
857857
*/
858-
setLiveTargetingFlags(flags: Set<string>) {
859-
this.liveTargetingFlags = flags;
860-
this.hooks.trigger("liveTargetingUpdated", flags);
858+
setActiveFlags(flags: Set<string>) {
859+
this.activeFlags = flags;
860+
this.hooks.trigger("activeFlagsUpdated", flags);
861861
}
862862

863863
/**
864-
* Get the current live targeting flags.
864+
* Get the current active flags.
865865
* @internal
866866
*/
867-
getLiveTargetingFlags(): Set<string> {
868-
return this.liveTargetingFlags;
867+
getActiveFlags(): Set<string> {
868+
return this.activeFlags;
869869
}
870870

871871
/**
872872
* Check if a flag is currently being used in React components.
873873
*/
874-
isFlagLiveTargeting(flagKey: string): boolean {
875-
return this.liveTargetingFlags.has(flagKey);
874+
isFlagActive(flagKey: string): boolean {
875+
return this.activeFlags.has(flagKey);
876876
}
877877

878878
/**

packages/browser-sdk/src/hooksManager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export interface HookArgs {
1212
user: UserContext;
1313
company: CompanyContext;
1414
track: TrackEvent;
15-
liveTargetingUpdated: Set<string>;
15+
activeFlagsUpdated: Set<string>;
1616
}
1717

1818
export type TrackEvent = {
@@ -33,14 +33,14 @@ export class HooksManager {
3333
user: ((arg0: UserContext) => void)[];
3434
company: ((arg0: CompanyContext) => void)[];
3535
track: ((arg0: TrackEvent) => void)[];
36-
liveTargetingUpdated: ((arg0: Set<string>) => void)[];
36+
activeFlagsUpdated: ((arg0: Set<string>) => void)[];
3737
} = {
3838
check: [],
3939
flagsUpdated: [],
4040
user: [],
4141
company: [],
4242
track: [],
43-
liveTargetingUpdated: [],
43+
activeFlagsUpdated: [],
4444
};
4545

4646
private _adjustEvent(event: keyof HookArgs) {

packages/browser-sdk/src/toolbar/Flags.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@
8080
gap: 4px;
8181
}
8282

83-
.live-targeting-indicator {
83+
.active-flag-indicator {
8484
color: var(--brand400);
8585
line-height: 0;
8686
}
87-
.live-targeting-indicator svg {
87+
.active-flag-indicator svg {
8888
width: 14px;
8989
height: 14px;
9090
}

packages/browser-sdk/src/toolbar/Flags.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ function FlagRow({
101101
>
102102
<td class="flag-name-cell">
103103
<div class="flag-name-content">
104-
{flag.isLiveTargeting && (
104+
{flag.isActive && (
105105
<span
106-
class="live-targeting-indicator"
106+
class="active-flag-indicator"
107107
data-tooltip="Currently mounted in React"
108108
data-tooltip-left
109109
>

packages/browser-sdk/src/toolbar/Toolbar.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ export type FlagItem = {
2323
flagKey: string;
2424
localOverride: boolean | null;
2525
isEnabled: boolean;
26-
isLiveTargeting: boolean;
26+
isActive: boolean;
2727
};
2828

2929
type Flag = {
3030
flagKey: string;
3131
isEnabled: boolean;
3232
localOverride: boolean | null;
33-
isLiveTargeting: boolean;
33+
isActive: boolean;
3434
};
3535

3636
export default function Toolbar({
@@ -59,7 +59,7 @@ export default function Toolbar({
5959
flagKey: flag.key,
6060
localOverride: flag.isEnabledOverride,
6161
isEnabled: flag.isEnabled,
62-
isLiveTargeting: reflagClient.isFlagLiveTargeting(flag.key),
62+
isActive: reflagClient.isFlagActive(flag.key),
6363
}) satisfies FlagItem,
6464
),
6565
);
@@ -72,7 +72,7 @@ export default function Toolbar({
7272
useEffect(() => {
7373
updateFlags();
7474
reflagClient.on("flagsUpdated", updateFlags);
75-
reflagClient.on("liveTargetingUpdated", updateFlags);
75+
reflagClient.on("activeFlagsUpdated", updateFlags);
7676
}, [reflagClient, updateFlags]);
7777

7878
const [search, setSearch] = useState<string | null>(null);

packages/react-sdk/src/index.tsx

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ type ProviderContextType = {
123123
isLoading: boolean;
124124
};
125125
provider: boolean;
126-
liveTargetingFlags: Set<string>;
127-
registerLiveTargetingFlag: (flagKey: string) => void;
128-
unregisterLiveTargetingFlag: (flagKey: string) => void;
126+
activeFlags: Set<string>;
127+
registerActiveFlag: (flagKey: string) => void;
128+
unregisterActiveFlag: (flagKey: string) => void;
129129
};
130130

131131
const ProviderContext = createContext<ProviderContextType>({
@@ -134,11 +134,11 @@ const ProviderContext = createContext<ProviderContextType>({
134134
isLoading: false,
135135
},
136136
provider: false,
137-
liveTargetingFlags: new Set(),
138-
registerLiveTargetingFlag: () => {
137+
activeFlags: new Set(),
138+
registerActiveFlag: () => {
139139
// No-op default implementation
140140
},
141-
unregisterLiveTargetingFlag: () => {
141+
unregisterActiveFlag: () => {
142142
// No-op default implementation
143143
},
144144
});
@@ -187,9 +187,7 @@ export function ReflagProvider({
187187
}: ReflagProps) {
188188
const [featuresLoading, setFlagsLoading] = useState(true);
189189
const [rawFlags, setRawFlags] = useState<RawFlags>({});
190-
const [liveTargetingFlags, setLiveTargetingFlags] = useState<Set<string>>(
191-
new Set(),
192-
);
190+
const [activeFlags, setActiveFlags] = useState<Set<string>>(new Set());
193191

194192
const clientRef = useRef<ReflagClient>();
195193
const contextKeyRef = useRef<string>();
@@ -237,21 +235,21 @@ export function ReflagProvider({
237235
// eslint-disable-next-line react-hooks/exhaustive-deps -- should only run once
238236
}, [contextKey]);
239237

240-
const registerLiveTargetingFlag = useCallback((flagKey: string) => {
241-
setLiveTargetingFlags((prev) => {
238+
const registerActiveFlag = useCallback((flagKey: string) => {
239+
setActiveFlags((prev) => {
242240
const newSet = new Set(prev).add(flagKey);
243241
// Sync with browser SDK client
244-
clientRef.current?.setLiveTargetingFlags(newSet);
242+
clientRef.current?.setActiveFlags(newSet);
245243
return newSet;
246244
});
247245
}, []);
248246

249-
const unregisterLiveTargetingFlag = useCallback((flagKey: string) => {
250-
setLiveTargetingFlags((prev) => {
247+
const unregisterActiveFlag = useCallback((flagKey: string) => {
248+
setActiveFlags((prev) => {
251249
const newSet = new Set(prev);
252250
newSet.delete(flagKey);
253251
// Sync with browser SDK client
254-
clientRef.current?.setLiveTargetingFlags(newSet);
252+
clientRef.current?.setActiveFlags(newSet);
255253
return newSet;
256254
});
257255
}, []);
@@ -263,9 +261,9 @@ export function ReflagProvider({
263261
},
264262
client: clientRef.current,
265263
provider: true,
266-
liveTargetingFlags,
267-
registerLiveTargetingFlag,
268-
unregisterLiveTargetingFlag,
264+
activeFlags,
265+
registerActiveFlag,
266+
unregisterActiveFlag,
269267
};
270268
return (
271269
<ProviderContext.Provider value={context}>
@@ -303,18 +301,17 @@ export function useFlag<TKey extends FlagKey>(key: TKey): TypedFlags[TKey] {
303301
const client = useClient();
304302
const {
305303
features: { isLoading },
306-
registerLiveTargetingFlag,
307-
unregisterLiveTargetingFlag,
304+
registerActiveFlag,
305+
unregisterActiveFlag,
308306
} = useContext<ProviderContextType>(ProviderContext);
309307

310-
// Track mount/unmount for live targeting indicator
308+
// Track mount/unmount for active flag indicator
311309
useEffect(() => {
312-
console.log("registering live targeting flag", key);
313-
registerLiveTargetingFlag(key);
310+
registerActiveFlag(key);
314311
return () => {
315-
unregisterLiveTargetingFlag(key);
312+
unregisterActiveFlag(key);
316313
};
317-
}, [key, registerLiveTargetingFlag, unregisterLiveTargetingFlag]);
314+
}, [key, registerActiveFlag, unregisterActiveFlag]);
318315

319316
const track = () => client?.track(key);
320317
const requestFeedback = (opts: RequestFeedbackOptions) =>

0 commit comments

Comments
 (0)