⬆️ Upgrade Ruby setup action to v1.287.0
Update Ruby setup action in CI and deploy workflows for improved compatibility. ✨ Introduce abandoned events deletion feature Implement functionality to delete abandoned events older than one week and add corresponding tests to ensure correct behavior. ✨ Introduce abandoned event scope and update filter Add a scope for abandoned events to improve code readability and simplify the filtering logic in the events index. ✨ Add abandoned event filter and UI Introduce a new filter for abandoned events and update the UI to display abandoned events with relevant information. 💄 Update labels for media and storage stats Change "Total uploads" to "Active uploads" and "Total storage" to "Active storage" for improved clarity. ✨ Add unique device count to archived events Introduce a new field for unique device count in archived events and update the display in the admin view. 🐛 Refactor dropdown controller and clean up unused code Removed unnecessary properties and methods from the dropdown controller to streamline functionality and improve maintainability. 💄 Update typography and styling for wedding page Refine headings and text styles for improved readability and aesthetics. 💄 Update event claim prompt and styling Revise text for clarity and adjust padding for improved UI consistency. 💄 Update display name styling in event list Refactor the display name section to improve clarity and maintainability. ✨ Add unique device count feature to events Introduce a method to count unique IP addresses for media uploads and display this information in event views and dashboards. ✨ Add event type and statistics to archived events Include event type, subscriber count, QR scans, ZIP downloads, and last downloaded date for enhanced event details in the archived events view. ✨ Introduce archival job for old events Add a scheduled job to archive events ready for deletion, along with new metrics in the database schema for tracking engagement and subscriber data. 💄 Update deletion warning schedule to 6am Adjust the schedule for sending deletion warnings in both development and production environments for consistency.