Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
29377db
add login performance entry analysis
leofelix077 Dec 26, 2025
8b9454e
clean up performance logging and add switch accounts loading screen
leofelix077 Jan 5, 2026
bc7959e
remove commented out code
leofelix077 Jan 5, 2026
e12b570
simplify logic of updating temporary store
leofelix077 Jan 5, 2026
50efd89
add wallet switching data clearing and wallet-based caching
leofelix077 Jan 12, 2026
9967c41
add wallet switching data clearing and wallet-based caching
leofelix077 Jan 12, 2026
1012842
update flow comments
leofelix077 Jan 12, 2026
d6d3610
cleanup bio pw typings
leofelix077 Jan 12, 2026
0338279
cleanup unused functions
leofelix077 Jan 12, 2026
bf982f5
simplify functions JSdocs
leofelix077 Jan 12, 2026
8dd8f42
remove caching of temp store
leofelix077 Jan 13, 2026
532a1bf
remove cache revalidation
leofelix077 Jan 13, 2026
49dc812
add locked state with preserved data
leofelix077 Jan 13, 2026
69430bd
remove history fetch for unfunded accounts
leofelix077 Jan 13, 2026
1b6b60c
Merge branch 'main' into chore/3034123
leofelix077 Jan 14, 2026
572bbfa
fix login after app update from signed out state
leofelix077 Jan 14, 2026
d7207b9
Merge branch 'chore/3034123' of github.com:stellar/freighter-mobile i…
leofelix077 Jan 14, 2026
691539f
fix minor issues from copilot review
leofelix077 Jan 14, 2026
a8f194b
fix copilot security checks
leofelix077 Jan 14, 2026
24f39d5
improve locked state data encryption
leofelix077 Jan 14, 2026
345429a
Merge branch 'main' into chore/3034123
leofelix077 Jan 14, 2026
ba9078f
Update src/ducks/auth.ts
leofelix077 Jan 14, 2026
d04c380
Update src/ducks/auth.ts
leofelix077 Jan 14, 2026
143b567
fix mocks for auth locked state test
leofelix077 Jan 14, 2026
9c2da1c
Merge branch 'main' into chore/3034123
leofelix077 Jan 14, 2026
9ec5c98
Update src/ducks/auth.ts
leofelix077 Jan 15, 2026
1377563
update used translations and add reset store tests
leofelix077 Jan 15, 2026
cc13085
Fix Podfile checksum
CassioMG Feb 3, 2026
706291c
merge main into branch
leofelix077 Feb 6, 2026
2d11bdb
Merge branch 'chore/3034123' of github.com:stellar/freighter-mobile i…
leofelix077 Feb 6, 2026
b525d7f
clear all data on wallet import
leofelix077 Feb 6, 2026
1b345c8
fix fetch account balances
leofelix077 Feb 6, 2026
126dae2
Merge branch 'main' into chore/3034123
leofelix077 Feb 10, 2026
03bf5a2
disable multiple presses on account switch
leofelix077 Feb 10, 2026
9c0d5c0
Update src/ducks/auth.ts
leofelix077 Feb 16, 2026
8fa0a70
Merge branch 'main' of github.com:stellar/freighter-mobile into chore…
leofelix077 Feb 17, 2026
1749dff
Merge branch 'chore/3034123' of github.com:stellar/freighter-mobile i…
leofelix077 Feb 17, 2026
5f0f5ac
improve account switching UX
leofelix077 Feb 17, 2026
36371d4
add local spinner on account item to switch acct
leofelix077 Feb 17, 2026
d759293
adjust opacity on selected account
leofelix077 Feb 17, 2026
56da140
update acct change animation
leofelix077 Feb 17, 2026
efe975a
revert enable pan down to close
leofelix077 Feb 18, 2026
b800d30
Merge branch 'main' of github.com:stellar/freighter-mobile into chore…
leofelix077 Feb 18, 2026
30d104c
move persisted auth status to secure storage
leofelix077 Feb 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion src/components/screens/HomeScreen/HomeScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DebugBottomSheet } from "components/analytics/DebugBottomSheet";
import { BaseLayout } from "components/layout/BaseLayout";
import ManageAccounts from "components/screens/HomeScreen/ManageAccounts";
import WelcomeBannerBottomSheet from "components/screens/HomeScreen/WelcomeBannerBottomSheet";
import { LoadingScreen } from "components/screens/LoadingScreen";
import Avatar from "components/sds/Avatar";
import Icon from "components/sds/Icon";
import { Display, Text } from "components/sds/Typography";
Expand Down Expand Up @@ -62,7 +63,8 @@ type HomeScreenProps = BottomTabScreenProps<
export const HomeScreen: React.FC<HomeScreenProps> = React.memo(
({ navigation }) => {
const { account } = useGetActiveAccount();
const { network, getAllAccounts, allAccounts } = useAuthenticationStore();
const { network, getAllAccounts, allAccounts, isSwitchingAccount } =
useAuthenticationStore();
const { themeColors } = useColors();
const manageAccountsBottomSheetRef = useRef<BottomSheetModal>(null);
const analyticsDebugBottomSheetRef = useRef<BottomSheetModal>(null);
Expand Down Expand Up @@ -100,6 +102,7 @@ export const HomeScreen: React.FC<HomeScreenProps> = React.memo(
account,
isFunded,
isLoadingBalances,
isSwitchingAccount,
});

// NOTE: VIEW_HOME analytics event is already tracked by useNavigationAnalytics
Expand Down Expand Up @@ -228,6 +231,11 @@ export const HomeScreen: React.FC<HomeScreenProps> = React.memo(
fetchActiveSessions,
]);

// Show full screen loading when switching accounts
if (isSwitchingAccount) {
return <LoadingScreen />;
}

return (
<BaseLayout
insets={{ bottom: false, top: false, left: false, right: false }}
Expand Down
1 change: 1 addition & 0 deletions src/config/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,7 @@ export enum STORAGE_KEYS {
WELCOME_BANNER_SHOWN_PREFIX = "welcomeBanner_shown_",
HAS_SEEN_BIOMETRICS_ENABLE_SCREEN = "hasSeenBiometricsEnableScreen",
APP_UPDATE_DISMISSED_REQUIRED_VERSION = "appUpdateDismissedRequiredVersion",
AUTH_STATUS = "authStatus",
}

/**
Expand Down
2 changes: 2 additions & 0 deletions src/config/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ export const AUTH_STATUS = {
AUTHENTICATED: "AUTHENTICATED",
// User is authenticated. Hash key is expired and temporary store is found.
HASH_KEY_EXPIRED: "HASH_KEY_EXPIRED",
// User is locked. Hash key is expired but temporary store with private keys is preserved.
LOCKED: "LOCKED",
Comment on lines +61 to +62

Copilot AI Jan 14, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new LOCKED auth status and its associated behaviors (preserving temporary store on logout, handling unlock flow with shouldCreateTempStore parameter, lazy loading of private keys) lack test coverage. The existing test file tests/ducks/auth.test.ts should be updated to include tests for: 1) logout with LOCKED state preservation, 2) sign-in from LOCKED state, 3) getAuthStatus returning LOCKED when persisted, 4) lazy loading of private keys in getActiveAccount, and 5) account switching with the isSwitchingAccount flag.

Copilot uses AI. Check for mistakes.
} as const;

export type AuthStatus = (typeof AUTH_STATUS)[keyof typeof AUTH_STATUS];
Expand Down
Loading