## Summary - Store account names in plaintext instead of encrypting them client-side. Encryption remains only for transaction descriptions and notes. - Existing encrypted account names are silently migrated when the user unlocks their encryption key, via a new `useDecryptAccountNames` hook that calls API endpoints to update each account. - New `AccountName` component handles rendering both encrypted (legacy) and plaintext accounts across the app. ## Test plan - [x] Create a new account — name should be stored in plaintext (`encrypted = false`, `name_iv = null`) - [x] Unlock encryption key with existing encrypted accounts — they should auto-migrate silently - [x] After migration, verify accounts show `encrypted = false` in DB and names are readable plaintext - [x] Edit a migrated account — should work without encryption - [x] Verify all account name displays work across dashboard, account details, transactions, settings |
||
|---|---|---|
| .. | ||
| BlockDemoAccountActions.php | ||
| DisableRegistrationWhenHidden.php | ||
| EnsureBudgetsFeature.php | ||
| EnsureOnboardingComplete.php | ||
| EnsureUserIsSubscribed.php | ||
| HandleAppearance.php | ||
| HandleInertiaRequests.php | ||
| SetLocale.php | ||
| WithoutSsr.php | ||