Skip to content

fix: resolve 4 issues - security, a11y, localStorage, modal ARIA#542

Open
DanielCharis1 wants to merge 2 commits into
MettaChain:mainfrom
DanielCharis1:fix/issues-danielcharis1
Open

fix: resolve 4 issues - security, a11y, localStorage, modal ARIA#542
DanielCharis1 wants to merge 2 commits into
MettaChain:mainfrom
DanielCharis1:fix/issues-danielcharis1

Conversation

@DanielCharis1

@DanielCharis1 DanielCharis1 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Fixes #432 #436 #437 #438
closes #432
closes #436
closes #437
closes #438

…alStorage, and modal ARIA

Fixes MettaChain#432, MettaChain#436, MettaChain#437, MettaChain#438

MettaChain#438 - security: Replace Math.random in ID/hash generation with crypto.randomUUID
- Created src/utils/secureId.ts with generateSecureId, generateTimestampedId, generateMockTxHash, etc.
- Updated 22 files: auditLogger, errorReporting, errorMonitoringService, structuredLogger,
  logger, kyc, cacheManager, propertyService, notificationService, offlineTransactionQueue,
  batchTransaction, secondaryMarketService, transactionMonitor, useSearchHistory,
  comparisonHistoryStore, paperTradingStore, useRewardDistribution, PropertyCard, page.tsx

MettaChain#436 - bug: DomainWarningBanner auto-redirect without consent
- Created src/components/DomainWarningBanner.tsx
- Shows manual consent button instead of auto-redirect
- Includes aria-live region for screen reader announcements

MettaChain#432 - bug: localStorage writes unsanitised for BigInt/circular values
- Created src/utils/safeLocalStorage.ts with safe JSON replacer/reviver
- Handles BigInt, circular refs, Date, RegExp, Map, Set
- Updated propertyCache.ts, cacheManager.ts, useSearchHistory.ts to use safeLocalStorage

MettaChain#437 - bug: inconsistent modal focus management and ARIA roles
- Updated WalletModal.tsx to use Radix Dialog (Dialog, DialogContent, DialogHeader, DialogTitle)
- Updated TransactionProgress.tsx to use Radix Dialog
- Component now gets proper focus trap, aria-modal, and aria-labelledby from Radix
@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@DanielCharis1 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant