@oxyhq/services 5.24.0 → 5.26.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/README.md +60 -8
- package/lib/commonjs/core/AuthManager.js +405 -0
- package/lib/commonjs/core/AuthManager.js.map +1 -0
- package/lib/commonjs/core/HttpService.js +39 -1
- package/lib/commonjs/core/HttpService.js.map +1 -1
- package/lib/commonjs/core/index.js +16 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js +38 -44
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.popup.js +9 -7
- package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -1
- package/lib/commonjs/index.js +321 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/shared/index.js +227 -0
- package/lib/commonjs/shared/index.js.map +1 -0
- package/lib/commonjs/shared/utils/colorUtils.js +161 -0
- package/lib/commonjs/shared/utils/colorUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/debugUtils.js +84 -0
- package/lib/commonjs/shared/utils/debugUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/errorUtils.js +190 -0
- package/lib/commonjs/shared/utils/errorUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/index.js +196 -0
- package/lib/commonjs/shared/utils/index.js.map +1 -0
- package/lib/commonjs/shared/utils/networkUtils.js +213 -0
- package/lib/commonjs/shared/utils/networkUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/themeUtils.js +118 -0
- package/lib/commonjs/shared/utils/themeUtils.js.map +1 -0
- package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -1
- package/lib/commonjs/ui/components/FontLoader.js +1 -1
- package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +1 -1
- package/lib/commonjs/ui/components/Header.js +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +9 -1
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +19 -20
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/QuickActions.js +1 -1
- package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
- package/lib/commonjs/ui/components/Section.js +1 -1
- package/lib/commonjs/ui/components/SectionTitle.js +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +546 -0
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +2 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
- package/lib/commonjs/ui/hooks/useColorScheme.js.map +1 -0
- package/lib/commonjs/ui/hooks/useSessionSocket.js +6 -12
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useThemeColors.js +1 -1
- package/lib/commonjs/ui/hooks/useThemeStyles.js +1 -1
- package/lib/commonjs/ui/navigation/bottomSheetManager.js +5 -2
- package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +7 -8
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +7 -7
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +6 -6
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -2
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +1 -1
- package/lib/commonjs/ui/screens/FollowersListScreen.js +18 -0
- package/lib/commonjs/ui/screens/FollowersListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/FollowingListScreen.js +18 -0
- package/lib/commonjs/ui/screens/FollowingListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +1 -1
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +229 -0
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +9 -21
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +411 -0
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/commonjs/ui/stores/authStore.js +4 -6
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/utils/colorUtils.js +43 -46
- package/lib/commonjs/ui/utils/colorUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/themeUtils.js +29 -39
- package/lib/commonjs/ui/utils/themeUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/{user-utils.js → userUtils.js} +1 -1
- package/lib/commonjs/ui/utils/userUtils.js.map +1 -0
- package/lib/commonjs/utils/errorUtils.js +0 -13
- package/lib/commonjs/utils/errorUtils.js.map +1 -1
- package/lib/commonjs/utils/hookUtils.js +8 -8
- package/lib/commonjs/utils/hookUtils.js.map +1 -1
- package/lib/commonjs/web/WebOxyContext.js +277 -72
- package/lib/commonjs/web/WebOxyContext.js.map +1 -1
- package/lib/commonjs/web/index.js +177 -4
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web.js +12 -12
- package/lib/commonjs/web.js.map +1 -1
- package/lib/module/core/AuthManager.js +399 -0
- package/lib/module/core/AuthManager.js.map +1 -0
- package/lib/module/core/HttpService.js +39 -1
- package/lib/module/core/HttpService.js.map +1 -1
- package/lib/module/core/index.js +2 -0
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.fedcm.js +38 -44
- package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.popup.js +9 -7
- package/lib/module/core/mixins/OxyServices.popup.js.map +1 -1
- package/lib/module/index.js +27 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/shared/index.js +37 -0
- package/lib/module/shared/index.js.map +1 -0
- package/lib/module/shared/utils/colorUtils.js +150 -0
- package/lib/module/shared/utils/colorUtils.js.map +1 -0
- package/lib/module/shared/utils/debugUtils.js +75 -0
- package/lib/module/shared/utils/debugUtils.js.map +1 -0
- package/lib/module/shared/utils/errorUtils.js +176 -0
- package/lib/module/shared/utils/errorUtils.js.map +1 -0
- package/lib/module/shared/utils/index.js +21 -0
- package/lib/module/shared/utils/index.js.map +1 -0
- package/lib/module/shared/utils/networkUtils.js +202 -0
- package/lib/module/shared/utils/networkUtils.js.map +1 -0
- package/lib/module/shared/utils/themeUtils.js +109 -0
- package/lib/module/shared/utils/themeUtils.js.map +1 -0
- package/lib/module/ui/components/BottomSheetRouter.js +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/FontLoader.js +1 -1
- package/lib/module/ui/components/FontLoader.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +1 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Header.js +1 -1
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +9 -1
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +20 -21
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +1 -1
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/QuickActions.js +1 -1
- package/lib/module/ui/components/QuickActions.js.map +1 -1
- package/lib/module/ui/components/Section.js +1 -1
- package/lib/module/ui/components/Section.js.map +1 -1
- package/lib/module/ui/components/SectionTitle.js +1 -1
- package/lib/module/ui/components/SectionTitle.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +536 -0
- package/lib/module/ui/components/SignInModal.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +1 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
- package/lib/module/ui/hooks/useColorScheme.js.map +1 -0
- package/lib/module/ui/hooks/useSessionSocket.js +6 -12
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useThemeColors.js +1 -1
- package/lib/module/ui/hooks/useThemeColors.js.map +1 -1
- package/lib/module/ui/hooks/useThemeStyles.js +1 -1
- package/lib/module/ui/hooks/useThemeStyles.js.map +1 -1
- package/lib/module/ui/navigation/bottomSheetManager.js +5 -2
- package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +7 -8
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +7 -7
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +6 -6
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +2 -2
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/FollowersListScreen.js +13 -0
- package/lib/module/ui/screens/FollowersListScreen.js.map +1 -0
- package/lib/module/ui/screens/FollowingListScreen.js +13 -0
- package/lib/module/ui/screens/FollowingListScreen.js.map +1 -0
- package/lib/module/ui/screens/HelpSupportScreen.js +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +224 -0
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
- package/lib/module/ui/screens/LegalDocumentsScreen.js +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +9 -21
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +1 -1
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +405 -0
- package/lib/module/ui/screens/UserListScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +4 -6
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/utils/colorUtils.js +7 -40
- package/lib/module/ui/utils/colorUtils.js.map +1 -1
- package/lib/module/ui/utils/themeUtils.js +7 -35
- package/lib/module/ui/utils/themeUtils.js.map +1 -1
- package/lib/module/ui/utils/{user-utils.js → userUtils.js} +1 -1
- package/lib/module/ui/utils/userUtils.js.map +1 -0
- package/lib/module/utils/errorUtils.js +0 -7
- package/lib/module/utils/errorUtils.js.map +1 -1
- package/lib/module/utils/hookUtils.js +8 -8
- package/lib/module/utils/hookUtils.js.map +1 -1
- package/lib/module/web/WebOxyContext.js +276 -72
- package/lib/module/web/WebOxyContext.js.map +1 -1
- package/lib/module/web/index.js +26 -5
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web.js +2 -1
- package/lib/module/web.js.map +1 -1
- package/lib/typescript/commonjs/core/AuthManager.d.ts +144 -0
- package/lib/typescript/commonjs/core/AuthManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/index.d.ts +2 -0
- package/lib/typescript/commonjs/core/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/mixins/OxyServices.popup.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +16 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/models/session.d.ts +4 -0
- package/lib/typescript/commonjs/models/session.d.ts.map +1 -1
- package/lib/typescript/commonjs/shared/index.d.ts +29 -0
- package/lib/typescript/commonjs/shared/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts +105 -0
- package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts +49 -0
- package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts +98 -0
- package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/index.d.ts +14 -0
- package/lib/typescript/commonjs/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts +140 -0
- package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts +91 -0
- package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +18 -0
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +1 -2
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
- package/lib/typescript/commonjs/ui/hooks/useColorScheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +2 -0
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts +9 -0
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts +9 -0
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts +11 -0
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts +7 -11
- package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts +6 -19
- package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
- package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/errorUtils.d.ts +0 -6
- package/lib/typescript/commonjs/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/web/WebOxyContext.d.ts +113 -4
- package/lib/typescript/commonjs/web/WebOxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/web/index.d.ts +20 -9
- package/lib/typescript/commonjs/web/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/web.d.ts +2 -1
- package/lib/typescript/commonjs/web.d.ts.map +1 -1
- package/lib/typescript/module/core/AuthManager.d.ts +144 -0
- package/lib/typescript/module/core/AuthManager.d.ts.map +1 -0
- package/lib/typescript/module/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/module/core/index.d.ts +2 -0
- package/lib/typescript/module/core/index.d.ts.map +1 -1
- package/lib/typescript/module/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
- package/lib/typescript/module/core/mixins/OxyServices.popup.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +16 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/models/session.d.ts +4 -0
- package/lib/typescript/module/models/session.d.ts.map +1 -1
- package/lib/typescript/module/shared/index.d.ts +29 -0
- package/lib/typescript/module/shared/index.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/colorUtils.d.ts +105 -0
- package/lib/typescript/module/shared/utils/colorUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/debugUtils.d.ts +49 -0
- package/lib/typescript/module/shared/utils/debugUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/errorUtils.d.ts +98 -0
- package/lib/typescript/module/shared/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/index.d.ts +14 -0
- package/lib/typescript/module/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/networkUtils.d.ts +140 -0
- package/lib/typescript/module/shared/utils/networkUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/themeUtils.d.ts +91 -0
- package/lib/typescript/module/shared/utils/themeUtils.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +18 -0
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +1 -2
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
- package/lib/typescript/module/ui/hooks/useColorScheme.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +2 -0
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts +9 -0
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts +9 -0
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts +11 -0
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/colorUtils.d.ts +7 -11
- package/lib/typescript/module/ui/utils/colorUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/themeUtils.d.ts +6 -19
- package/lib/typescript/module/ui/utils/themeUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
- package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -0
- package/lib/typescript/module/utils/errorUtils.d.ts +0 -6
- package/lib/typescript/module/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/module/web/WebOxyContext.d.ts +113 -4
- package/lib/typescript/module/web/WebOxyContext.d.ts.map +1 -1
- package/lib/typescript/module/web/index.d.ts +20 -9
- package/lib/typescript/module/web/index.d.ts.map +1 -1
- package/lib/typescript/module/web.d.ts +2 -1
- package/lib/typescript/module/web.d.ts.map +1 -1
- package/package.json +8 -2
- package/src/core/AuthManager.ts +436 -0
- package/src/core/HttpService.ts +43 -1
- package/src/core/index.ts +4 -0
- package/src/core/mixins/OxyServices.fedcm.ts +37 -42
- package/src/core/mixins/OxyServices.popup.ts +10 -7
- package/src/index.ts +76 -11
- package/src/models/session.ts +4 -0
- package/src/shared/index.ts +82 -0
- package/src/shared/utils/colorUtils.ts +155 -0
- package/src/shared/utils/debugUtils.ts +73 -0
- package/src/shared/utils/errorUtils.ts +181 -0
- package/src/shared/utils/index.ts +59 -0
- package/src/shared/utils/networkUtils.ts +248 -0
- package/src/shared/utils/themeUtils.ts +115 -0
- package/src/ui/components/BottomSheetRouter.tsx +1 -1
- package/src/ui/components/FontLoader.tsx +1 -2
- package/src/ui/components/GroupedItem.tsx +1 -1
- package/src/ui/components/Header.tsx +1 -1
- package/src/ui/components/OxyProvider.tsx +10 -0
- package/src/ui/components/OxySignInButton.tsx +20 -22
- package/src/ui/components/ProfileCard.tsx +1 -1
- package/src/ui/components/QuickActions.tsx +1 -1
- package/src/ui/components/Section.tsx +1 -1
- package/src/ui/components/SectionTitle.tsx +1 -1
- package/src/ui/components/SignInModal.tsx +534 -0
- package/src/ui/context/OxyContext.tsx +1 -2
- package/src/ui/hooks/queries/queryKeys.ts +2 -2
- package/src/ui/hooks/useSessionSocket.ts +12 -17
- package/src/ui/hooks/useThemeColors.ts +1 -1
- package/src/ui/hooks/useThemeStyles.ts +1 -1
- package/src/ui/navigation/bottomSheetManager.ts +5 -1
- package/src/ui/navigation/routes.ts +8 -9
- package/src/ui/screens/AccountCenterScreen.tsx +7 -7
- package/src/ui/screens/AccountOverviewScreen.tsx +6 -6
- package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/AppInfoScreen.tsx +1 -1
- package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
- package/src/ui/screens/FileManagementScreen.tsx +1 -1
- package/src/ui/screens/FollowersListScreen.tsx +14 -0
- package/src/ui/screens/FollowingListScreen.tsx +14 -0
- package/src/ui/screens/HelpSupportScreen.tsx +1 -1
- package/src/ui/screens/HistoryViewScreen.tsx +1 -1
- package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +231 -0
- package/src/ui/screens/LegalDocumentsScreen.tsx +1 -1
- package/src/ui/screens/OxyAuthScreen.tsx +10 -21
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +1 -1
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
- package/src/ui/screens/UserListScreen.tsx +416 -0
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +1 -1
- package/src/ui/stores/authStore.ts +5 -6
- package/src/ui/utils/colorUtils.ts +15 -43
- package/src/ui/utils/themeUtils.ts +14 -39
- package/src/utils/errorUtils.ts +1 -6
- package/src/utils/hookUtils.ts +8 -8
- package/src/web/WebOxyContext.tsx +330 -72
- package/src/web/index.ts +77 -7
- package/src/web.ts +1 -1
- package/lib/commonjs/ui/hooks/use-color-scheme.js.map +0 -1
- package/lib/commonjs/ui/utils/user-utils.js.map +0 -1
- package/lib/module/ui/hooks/use-color-scheme.js.map +0 -1
- package/lib/module/ui/utils/user-utils.js.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/use-color-scheme.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/utils/user-utils.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/use-color-scheme.d.ts.map +0 -1
- package/lib/typescript/module/ui/utils/user-utils.d.ts.map +0 -1
- /package/src/ui/hooks/{use-color-scheme.ts → useColorScheme.ts} +0 -0
- /package/src/ui/utils/{user-utils.ts → userUtils.ts} +0 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AuthManager - Centralized Authentication Manager
|
|
5
|
+
*
|
|
6
|
+
* Provides a unified authentication interface for all platforms.
|
|
7
|
+
* Handles token storage, session management, and auth state changes.
|
|
8
|
+
*
|
|
9
|
+
* @module core/AuthManager
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* OxyServices with optional FedCM methods (provided by FedCM mixin).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Storage adapter interface for platform-agnostic storage.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Auth state change callback type.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Auth method types.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Auth manager configuration.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Storage keys used by AuthManager.
|
|
34
|
+
*/
|
|
35
|
+
const STORAGE_KEYS = {
|
|
36
|
+
ACCESS_TOKEN: 'oxy_access_token',
|
|
37
|
+
REFRESH_TOKEN: 'oxy_refresh_token',
|
|
38
|
+
SESSION: 'oxy_session',
|
|
39
|
+
USER: 'oxy_user',
|
|
40
|
+
AUTH_METHOD: 'oxy_auth_method'
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Default in-memory storage for non-browser environments.
|
|
45
|
+
*/
|
|
46
|
+
class MemoryStorage {
|
|
47
|
+
store = new Map();
|
|
48
|
+
getItem(key) {
|
|
49
|
+
return this.store.get(key) ?? null;
|
|
50
|
+
}
|
|
51
|
+
setItem(key, value) {
|
|
52
|
+
this.store.set(key, value);
|
|
53
|
+
}
|
|
54
|
+
removeItem(key) {
|
|
55
|
+
this.store.delete(key);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Browser localStorage adapter.
|
|
61
|
+
*/
|
|
62
|
+
class LocalStorageAdapter {
|
|
63
|
+
getItem(key) {
|
|
64
|
+
if (typeof window === 'undefined') return null;
|
|
65
|
+
try {
|
|
66
|
+
return localStorage.getItem(key);
|
|
67
|
+
} catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
setItem(key, value) {
|
|
72
|
+
if (typeof window === 'undefined') return;
|
|
73
|
+
try {
|
|
74
|
+
localStorage.setItem(key, value);
|
|
75
|
+
} catch {
|
|
76
|
+
// Storage full or blocked
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
removeItem(key) {
|
|
80
|
+
if (typeof window === 'undefined') return;
|
|
81
|
+
try {
|
|
82
|
+
localStorage.removeItem(key);
|
|
83
|
+
} catch {
|
|
84
|
+
// Ignore errors
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* AuthManager - Centralized authentication management.
|
|
91
|
+
*
|
|
92
|
+
* Provides a single point of control for:
|
|
93
|
+
* - Token storage and retrieval
|
|
94
|
+
* - Session management
|
|
95
|
+
* - Auth state change notifications
|
|
96
|
+
* - Multiple auth method support
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const authManager = new AuthManager(oxyServices);
|
|
101
|
+
*
|
|
102
|
+
* // Listen for auth changes
|
|
103
|
+
* authManager.onAuthStateChange((user) => {
|
|
104
|
+
* console.log('Auth state changed:', user);
|
|
105
|
+
* });
|
|
106
|
+
*
|
|
107
|
+
* // Handle successful auth
|
|
108
|
+
* await authManager.handleAuthSuccess(session);
|
|
109
|
+
*
|
|
110
|
+
* // Sign out
|
|
111
|
+
* await authManager.signOut();
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export class AuthManager {
|
|
115
|
+
listeners = new Set();
|
|
116
|
+
currentUser = null;
|
|
117
|
+
refreshTimer = null;
|
|
118
|
+
constructor(oxyServices, config = {}) {
|
|
119
|
+
this.oxyServices = oxyServices;
|
|
120
|
+
this.config = {
|
|
121
|
+
storage: config.storage ?? this.getDefaultStorage(),
|
|
122
|
+
autoRefresh: config.autoRefresh ?? true,
|
|
123
|
+
refreshBuffer: config.refreshBuffer ?? 5 * 60 * 1000 // 5 minutes
|
|
124
|
+
};
|
|
125
|
+
this.storage = this.config.storage;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get default storage based on environment.
|
|
130
|
+
*/
|
|
131
|
+
getDefaultStorage() {
|
|
132
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
133
|
+
return new LocalStorageAdapter();
|
|
134
|
+
}
|
|
135
|
+
return new MemoryStorage();
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Subscribe to auth state changes.
|
|
140
|
+
*
|
|
141
|
+
* @param callback - Function called when auth state changes
|
|
142
|
+
* @returns Unsubscribe function
|
|
143
|
+
*/
|
|
144
|
+
onAuthStateChange(callback) {
|
|
145
|
+
this.listeners.add(callback);
|
|
146
|
+
// Call immediately with current state
|
|
147
|
+
callback(this.currentUser);
|
|
148
|
+
return () => {
|
|
149
|
+
this.listeners.delete(callback);
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Notify all listeners of auth state change.
|
|
155
|
+
*/
|
|
156
|
+
notifyListeners() {
|
|
157
|
+
for (const listener of this.listeners) {
|
|
158
|
+
try {
|
|
159
|
+
listener(this.currentUser);
|
|
160
|
+
} catch {
|
|
161
|
+
// Ignore listener errors
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Handle successful authentication.
|
|
168
|
+
*
|
|
169
|
+
* @param session - Session response from auth
|
|
170
|
+
* @param method - Auth method used
|
|
171
|
+
*/
|
|
172
|
+
async handleAuthSuccess(session, method = 'credentials') {
|
|
173
|
+
// Store tokens
|
|
174
|
+
if (session.accessToken) {
|
|
175
|
+
await this.storage.setItem(STORAGE_KEYS.ACCESS_TOKEN, session.accessToken);
|
|
176
|
+
this.oxyServices.httpService.setTokens(session.accessToken);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Store refresh token if available
|
|
180
|
+
if (session.refreshToken) {
|
|
181
|
+
await this.storage.setItem(STORAGE_KEYS.REFRESH_TOKEN, session.refreshToken);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// Store session info
|
|
185
|
+
await this.storage.setItem(STORAGE_KEYS.SESSION, JSON.stringify({
|
|
186
|
+
sessionId: session.sessionId,
|
|
187
|
+
deviceId: session.deviceId,
|
|
188
|
+
expiresAt: session.expiresAt
|
|
189
|
+
}));
|
|
190
|
+
|
|
191
|
+
// Store user only if it has valid required fields (not an empty placeholder)
|
|
192
|
+
if (session.user && typeof session.user.id === 'string' && session.user.id.length > 0) {
|
|
193
|
+
await this.storage.setItem(STORAGE_KEYS.USER, JSON.stringify(session.user));
|
|
194
|
+
this.currentUser = session.user;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Store auth method
|
|
198
|
+
await this.storage.setItem(STORAGE_KEYS.AUTH_METHOD, method);
|
|
199
|
+
|
|
200
|
+
// Setup auto-refresh if enabled
|
|
201
|
+
if (this.config.autoRefresh && session.expiresAt) {
|
|
202
|
+
this.setupTokenRefresh(session.expiresAt);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Notify listeners
|
|
206
|
+
this.notifyListeners();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Setup automatic token refresh.
|
|
211
|
+
*/
|
|
212
|
+
setupTokenRefresh(expiresAt) {
|
|
213
|
+
if (this.refreshTimer) {
|
|
214
|
+
clearTimeout(this.refreshTimer);
|
|
215
|
+
}
|
|
216
|
+
const expiresAtMs = new Date(expiresAt).getTime();
|
|
217
|
+
const now = Date.now();
|
|
218
|
+
const refreshAt = expiresAtMs - this.config.refreshBuffer;
|
|
219
|
+
const delay = Math.max(0, refreshAt - now);
|
|
220
|
+
if (delay > 0) {
|
|
221
|
+
this.refreshTimer = setTimeout(() => {
|
|
222
|
+
this.refreshToken().catch(() => {
|
|
223
|
+
// Refresh failed, user will need to re-auth
|
|
224
|
+
});
|
|
225
|
+
}, delay);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Refresh the access token.
|
|
231
|
+
*/
|
|
232
|
+
async refreshToken() {
|
|
233
|
+
const refreshToken = await this.storage.getItem(STORAGE_KEYS.REFRESH_TOKEN);
|
|
234
|
+
if (!refreshToken) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
try {
|
|
238
|
+
// Cast httpService to proper type (needed due to mixin composition)
|
|
239
|
+
const httpService = this.oxyServices.httpService;
|
|
240
|
+
const response = await httpService.request({
|
|
241
|
+
method: 'POST',
|
|
242
|
+
url: '/api/auth/refresh',
|
|
243
|
+
data: {
|
|
244
|
+
refreshToken
|
|
245
|
+
},
|
|
246
|
+
cache: false
|
|
247
|
+
});
|
|
248
|
+
await this.handleAuthSuccess(response, 'credentials');
|
|
249
|
+
return true;
|
|
250
|
+
} catch {
|
|
251
|
+
// Refresh failed, clear session and update state
|
|
252
|
+
await this.clearSession();
|
|
253
|
+
this.currentUser = null;
|
|
254
|
+
this.notifyListeners();
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Sign out and clear all auth data.
|
|
261
|
+
*/
|
|
262
|
+
async signOut() {
|
|
263
|
+
// Clear refresh timer
|
|
264
|
+
if (this.refreshTimer) {
|
|
265
|
+
clearTimeout(this.refreshTimer);
|
|
266
|
+
this.refreshTimer = null;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Revoke FedCM credential if supported
|
|
270
|
+
try {
|
|
271
|
+
const services = this.oxyServices;
|
|
272
|
+
if (services.revokeFedCMCredential) {
|
|
273
|
+
await services.revokeFedCMCredential();
|
|
274
|
+
}
|
|
275
|
+
} catch {
|
|
276
|
+
// Ignore FedCM errors
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Clear HTTP client tokens
|
|
280
|
+
this.oxyServices.httpService.setTokens('');
|
|
281
|
+
|
|
282
|
+
// Clear storage
|
|
283
|
+
await this.clearSession();
|
|
284
|
+
|
|
285
|
+
// Update state and notify
|
|
286
|
+
this.currentUser = null;
|
|
287
|
+
this.notifyListeners();
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Clear session data from storage.
|
|
292
|
+
*/
|
|
293
|
+
async clearSession() {
|
|
294
|
+
await this.storage.removeItem(STORAGE_KEYS.ACCESS_TOKEN);
|
|
295
|
+
await this.storage.removeItem(STORAGE_KEYS.REFRESH_TOKEN);
|
|
296
|
+
await this.storage.removeItem(STORAGE_KEYS.SESSION);
|
|
297
|
+
await this.storage.removeItem(STORAGE_KEYS.USER);
|
|
298
|
+
await this.storage.removeItem(STORAGE_KEYS.AUTH_METHOD);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Get current user.
|
|
303
|
+
*/
|
|
304
|
+
getCurrentUser() {
|
|
305
|
+
return this.currentUser;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Check if user is authenticated.
|
|
310
|
+
*/
|
|
311
|
+
isAuthenticated() {
|
|
312
|
+
return this.currentUser !== null;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Get stored access token.
|
|
317
|
+
*/
|
|
318
|
+
async getAccessToken() {
|
|
319
|
+
return this.storage.getItem(STORAGE_KEYS.ACCESS_TOKEN);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Get the auth method used for current session.
|
|
324
|
+
*/
|
|
325
|
+
async getAuthMethod() {
|
|
326
|
+
const method = await this.storage.getItem(STORAGE_KEYS.AUTH_METHOD);
|
|
327
|
+
return method;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Initialize auth state from storage.
|
|
332
|
+
*
|
|
333
|
+
* Call this on app startup to restore previous session.
|
|
334
|
+
*/
|
|
335
|
+
async initialize() {
|
|
336
|
+
try {
|
|
337
|
+
// Try to restore user from storage
|
|
338
|
+
const userJson = await this.storage.getItem(STORAGE_KEYS.USER);
|
|
339
|
+
if (userJson) {
|
|
340
|
+
this.currentUser = JSON.parse(userJson);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// Restore token to HTTP client
|
|
344
|
+
const token = await this.storage.getItem(STORAGE_KEYS.ACCESS_TOKEN);
|
|
345
|
+
if (token) {
|
|
346
|
+
this.oxyServices.httpService.setTokens(token);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// Check session expiry
|
|
350
|
+
const sessionJson = await this.storage.getItem(STORAGE_KEYS.SESSION);
|
|
351
|
+
if (sessionJson) {
|
|
352
|
+
const session = JSON.parse(sessionJson);
|
|
353
|
+
if (session.expiresAt) {
|
|
354
|
+
const expiresAt = new Date(session.expiresAt).getTime();
|
|
355
|
+
if (expiresAt <= Date.now()) {
|
|
356
|
+
// Session expired, try refresh
|
|
357
|
+
const refreshed = await this.refreshToken();
|
|
358
|
+
if (!refreshed) {
|
|
359
|
+
await this.clearSession();
|
|
360
|
+
this.currentUser = null;
|
|
361
|
+
}
|
|
362
|
+
} else if (this.config.autoRefresh) {
|
|
363
|
+
// Setup refresh timer
|
|
364
|
+
this.setupTokenRefresh(session.expiresAt);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return this.currentUser;
|
|
369
|
+
} catch {
|
|
370
|
+
// Failed to restore, start fresh
|
|
371
|
+
await this.clearSession();
|
|
372
|
+
this.currentUser = null;
|
|
373
|
+
return null;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Destroy the auth manager and clean up resources.
|
|
379
|
+
*/
|
|
380
|
+
destroy() {
|
|
381
|
+
if (this.refreshTimer) {
|
|
382
|
+
clearTimeout(this.refreshTimer);
|
|
383
|
+
this.refreshTimer = null;
|
|
384
|
+
}
|
|
385
|
+
this.listeners.clear();
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Create an AuthManager instance.
|
|
391
|
+
*
|
|
392
|
+
* @param oxyServices - OxyServices instance
|
|
393
|
+
* @param config - Optional configuration
|
|
394
|
+
* @returns AuthManager instance
|
|
395
|
+
*/
|
|
396
|
+
export function createAuthManager(oxyServices, config) {
|
|
397
|
+
return new AuthManager(oxyServices, config);
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=AuthManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["STORAGE_KEYS","ACCESS_TOKEN","REFRESH_TOKEN","SESSION","USER","AUTH_METHOD","MemoryStorage","store","Map","getItem","key","get","setItem","value","set","removeItem","delete","LocalStorageAdapter","window","localStorage","AuthManager","listeners","Set","currentUser","refreshTimer","constructor","oxyServices","config","storage","getDefaultStorage","autoRefresh","refreshBuffer","onAuthStateChange","callback","add","notifyListeners","listener","handleAuthSuccess","session","method","accessToken","httpService","setTokens","refreshToken","JSON","stringify","sessionId","deviceId","expiresAt","user","id","length","setupTokenRefresh","clearTimeout","expiresAtMs","Date","getTime","now","refreshAt","delay","Math","max","setTimeout","catch","response","request","url","data","cache","clearSession","signOut","services","revokeFedCMCredential","getCurrentUser","isAuthenticated","getAccessToken","getAuthMethod","initialize","userJson","parse","token","sessionJson","refreshed","destroy","clear","createAuthManager"],"sourceRoot":"../../../src","sources":["core/AuthManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,12 @@ import { RequestDeduplicator, RequestQueue, SimpleLogger } from "../utils/reques
|
|
|
20
20
|
import { retryAsync } from "../utils/asyncUtils.js";
|
|
21
21
|
import { handleHttpError } from "../utils/errorUtils.js";
|
|
22
22
|
import { jwtDecode } from 'jwt-decode';
|
|
23
|
+
import { Platform } from 'react-native';
|
|
24
|
+
/**
|
|
25
|
+
* Check if we're running in a native app environment (React Native, not web)
|
|
26
|
+
* This is used to determine CSRF handling mode
|
|
27
|
+
*/
|
|
28
|
+
const isNativeApp = Platform.OS !== 'web';
|
|
23
29
|
/**
|
|
24
30
|
* Token store for authentication (singleton)
|
|
25
31
|
*/
|
|
@@ -204,6 +210,26 @@ export class HttpService {
|
|
|
204
210
|
headers['X-CSRF-Token'] = csrfToken;
|
|
205
211
|
}
|
|
206
212
|
|
|
213
|
+
// Add native app header for React Native (required for CSRF validation)
|
|
214
|
+
// Native apps can't persist cookies like browsers, so the server uses
|
|
215
|
+
// header-only CSRF validation when this header is present
|
|
216
|
+
if (isNativeApp && isStateChangingMethod) {
|
|
217
|
+
headers['X-Native-App'] = 'true';
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// Debug logging for CSRF issues
|
|
221
|
+
if (isStateChangingMethod && __DEV__) {
|
|
222
|
+
console.log('[HttpService] CSRF Debug:', {
|
|
223
|
+
url,
|
|
224
|
+
method,
|
|
225
|
+
isNativeApp,
|
|
226
|
+
platformOS: Platform.OS,
|
|
227
|
+
hasCsrfToken: !!csrfToken,
|
|
228
|
+
csrfTokenLength: csrfToken?.length,
|
|
229
|
+
hasNativeAppHeader: headers['X-Native-App'] === 'true'
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
207
233
|
// Merge custom headers if provided
|
|
208
234
|
if (config.headers) {
|
|
209
235
|
Object.entries(config.headers).forEach(([key, value]) => {
|
|
@@ -376,16 +402,23 @@ export class HttpService {
|
|
|
376
402
|
// Return cached token if available
|
|
377
403
|
const cachedToken = this.tokenStore.getCsrfToken();
|
|
378
404
|
if (cachedToken) {
|
|
405
|
+
if (__DEV__) console.log('[HttpService] Using cached CSRF token');
|
|
379
406
|
return cachedToken;
|
|
380
407
|
}
|
|
381
408
|
|
|
382
409
|
// Deduplicate concurrent CSRF token fetches
|
|
383
410
|
const existingPromise = this.tokenStore.getCsrfTokenFetchPromise();
|
|
384
411
|
if (existingPromise) {
|
|
412
|
+
if (__DEV__) console.log('[HttpService] Waiting for existing CSRF fetch');
|
|
385
413
|
return existingPromise;
|
|
386
414
|
}
|
|
387
415
|
const fetchPromise = (async () => {
|
|
388
416
|
try {
|
|
417
|
+
if (__DEV__) console.log('[HttpService] Fetching CSRF token from:', `${this.baseURL}/api/csrf-token`);
|
|
418
|
+
|
|
419
|
+
// Use AbortController for timeout (more compatible than AbortSignal.timeout)
|
|
420
|
+
const controller = new AbortController();
|
|
421
|
+
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
|
389
422
|
const response = await fetch(`${this.baseURL}/api/csrf-token`, {
|
|
390
423
|
method: 'GET',
|
|
391
424
|
headers: {
|
|
@@ -393,10 +426,13 @@ export class HttpService {
|
|
|
393
426
|
},
|
|
394
427
|
credentials: 'include',
|
|
395
428
|
// Required to receive and send cookies
|
|
396
|
-
signal:
|
|
429
|
+
signal: controller.signal
|
|
397
430
|
});
|
|
431
|
+
clearTimeout(timeoutId);
|
|
432
|
+
if (__DEV__) console.log('[HttpService] CSRF fetch response:', response.status, response.ok);
|
|
398
433
|
if (response.ok) {
|
|
399
434
|
const data = await response.json();
|
|
435
|
+
if (__DEV__) console.log('[HttpService] CSRF response data:', data);
|
|
400
436
|
const token = data.csrfToken || null;
|
|
401
437
|
this.tokenStore.setCsrfToken(token);
|
|
402
438
|
this.logger.debug('CSRF token fetched');
|
|
@@ -410,9 +446,11 @@ export class HttpService {
|
|
|
410
446
|
this.logger.debug('CSRF token from header');
|
|
411
447
|
return headerToken;
|
|
412
448
|
}
|
|
449
|
+
if (__DEV__) console.log('[HttpService] CSRF fetch failed with status:', response.status);
|
|
413
450
|
this.logger.warn('Failed to fetch CSRF token:', response.status);
|
|
414
451
|
return null;
|
|
415
452
|
} catch (error) {
|
|
453
|
+
if (__DEV__) console.log('[HttpService] CSRF fetch error:', error);
|
|
416
454
|
this.logger.warn('CSRF token fetch error:', error);
|
|
417
455
|
return null;
|
|
418
456
|
} finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TTLCache","registerCacheForCleanup","RequestDeduplicator","RequestQueue","SimpleLogger","retryAsync","handleHttpError","jwtDecode","TokenStore","accessToken","refreshToken","csrfToken","csrfTokenFetchPromise","constructor","getInstance","instance","setTokens","getAccessToken","getRefreshToken","clearTokens","hasAccessToken","setCsrfToken","token","getCsrfToken","setCsrfTokenFetchPromise","promise","getCsrfTokenFetchPromise","clearCsrfToken","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","config","baseURL","tokenStore","logger","enableLogging","logLevel","cache","cacheTTL","deduplicator","requestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","isStateChangingMethod","includes","fetchCsrfToken","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","credentials","clearTimeout","ok","status","errorMessage","statusText","contentType","errorData","json","message","error","parseError","warn","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","requestWithRetry","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","cachedToken","existingPromise","fetchPromise","AbortSignal","headerToken","decoded","currentTime","Math","floor","exp","sessionId","refreshUrl","newToken","refreshError","Array","isArray","success","alpha","post","put","patch","delete","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["TTLCache","registerCacheForCleanup","RequestDeduplicator","RequestQueue","SimpleLogger","retryAsync","handleHttpError","jwtDecode","Platform","isNativeApp","OS","TokenStore","accessToken","refreshToken","csrfToken","csrfTokenFetchPromise","constructor","getInstance","instance","setTokens","getAccessToken","getRefreshToken","clearTokens","hasAccessToken","setCsrfToken","token","getCsrfToken","setCsrfTokenFetchPromise","promise","getCsrfTokenFetchPromise","clearCsrfToken","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","config","baseURL","tokenStore","logger","enableLogging","logLevel","cache","cacheTTL","deduplicator","requestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","isStateChangingMethod","includes","fetchCsrfToken","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","__DEV__","console","log","platformOS","hasCsrfToken","csrfTokenLength","length","hasNativeAppHeader","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","credentials","clearTimeout","ok","status","errorMessage","statusText","contentType","errorData","json","message","error","parseError","warn","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","requestWithRetry","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","cachedToken","existingPromise","fetchPromise","headerToken","decoded","currentTime","Math","floor","exp","sessionId","refreshUrl","AbortSignal","newToken","refreshError","Array","isArray","success","alpha","post","put","patch","delete","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/core/index.js
CHANGED
|
@@ -13,6 +13,8 @@ export { OXY_CLOUD_URL, oxyClient } from "./OxyServices.js";
|
|
|
13
13
|
|
|
14
14
|
// Cross-domain authentication
|
|
15
15
|
export { CrossDomainAuth, createCrossDomainAuth } from "./CrossDomainAuth.js";
|
|
16
|
+
// Centralized auth management
|
|
17
|
+
export { AuthManager, createAuthManager } from "./AuthManager.js";
|
|
16
18
|
// Re-export all models and types for convenience
|
|
17
19
|
export * from "../models/interfaces.js";
|
|
18
20
|
export * from "../models/session.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","CrossDomainAuth","createCrossDomainAuth","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,kBAAe;AAClG,SAASC,aAAa,EAAEC,SAAS,QAAQ,kBAAe;;AAExD;AACA,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,sBAAmB;AAG1E;AACA,cAAc,yBAAsB;AACpC,cAAc,sBAAmB;;AAEjC;AACA,SAASC,aAAa,QAAQ,2BAAwB;AAGtD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,2BAAwB;AAG/B;AACA,
|
|
1
|
+
{"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","CrossDomainAuth","createCrossDomainAuth","AuthManager","createAuthManager","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,kBAAe;AAClG,SAASC,aAAa,EAAEC,SAAS,QAAQ,kBAAe;;AAExD;AACA,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,sBAAmB;AAG1E;AACA,SAASC,WAAW,EAAEC,iBAAiB,QAAQ,kBAAe;AAG9D;AACA,cAAc,yBAAsB;AACpC,cAAc,sBAAmB;;AAEjC;AACA,SAASC,aAAa,QAAQ,2BAAwB;AAGtD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,2BAAwB;AAG/B;AACA,SAASd,WAAW,QAAQ,kBAAe;;AAE3C;AACA,eAAeA,WAAW","ignoreList":[]}
|