Merge pull request #190 from MeshJS/feature/UX-info-page
Refactor wallet authorization and session handling
Refactor wallet authorization and session handling
- Simplified the wallet authorization process by integrating the WalletAuthModal into the RootLayout component, preventing duplicate prompts. - Enhanced user experience by automatically triggering authorization when the modal opens if the autoAuthorize flag is set. - Improved error handling for wallet address retrieval, falling back to unused addresses if no used addresses are found. - Updated various components to ensure they only query user data when the user address is valid, reducing unnecessary API calls. - Added loading skeletons for better user feedback during wallet data fetching.
Refactor wallet info components for improved UI and functionality
- Updated card components to enhance layout and styling consistency. - Refactored InspectMultisigScript and InspectScript to use CardUI for better presentation. - Improved the handling of wallet state and balance display in ShowInfo and related components. - Enhanced user experience with collapsible sections for advanced script details and improved messaging for wallet actions. - Adjusted styles for alerts and buttons to ensure better visibility and interaction. - Added Discord integration for signer profiles to enhance user engagement.
.
.
.
Update deploy-migrations workflow to include DIRECT_URL environment v…
- Added DIRECT_URL to the environment variables for both migration deployment and status verification steps, ensuring proper configuration for database migrations.
Bug/loading issue
- Removed extraneous flags and added optional and peer attributes for several dependencies to improve package management. - Updated various dependencies to ensure compatibility and maintain security standards.
- Downgraded React and ReactDOM to version 18.3.1 for better compatibility with existing components. - Added new dependencies for @react-three/fiber and @react-three/drei to enhance 3D rendering capabilities. - Updated various package versions in package.json and package-lock.json to ensure consistency and security. - Removed extraneous dependencies and improved overall package management.
- Updated multiple API routes to incorporate client IP retrieval for improved security and tracking. - Refactored the createCaller function to include additional session parameters, enhancing user session management. - Removed unnecessary client-side loading of MeshProvider, replacing it with a dynamic import to avoid SSR issues.
- Integrated WalletAuthModal into WalletDataLoaderWrapper to manage user authentication status. - Implemented state management for showing the authentication modal based on wallet session queries. - Updated API routes to include rate limiting and body size enforcement for enhanced security. - Refactored various API handlers to ensure proper authorization checks for wallet access. - Improved error handling and logging across multiple API endpoints to facilitate better debugging and user feedback.
- Modified next.config.js to include additional packages for transpilation and improved module resolution. - Updated package.json and package-lock.json to reflect changes in dependency versions, including React and Next.js. - Enhanced optimistic updates in user data handling to ensure data integrity and prevent unnecessary updates. - Improved error handling in user update mutations to ensure rollback only occurs when an address is provided. - Refactored various components to use React types for better type safety and clarity. - Removed the SECURITY_VULNERABILITIES_ANALYSIS.md file as it is no longer needed.
- Updated next.config.js to allow unoptimized images for local proxy API routes and added tree-shaking optimizations. - Introduced bundle analyzer configuration to assist in analyzing the build size when the ANALYZE environment variable is set. - Modified package.json to include a new script for analyzing the build. - Refactored caching strategies in various API routes to optimize performance and reduce external API calls. - Implemented caching middleware for tRPC queries to improve data fetching efficiency. - Enhanced user and wallet data hooks with improved caching and stale time settings.
Bug/loading issue
- Updated console warning and error messages to use formatted strings for clearer output, enhancing the debugging process when metadata is not found or fetching details fails.
- Modified the DrepOverviewPage component to allow metadata to be null, enhancing type safety and preventing potential runtime errors. - Adjusted the initial state and data mapping logic to accommodate the new nullable metadata structure.
- Updated the Button component to use forwardRef and improved type definitions for better integration with ShadcnButton. - Enhanced error handling in WalletDataLoaderWrapper and DrepOverviewPage to gracefully manage 404 errors when fetching DRep metadata and details. - Removed unnecessary console logs in various components to clean up the codebase and improve performance. - Improved wallet balance fetching logic to handle errors more effectively, ensuring a smoother user experience.
Enhance database connection handling with retry logic and error logging
- Simplified error logging for database connection issues, removing redundant messages while maintaining clarity. - Enhanced DATABASE_URL validation by parsing the URL to check for Supabase connection requirements, improving error handling and guidance for optimal configuration. - Updated retry logic warnings to provide clearer feedback during connection attempts in development environments.