summaryrefslogtreecommitdiff
path: root/Biz/PodcastItLater
AgeCommit message (Collapse)Author
2025-09-05Implement Graceful Shutdown for Worker ProcessBen Sima
This commit adds robust shutdown handling for the PodcastItLater worker process. Key improvements include: - Introduce ShutdownHandler to manage graceful signal handling - Add checkpoints in job processing to support interruption - Reset stale jobs stuck in processing state on startup - Modify systemd service configuration for better process management - Implement interruptible sleep in main loop - Ensure current job can complete or be reset during shutdown
2025-09-05Add Duration Formatting Function with TestsBen Sima
Implement a new `format_duration` function to convert seconds into a human-readable time format. The function handles various duration scenarios, including minutes, hours, and mixed time representations. Added comprehensive test cases to validate the formatting logic, including edge cases and rounding behavior.
2025-09-05Add HTMX periodic updates for dashboard contentBen Sima
Implement periodic dashboard updates using HTMX to refresh queue status and recent episodes. This improves user experience by automatically updating content without full page reloads. Added a new endpoint `/dashboard-updates` to fetch and render updated dashboard components efficiently.
2025-09-05Filter Out Completed Queue Items in Admin ViewBen Sima
Modify the admin queue status view to exclude completed queue items. This change ensures that admins only see active queue items, reducing clutter and focusing on pending tasks. The filtering is done in-memory to maintain the existing database query method.
2025-09-05Refactor Login Flow and Improve User HandlingBen Sima
This fixes a bug where the 'pending' notification didn't show up in the main UI when a new user tried to register.
2025-09-05Refactor Admin view components and improve code organizationBen Sima
2025-09-04Refactor Admin and Database path stuffBen Sima
Moved the Admin related stuff to a separate file. Removed the repetitive `db_path` arg everywhere and replaced it with correct assumptions, similar to whats in other apps.
2025-09-04Add Default Titles for Queue ItemsBen Sima
Implement a migration to add default titles to queue items with NULL titles. This ensures that every queue item has a meaningful title, improving user experience and data consistency. The migration updates items with 'Untitled Article' when no title is present.
2025-09-04Add User Status Management to PodcastItLaterBen Sima
Implement user status tracking with pending, active, and disabled states. This allows administrators to control user access and provides a mechanism for approving new users before granting full system access. Added database migration, admin interface, and authentication checks to support this feature.
2025-09-04Add URL auto-select and clear on successful submitBen Sima
Improve user experience by automatically selecting the URL input when focused and clearing the input field after a successful submission. This reduces manual interaction and provides clearer feedback on successful form submission.
2025-09-04Add Episode Metadata: Author and Original URLBen Sima
Enhance episode tracking by adding support for author and original article URL. This allows users to see more context about each podcast episode, improving the overall user experience and providing additional information about the source material.
2025-09-04Add Job Cancellation Feature for Pending Queue ItemsBen Sima
Implement user-initiated job cancellation for pending queue items. This includes adding a cancel button to pending jobs, creating a new endpoint to handle cancellation, updating the queue status view, and adding comprehensive tests to ensure proper functionality and security.
2025-09-04Add Metadata Extraction for Podcast QueueBen Sima
This commit adds support for extracting title and author metadata from URLs when adding articles to the podcast queue. It includes database schema changes, migration logic, and UI updates to display the extracted metadata.
2025-09-03Add Environment-Aware Database Path HandlingBen Sima
2025-09-03Add Admin Whitelist and Access ControlBen Sima
Implement admin access control by introducing an email whitelist and restricting admin-only pages. Added an `is_admin()` function to check user permissions and modified admin queue status view to only allow whitelisted users. Includes error handling for unauthorized access.
2025-09-03Refactor Admin View for HTMX Auto-UpdateBen Sima
2025-09-03Rename "/queue-status" route to "/admin"Ben Sima
2025-08-28Remove email submission featureBen Sima
This requires either setting up my mailserver or signing up with Mailgun, and honestly I don't need either of those things right now. Just use the web submission, I can add the email submission feature later.
2025-08-28Prototype PodcastItLaterBen Sima
This implements a working prototype of PodcastItLater. It basically just works for a single user currently, but the articles are nice to listen to and this is something that we can start to build with.