- Updated DomainReportView to conditionally fetch DNS, hosting, certificates, and headers based on domain registration status, improving data accuracy.
- Implemented local storage history management for registered domains in DomainReportView.
- Adjusted DomainSearchForm to reflect changes in history management, ensuring a cleaner separation of concerns.
- Introduced a new AppFooter component to replace the previous footer implementation, enhancing maintainability and consistency.
- Updated the RootLayout to include the AppFooter, ensuring a cohesive design across the application.
- Reorganized imports in layout.tsx for better clarity and structure.
- Replaced the existing header in RootLayout with a new AppHeader component for better structure and maintainability.
- Added HeaderSearch functionality to the AppHeader for domain searching, enhancing user experience.
- Updated the layout to ensure consistent styling and responsiveness across the application.
- Introduced @upstash/redis as a dependency for improved caching functionality.
- Replaced custom TTLCache implementation with Redis-based caching in dns, headers, hosting, rdap, and tls services for better performance and scalability.
- Updated related service methods to utilize the new caching mechanism, enhancing overall efficiency and maintainability.
- Improved handling of domain inputs by adding support for punycoded hostnames when no scheme is present.
- Updated validation regex in isValidDomain function to accept punycoded labels and ensure compliance with domain naming conventions.
- Integrated domain normalization and validation logic in DomainPage, DomainSearchForm, and domain router to ensure consistent handling of domain inputs.
- Updated DomainPage to redirect users to the normalized domain URL if necessary, improving user experience.
- Refactored domain input handling in DomainSearchForm and domain router to utilize shared utility functions for better maintainability.
- Removed Tooltip functionality from DomainSearchForm, simplifying the button rendering while maintaining accessibility.
- Enhanced KeyValue component to provide visual feedback when text is copied, integrating a temporary state to indicate success and updating the button label accordingly.
- Added truncation logic to the KeyValue component to handle long text values, utilizing ResizeObserver and MutationObserver for dynamic updates.
- Integrated Tooltip functionality to display full text on hover, improving user experience and accessibility.
- Updated layout to ensure proper rendering and responsiveness of the component.
- Added "content-security-policy-report-only" and "permissions-policy" to the set of important headers in both DomainReportView and headers service, improving the emphasis on critical security configurations.
- Updated the RootLayout to wrap the site title in a Link component for better navigation.
- Enhanced the Home page layout with a container for improved responsiveness and visual consistency.
- Simplified imports in DomainReportView and updated the domain display to be a clickable link, enhancing user interaction.
- Updated the DomainReportView to include a new utility function, stripCN, for cleaning up certificate issuer and subject names.
- Modified the rendering of certificates to use React.Fragment for better key management and added visual separators between certificates for improved readability.
- Updated the KeyValue component to support a new 'highlight' prop for conditional styling based on important header names.
- Modified the DomainReportView to highlight specific headers, improving visual emphasis on critical security-related information.
- Updated the KeyValue component to enhance layout by adding spacing between elements and conditionally rendering the label.
- Adjusted class names for better visual consistency and alignment.
- Added @tanstack/react-query-devtools to package.json and pnpm-lock.yaml for improved debugging capabilities during development.
- Updated the layout component to include a new footer with links to Next.js and the author, enhancing user experience and providing credit.
- Removed unnecessary mock data references from DomainReportView and adjusted button layouts for consistency.
- Enhanced key assignment in DNS record mappings to ensure unique keys based on record values.
- Updated the DomainSearchForm to streamline button icon usage.
- Deleted unused Carousel and Chart components to clean up the codebase.
- Simplified OTP input separator implementation and adjusted key assignments in Slider component for better performance.
- Improved type definitions in headers and hosting services for better type safety and clarity.
- Renamed project from "whoozle" to "hoot.sh" and updated version to 0.0.0-beta.1 in package.json.
- Updated various dependencies in package.json and pnpm-lock.yaml for improved compatibility and performance.
- Cleaned up imports across multiple components, ensuring consistent formatting and removing unnecessary lines.
- Enhanced layout and styling in several components for better user experience and visual consistency.
- Updated DomainReportView component to eliminate the DomainReport type and directly accept the domain string as a prop.
- Streamlined the logic for resolving the domain, enhancing clarity and maintainability.
- Updated recharts from version 3.2.0 to 2.15.4 in package.json for compatibility with the latest features and improvements.
- Removed unused dependencies and cleaned up the pnpm-lock.yaml file to streamline package management.
- Added error handling for WHOIS, DNS, hosting, certificates, and headers queries, displaying error messages and retry buttons when data fails to load.
- Updated query options to include retry logic for improved resilience in data fetching.
- Implemented getCertificates function to fetch TLS certificates for a given domain, utilizing a caching mechanism for efficiency.
- Updated certificates query in domainRouter to use the new getCertificates function, replacing mock data with real-time certificate retrieval and adding error handling for failures.
- Modified TRPCProvider loggerLink to enable logging for error responses during certificate fetch operations.
- Introduced detectHosting function to determine hosting and email providers based on DNS and HTTP headers.
- Replaced mock hosting data in domainRouter with real-time detection logic, including error handling for failures.
- Added new hosting service file to encapsulate hosting detection logic and caching mechanism.