about summary refs log tree commit diff
path: root/src/App.web.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-03-06 05:55:34 +0000
committerGitHub <noreply@github.com>2024-03-06 05:55:34 +0000
commiteb298d2e60a0ddf26ebaf8f27373418bbf7769e3 (patch)
tree223bdfdeae951ccbda10c2a47eda0794191c4df0 /src/App.web.tsx
parent26fc0cf66d0cde33e8105495785a1ce4248fb9f7 (diff)
downloadvoidsky-eb298d2e60a0ddf26ebaf8f27373418bbf7769e3.tar.zst
Initial feature gating and A/B testing integration (#3122)
* Add statsig dependency

* Add SDK provider

* Move to separate file, add tier and hashing

* Disable local storage for now

* Add initial gate testing fixture

* Fork for web just in case

* More WIP

* wip

* Rm test gate

* Add shim on native

* Clarify
Diffstat (limited to 'src/App.web.tsx')
-rw-r--r--src/App.web.tsx33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/App.web.tsx b/src/App.web.tsx
index 6ac32a011..eb2e42593 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -32,6 +32,7 @@ import {
 import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
 import * as persisted from '#/state/persisted'
 import {Provider as PortalProvider} from '#/components/Portal'
+import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
 import {useIntentHandler} from 'lib/hooks/useIntentHandler'
 
 function InnerApp() {
@@ -54,21 +55,23 @@ function InnerApp() {
       <React.Fragment
         // Resets the entire tree below when it changes:
         key={currentAccount?.did}>
-        <LoggedOutViewProvider>
-          <SelectedFeedProvider>
-            <UnreadNotifsProvider>
-              <ThemeProvider theme={theme}>
-                {/* All components should be within this provider */}
-                <RootSiblingParent>
-                  <SafeAreaProvider>
-                    <Shell />
-                  </SafeAreaProvider>
-                </RootSiblingParent>
-                <ToastContainer />
-              </ThemeProvider>
-            </UnreadNotifsProvider>
-          </SelectedFeedProvider>
-        </LoggedOutViewProvider>
+        <StatsigProvider>
+          <LoggedOutViewProvider>
+            <SelectedFeedProvider>
+              <UnreadNotifsProvider>
+                <ThemeProvider theme={theme}>
+                  {/* All components should be within this provider */}
+                  <RootSiblingParent>
+                    <SafeAreaProvider>
+                      <Shell />
+                    </SafeAreaProvider>
+                  </RootSiblingParent>
+                  <ToastContainer />
+                </ThemeProvider>
+              </UnreadNotifsProvider>
+            </SelectedFeedProvider>
+          </LoggedOutViewProvider>
+        </StatsigProvider>
       </React.Fragment>
     </Alf>
   )