- Added rehype-sanitize plugin to the markdown configuration for improved security against XSS attacks.
- Updated environment variables in the codebase to include new configurations for SMTP and monitoring.
- Implemented secure headers in server and Nginx configurations to bolster security.
- Refactored email handling to prevent spoofing by ensuring safe sender addresses.
- Improved localization by updating language persistence and button components for better user experience.
- Enhanced the uptime API and contact form with better error handling and logging practices.
- Updated dependencies in package.json and package-lock.json for better performance and security.
- Replaced the Node adapter with Fastify for improved performance.
- Added the @astrojs/prefetch integration to enhance resource loading.
- Updated server settings to adjust logging level and minification options.
- Modified package.json to include new dependencies for Fastify and prefetch.
- Upgraded TypeScript dependency from 5.7.3 to 5.8.3 for improved type checking and features.
- Modified ContactForm component to include a hidden input for the domain, capturing the current hostname.
- Updated API contact handling to log and utilize the domain information in email notifications.
- Refactored email sending functions to conditionally include the domain in the sender's address for better context.
- Integrated Gemini AI for spam detection in the contact form API, returning a token for manual review requests if spam is detected.
- Implemented a manual review UI in the Form.astro component, allowing users to submit their email and justification for review.
- Updated email handler to send manual review requests to a designated email address.
- Enhanced rate limiter configuration to allow more attempts in a shorter duration for better user experience.
- Added new dependencies: jsonwebtoken and @types/jsonwebtoken for handling JWTs in the spam detection process.
- Integrated Tippy.js for enhanced tooltip functionality in the UptimeStatusIsland component, providing detailed heartbeat information on hover.
- Added custom styles for Tippy.js tooltips to support light and dark themes.
- Updated package.json and package-lock.json to include @tippyjs/react and its dependencies.
- Updated package-lock.json to reflect new versions of dependencies, including luxon for date handling.
- Modified UptimeStatusIsland component to improve local time formatting, ensuring UTC display and handling of invalid dates.
- Added luxon library for improved date handling.
- Updated UptimeStatusIsland component to format and display local time for heartbeats.
- Enhanced state management to track user timezone and locale.
- Ensured UTC formatting for timestamps in API responses.
- Added react-icons package to the project for icon usage.
- Enhanced UptimeStatusIsland component to display responsive badges for certificate expiry, average ping, and uptime metrics, utilizing icons for mobile views.
- Removed @astrojs/netlify and related dependencies from package-lock.json to streamline the project.
- Updated Header.astro to enhance layout with max-width and overflow properties for better responsiveness and mobile navigation accessibility.
- Replace Netlify adapter with Node adapter in astro.config.ts for standalone mode.
- Update package.json to reflect the new dependency on @astrojs/node.
- Modify package-lock.json to include updated versions of dependencies and remove Netlify-specific configurations from the contact form.