@terreno/rtk 0.23.1 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authSlice.d.ts.map +1 -1
- package/dist/authSlice.js +9 -16
- package/dist/authSlice.js.map +1 -1
- package/dist/useTerrenoFeatureFlags.test.js +12 -0
- package/dist/useTerrenoFeatureFlags.test.js.map +1 -1
- package/package.json +2 -2
- package/src/authSlice.ts +28 -14
- package/src/useTerrenoFeatureFlags.test.ts +15 -0
package/dist/authSlice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSlice.d.ts","sourceRoot":"","sources":["../src/authSlice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,KAAK,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAC,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAKpF,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,aAAa,CAAC;AAG/D,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"authSlice.d.ts","sourceRoot":"","sources":["../src/authSlice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,KAAK,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAC,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAKpF,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,aAAa,CAAC;AAG/D,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAoBD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GACnD;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,wBAAwB,GAEnC,SAAS,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAC7E,MAAM,MAAM;;;;;;CAiDb,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;;;oBA7GzD,MAAM,GAAG,IAAI;mBACd,MAAM,GAAG,IAAI;8BACF,OAAO;uCACE,MAAM,GAAG,IAAI;;;oBAHhC,MAAM,GAAG,IAAI;mBACd,MAAM,GAAG,IAAI;8BACF,OAAO;uCACE,MAAM,GAAG,IAAI;oCAmLI,aAAa,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAC,CAAC;;oBAtLnE,MAAM,GAAG,IAAI;mBACd,MAAM,GAAG,IAAI;8BACF,OAAO;uCACE,MAAM,GAAG,IAAI;;;;;;gBAmL2B,MAAM;;;CAqG1E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,SAA+B,CAAC;AAChG,eAAO,MAAM,+BAA+B,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,IACrC,CAAC;AACxC,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,KAAG,OACnB,CAAC;AAExC,eAAO,MAAM,sBAAsB,QAAO,MAAM,GAAG,SAIlD,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,OAE5C,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAe1D,CAAC"}
|
package/dist/authSlice.js
CHANGED
|
@@ -72,10 +72,8 @@ export const generateAuthSlice = (api) => {
|
|
|
72
72
|
state.isAuthenticating = false;
|
|
73
73
|
console.debug("Login success");
|
|
74
74
|
});
|
|
75
|
-
builder.addMatcher(api.endpoints.emailLogin.matchRejected,
|
|
76
|
-
|
|
77
|
-
(state, action) => {
|
|
78
|
-
state.error = action.payload?.data?.message;
|
|
75
|
+
builder.addMatcher(api.endpoints.emailLogin.matchRejected, (state, action) => {
|
|
76
|
+
state.error = action.payload?.data?.message ?? null;
|
|
79
77
|
state.isAuthenticating = false;
|
|
80
78
|
console.debug("Login rejected", action.payload?.data?.message);
|
|
81
79
|
});
|
|
@@ -89,10 +87,8 @@ export const generateAuthSlice = (api) => {
|
|
|
89
87
|
state.isAuthenticating = false;
|
|
90
88
|
console.debug("Signup success");
|
|
91
89
|
});
|
|
92
|
-
builder.addMatcher(api.endpoints.emailSignUp.matchRejected,
|
|
93
|
-
|
|
94
|
-
(state, action) => {
|
|
95
|
-
state.error = action.payload?.data?.message;
|
|
90
|
+
builder.addMatcher(api.endpoints.emailSignUp.matchRejected, (state, action) => {
|
|
91
|
+
state.error = action.payload?.data?.message ?? null;
|
|
96
92
|
state.isAuthenticating = false;
|
|
97
93
|
console.debug("Signup rejected", action.payload);
|
|
98
94
|
});
|
|
@@ -109,10 +105,8 @@ export const generateAuthSlice = (api) => {
|
|
|
109
105
|
// Safety fallback: clear isAuthenticating in case the listener middleware fails.
|
|
110
106
|
state.isAuthenticating = false;
|
|
111
107
|
});
|
|
112
|
-
builder.addMatcher(api.endpoints.googleLogin.matchRejected,
|
|
113
|
-
|
|
114
|
-
(state, action) => {
|
|
115
|
-
state.error = action.payload?.data?.message;
|
|
108
|
+
builder.addMatcher(api.endpoints.googleLogin.matchRejected, (state, action) => {
|
|
109
|
+
state.error = action.payload?.data?.message ?? null;
|
|
116
110
|
state.isAuthenticating = false;
|
|
117
111
|
});
|
|
118
112
|
},
|
|
@@ -142,7 +136,6 @@ export const generateAuthSlice = (api) => {
|
|
|
142
136
|
// we need to use a listener middleware.
|
|
143
137
|
const loginListenerMiddleware = createListenerMiddleware();
|
|
144
138
|
loginListenerMiddleware.startListening({
|
|
145
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic
|
|
146
139
|
effect: async (action, listenerApi) => {
|
|
147
140
|
if (action.payload?.token &&
|
|
148
141
|
(action.meta?.arg?.endpointName === "emailLogin" ||
|
|
@@ -155,7 +148,7 @@ export const generateAuthSlice = (api) => {
|
|
|
155
148
|
}
|
|
156
149
|
try {
|
|
157
150
|
await SecureStore.setItemAsync("AUTH_TOKEN", action.payload.token);
|
|
158
|
-
await SecureStore.setItemAsync("REFRESH_TOKEN", action.payload.refreshToken);
|
|
151
|
+
await SecureStore.setItemAsync("REFRESH_TOKEN", action.payload.refreshToken ?? "");
|
|
159
152
|
console.debug("Saved auth token to secure storage.");
|
|
160
153
|
}
|
|
161
154
|
catch (error) {
|
|
@@ -174,7 +167,7 @@ export const generateAuthSlice = (api) => {
|
|
|
174
167
|
// Check if we're in a browser environment (not SSR)
|
|
175
168
|
if (typeof window !== "undefined") {
|
|
176
169
|
await AsyncStorage.setItem("AUTH_TOKEN", action.payload.token);
|
|
177
|
-
await AsyncStorage.setItem("REFRESH_TOKEN", action.payload.refreshToken);
|
|
170
|
+
await AsyncStorage.setItem("REFRESH_TOKEN", action.payload.refreshToken ?? "");
|
|
178
171
|
console.debug("Saved auth token to async storage.");
|
|
179
172
|
}
|
|
180
173
|
else {
|
|
@@ -186,7 +179,7 @@ export const generateAuthSlice = (api) => {
|
|
|
186
179
|
throw error;
|
|
187
180
|
}
|
|
188
181
|
}
|
|
189
|
-
listenerApi.dispatch(authSlice.actions.setUserId({ userId: action.payload.userId }));
|
|
182
|
+
listenerApi.dispatch(authSlice.actions.setUserId({ userId: action.payload.userId ?? "" }));
|
|
190
183
|
}
|
|
191
184
|
},
|
|
192
185
|
type: "terreno-rtk/executeMutation/fulfilled",
|
package/dist/authSlice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../src/authSlice.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,SAAS;AACT,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAE3F,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAC,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../src/authSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,18 @@ describe("useTerrenoFeatureFlags ref-count cleanup", () => {
|
|
|
145
145
|
afterEach(async () => {
|
|
146
146
|
await OpenFeature.setProviderAndWait(refcountTestDomain, NOOP_PROVIDER);
|
|
147
147
|
});
|
|
148
|
+
it("awaits pending provider switch during cleanup when unmount overlaps setProviderAndWait", async () => {
|
|
149
|
+
const { api } = buildApi({ data: { alpha: boolDef("on") } });
|
|
150
|
+
// Render and immediately unmount before the provider switch resolves.
|
|
151
|
+
// This exercises the `await pending` path (line 119) in the cleanup.
|
|
152
|
+
const { unmount } = renderHook(() => useTerrenoFeatureFlags(api, { domain: refcountTestDomain, userId: "u-fast" }));
|
|
153
|
+
// Unmount immediately — cleanup fires while the provider switch is still in-flight
|
|
154
|
+
unmount();
|
|
155
|
+
// Allow microtasks (the pending await + NOOP install) to settle
|
|
156
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
157
|
+
// After cleanup the domain should have fallen back to NOOP
|
|
158
|
+
expect(OpenFeature.getClient(refcountTestDomain).getBooleanValue("alpha", false)).toBe(false);
|
|
159
|
+
});
|
|
148
160
|
it("installs NOOP provider after the last hook instance unmounts", async () => {
|
|
149
161
|
const { api } = buildApi({ data: { alpha: boolDef("on") } });
|
|
150
162
|
const { unmount } = renderHook(() => useTerrenoFeatureFlags(api, { domain: refcountTestDomain, userId: "u1" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTerrenoFeatureFlags.test.js","sourceRoot":"","sources":["../src/useTerrenoFeatureFlags.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTerrenoFeatureFlags.test.js","sourceRoot":"","sources":["../src/useTerrenoFeatureFlags.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AAC3E,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAoBhE,MAAM,OAAO,GAAG,CAAC,OAAqB,EAAE,EAAE,CAAC,CAAC;IAC1C,cAAc,EAAE,OAAO;IACvB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAC;CACjC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,WAAwB,EAAE,EAAE;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,gCAAgC,GAAG,IAAI,CAAC,GAAG,EAAE;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1D,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,KAAK;YAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,KAAK;YACzC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,OAAO;YAC3C,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG;QACV,eAAe,EAAE,IAAI,CAAC,CAAC,IAA6C,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE,CAAC,GAAiD,EAAE,EAAE;oBAC3D,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,EAAC,QAAQ,EAAE,gCAAgC,EAAC,CAAC;gBACtD,CAAC;aACF,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,EAAC,gCAAgC,EAAC,CAAC;QAC5C,CAAC,CAAC;KACH,CAAC;IACF,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,gCAAgC,EAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,WAAW,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACrE,MAAM,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,WAAW,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACrE,MAAM,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAC9E,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAC1F,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC;YACrB,KAAK,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAC9E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAC1E,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAC,EAAC,CAAC,CAAC;QACjE,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAY,EAAE;YACnC,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;oBACd,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrB,CAAC;gBACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;oBACb,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,CAAC;aACF;YACD,eAAe,EAAE,qBAAqB;YACtC,MAAM,EAAE,IAAI;SACb,CAAC,CACH,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CACzB,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,EACnF;YACE,OAAO,EAAE,CAAC,EAAC,QAAQ,EAA8B,EAAE,EAAE,CACnD,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;SAClD,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAC,EAAC,CAAC,CAAC;QACxD,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,UAAU,CACnC,CAAC,EAAC,IAAI,EAAmC,EAAE,EAAE;YAC3C,KAAK,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/D,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC,CAAC;YACJ,OAAO,sBAAsB,CAAC,KAAK,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7F,CAAC,EACD,EAAC,YAAY,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAC,EAAC,EAAC,CAChD,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACzC,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,2FAA2F;IAC3F,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;IAE7D,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,EAAC,OAAO,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAChC,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CACrF,CAAC;QACF,mFAAmF;QACnF,OAAO,EAAE,CAAC;QACV,gEAAgE;QAChE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,2DAA2D;QAC3D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAC,GAAG,EAAC,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC,CAAC;QACvD,MAAM,EAAC,OAAO,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAChC,sBAAsB,CAAC,GAAY,EAAE,EAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CACjF,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE;YACH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CACpF,IAAI,CACL,CAAC;QACJ,CAAC,EACD,EAAC,OAAO,EAAE,IAAI,EAAC,CAChB,CAAC;QACF,OAAO,EAAE,CAAC;QACV,MAAM,OAAO,CACX,GAAG,EAAE;YACH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CACpF,KAAK,CACN,CAAC;QACJ,CAAC,EACD,EAAC,OAAO,EAAE,IAAI,EAAC,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"@openfeature/core": "^1.11.0",
|
|
5
5
|
"@react-native-async-storage/async-storage": "2.2.0",
|
|
6
6
|
"@reduxjs/toolkit": "^2.11.1",
|
|
7
|
-
"@terreno/ui": "0.
|
|
7
|
+
"@terreno/ui": "0.24.0",
|
|
8
8
|
"async-mutex": "^0.5.0",
|
|
9
9
|
"axios": "^1.13.2",
|
|
10
10
|
"axios-retry": "^4.5.0",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"test:coverage": "bun run ../scripts/check-coverage.ts"
|
|
74
74
|
},
|
|
75
75
|
"types": "dist/index.d.ts",
|
|
76
|
-
"version": "0.
|
|
76
|
+
"version": "0.24.0"
|
|
77
77
|
}
|
package/src/authSlice.ts
CHANGED
|
@@ -17,6 +17,24 @@ interface AuthState {
|
|
|
17
17
|
lastTokenRefreshTimestamp: number | null;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
interface AuthErrorData {
|
|
21
|
+
message?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface MutationFulfilledAction {
|
|
25
|
+
meta?: {
|
|
26
|
+
arg?: {
|
|
27
|
+
endpointName?: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
payload?: {
|
|
31
|
+
refreshToken?: string;
|
|
32
|
+
token?: string;
|
|
33
|
+
userId?: string;
|
|
34
|
+
};
|
|
35
|
+
type: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
20
38
|
export interface UserResponse {
|
|
21
39
|
data: {
|
|
22
40
|
userId: string;
|
|
@@ -117,9 +135,8 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
117
135
|
});
|
|
118
136
|
builder.addMatcher(
|
|
119
137
|
api.endpoints.emailLogin.matchRejected,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
state.error = action.payload?.data?.message;
|
|
138
|
+
(state, action: PayloadAction<{data?: AuthErrorData}>) => {
|
|
139
|
+
state.error = action.payload?.data?.message ?? null;
|
|
123
140
|
state.isAuthenticating = false;
|
|
124
141
|
console.debug("Login rejected", action.payload?.data?.message);
|
|
125
142
|
}
|
|
@@ -136,9 +153,8 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
136
153
|
});
|
|
137
154
|
builder.addMatcher(
|
|
138
155
|
api.endpoints.emailSignUp.matchRejected,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
state.error = action.payload?.data?.message;
|
|
156
|
+
(state, action: PayloadAction<{data?: AuthErrorData}>) => {
|
|
157
|
+
state.error = action.payload?.data?.message ?? null;
|
|
142
158
|
state.isAuthenticating = false;
|
|
143
159
|
console.debug("Signup rejected", action.payload);
|
|
144
160
|
}
|
|
@@ -158,9 +174,8 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
158
174
|
});
|
|
159
175
|
builder.addMatcher(
|
|
160
176
|
api.endpoints.googleLogin.matchRejected,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
state.error = action.payload?.data?.message;
|
|
177
|
+
(state, action: PayloadAction<{data?: AuthErrorData}>) => {
|
|
178
|
+
state.error = action.payload?.data?.message ?? null;
|
|
164
179
|
state.isAuthenticating = false;
|
|
165
180
|
}
|
|
166
181
|
);
|
|
@@ -191,8 +206,7 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
191
206
|
// we need to use a listener middleware.
|
|
192
207
|
const loginListenerMiddleware = createListenerMiddleware();
|
|
193
208
|
loginListenerMiddleware.startListening({
|
|
194
|
-
|
|
195
|
-
effect: async (action: any, listenerApi) => {
|
|
209
|
+
effect: async (action: MutationFulfilledAction, listenerApi) => {
|
|
196
210
|
if (
|
|
197
211
|
action.payload?.token &&
|
|
198
212
|
(action.meta?.arg?.endpointName === "emailLogin" ||
|
|
@@ -206,7 +220,7 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
206
220
|
}
|
|
207
221
|
try {
|
|
208
222
|
await SecureStore.setItemAsync("AUTH_TOKEN", action.payload.token);
|
|
209
|
-
await SecureStore.setItemAsync("REFRESH_TOKEN", action.payload.refreshToken);
|
|
223
|
+
await SecureStore.setItemAsync("REFRESH_TOKEN", action.payload.refreshToken ?? "");
|
|
210
224
|
console.debug("Saved auth token to secure storage.");
|
|
211
225
|
} catch (error) {
|
|
212
226
|
console.error(`Error setting auth token: ${error}`);
|
|
@@ -223,7 +237,7 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
223
237
|
// Check if we're in a browser environment (not SSR)
|
|
224
238
|
if (typeof window !== "undefined") {
|
|
225
239
|
await AsyncStorage.setItem("AUTH_TOKEN", action.payload.token);
|
|
226
|
-
await AsyncStorage.setItem("REFRESH_TOKEN", action.payload.refreshToken);
|
|
240
|
+
await AsyncStorage.setItem("REFRESH_TOKEN", action.payload.refreshToken ?? "");
|
|
227
241
|
console.debug("Saved auth token to async storage.");
|
|
228
242
|
} else {
|
|
229
243
|
console.warn("Cannot store auth token: window is not defined (SSR context)");
|
|
@@ -233,7 +247,7 @@ export const generateAuthSlice = (api: Api<any, any, any, any, any>) => {
|
|
|
233
247
|
throw error;
|
|
234
248
|
}
|
|
235
249
|
}
|
|
236
|
-
listenerApi.dispatch(authSlice.actions.setUserId({userId: action.payload.userId}));
|
|
250
|
+
listenerApi.dispatch(authSlice.actions.setUserId({userId: action.payload.userId ?? ""}));
|
|
237
251
|
}
|
|
238
252
|
},
|
|
239
253
|
type: "terreno-rtk/executeMutation/fulfilled",
|
|
@@ -196,6 +196,21 @@ describe("useTerrenoFeatureFlags ref-count cleanup", () => {
|
|
|
196
196
|
await OpenFeature.setProviderAndWait(refcountTestDomain, NOOP_PROVIDER);
|
|
197
197
|
});
|
|
198
198
|
|
|
199
|
+
it("awaits pending provider switch during cleanup when unmount overlaps setProviderAndWait", async () => {
|
|
200
|
+
const {api} = buildApi({data: {alpha: boolDef("on")}});
|
|
201
|
+
// Render and immediately unmount before the provider switch resolves.
|
|
202
|
+
// This exercises the `await pending` path (line 119) in the cleanup.
|
|
203
|
+
const {unmount} = renderHook(() =>
|
|
204
|
+
useTerrenoFeatureFlags(api as never, {domain: refcountTestDomain, userId: "u-fast"})
|
|
205
|
+
);
|
|
206
|
+
// Unmount immediately — cleanup fires while the provider switch is still in-flight
|
|
207
|
+
unmount();
|
|
208
|
+
// Allow microtasks (the pending await + NOOP install) to settle
|
|
209
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
210
|
+
// After cleanup the domain should have fallen back to NOOP
|
|
211
|
+
expect(OpenFeature.getClient(refcountTestDomain).getBooleanValue("alpha", false)).toBe(false);
|
|
212
|
+
});
|
|
213
|
+
|
|
199
214
|
it("installs NOOP provider after the last hook instance unmounts", async () => {
|
|
200
215
|
const {api} = buildApi({data: {alpha: boolDef("on")}});
|
|
201
216
|
const {unmount} = renderHook(() =>
|