summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
7 daysAdd task manager for AI agentsBen Sima
Implemented a dependency-aware task tracker inspired by beads: - Task CRUD operations (create, list, update, ready) - Dependency tracking and ready work detection - JSONL storage with git sync via hooks - Export/import for cross-machine synchronization - Short base62-encoded task IDs (e.g., t-1ky7gJ2) Added comprehensive AGENTS.md documentation: - Task manager usage and workflows - Development tools (bild, lint, repl.sh) - Git-branchless workflow guidelines - Coding conventions Integrated with git hooks for auto-sync: - post-merge/post-checkout: import tasks - pre-commit/pre-push: export tasks Also includes beads design analysis document for reference. Completed tasks: - t-a1b2c3: Show help text when invoked without args - t-d4e5f6: Move dev instructions to AGENTS.md - t-g7h8i9: Implement shorter task IDs - t-p6q7r8: Add git-branchless workflow docs https: //ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56 Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID: https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
2025-09-06Implement Parallel TTS Processing with Robust Error HandlingBen Sima
2025-09-05Reset stale processing jobs to pending statusBen Sima
Remove unnecessary updated_at timestamp reset during job status update to improve performance and reduce database writes
2025-09-05Strip comment lines and diff in commit-msg hookBen Sima
Without this, my custom git commit template will get mangled into the commit message with the call to fmt. I guess git strips all of this stuff *after* it runs the commit-msg hook. Oy vey. diff --git a/Omni/Ide/hooks/commit-msg b/Omni/Ide/hooks/commit-msg index c15b4a1..bfbb06f 100755 --- a/Omni/Ide/hooks/commit-msg +++ b/Omni/Ide/hooks/commit-msg @@ -1,6 +1,7 @@ #!/usr/bin/env bash temp=$(mktemp) -fmt -w 72 -u "$1" > "$temp" +# strip comment lines and everything after >8 cut line +sed '/^#/d; /^# -\+ >8 -\+/,$d' "$1" | fmt -w 72 -u > "$temp" mv "$temp" "$1" if ! gitlint --ignore-stdin --staged --msg-filename "$1" run-hook; then backup="$CODEROOT"/.git/COMMIT_EDITMSG.backup
2025-09-05Enhance worker memory managementBen Sima
Check to prevent processing of large articles, truncate oversized content, defer jobs during high memory usage, use streaming TTS generation and upload to minimize memory consumption.
2025-09-05Don't use localhost in nginx configBen Sima
This avoids nginx's DNS caching, which might be causing 10 minutes of 502 errors on deploy.
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-05Fix fmt spacingBen Sima
The -s and -u flags tell fmt to fill the paragraph by merging lines. Without this, fmt might just add line breaks, and this is no good.
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-04Disable dbus connection attempt during deploymentBen Sima
When I deploy, I get an error like this: Error: Failed to open dbus connection Caused by: Failed to connect to socket /run/user/1000/bus: Connection refused According to Claude, this is because dbus is trying to do stuff while I'm running the `systemd-run` command, but that loses my user context so dbus errors out, and I can disable dbus by setting this variable to nothing. I guess we'll see if it works!
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-04Wrap all commit messages with fmtBen Sima
Sometimes aider will write commit messages without wrapping them at 80 chars, and then the commit fails the gitlint hook, and aider can't finish the commit. To fix this I can just auto-wrap before we check it.
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-30Switch to nixos-unstable branchBen Sima
According to Claude, the nixos-unstable branch has more stuff in it's binary cache than nixos-unstable-small. Idk, let's try it and find out.
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.
2025-08-28Add instructions for PodcastItLaterBen Sima
This is a guiding architecture doc for aider.
2025-08-28Fix boolean in ai linterBen Sima
If there are no lints to fix, this should just exit without starting aider.
2025-08-28Add typecheck.sh with Python supportBen Sima
This runs a repl and calls mypy to typecheck the given target. Not only is this *much* faster than using bild to typecheck stuff, but it also produces less noise in the logs, so I can have aider call this and the output won't overwhelm the llm.
2025-08-28Let's try not enforcing commit bodies for a whileBen Sima
2025-08-28Include summary in mypy build outputBen Sima
This is actually useful because nix only shows the last 25 log lines, so I'd like to know how deep the problems go with a summary.
2025-08-28Don't put colored output in bild mypy checkBen Sima
The colored output is not decoded by the nix log accumulator, so you just get these control characters. Get rid of them for more readable output.
2025-07-28Package kerykeion and swiss ephemerisBen Sima
This took quite a bit of work to package, and it's not a perfect package, but I think it will do to get Biz/Astrologer.py working.
2025-07-26Add dmarc@ mailboxBen Sima
This needs to be a separate mailbox so I don't get a bunch of dmarc reports in my inbox.
2025-07-26Don't prune the bitcoin blockchainBen Sima
I think storage is not a problem, and not having all the transactions means I might not get the correct balance if the wallet has really old transactions (I think).
2025-07-26Add ailint scriptBen Sima
This just fixes my lint errors for me which is awesome. Very useful.
2025-06-14Add ailint scriptBen Sima
This just fixes my lint errors for me which is awesome. Very useful.
2025-06-13Add systemd service and timer for open-webui updatesBen Sima
Introduce a new systemd service that pulls the latest open-webui Docker image and restarts the associated container. This ensures that the application is always running the most recent version. Additionally, a timer is added to schedule this update process to occur every Sunday at 3 AM, automating the maintenance of the service without manual intervention. This change enhances the reliability and freshness of the application deployment.
2025-06-13Remove syncthing subdomainBen Sima
This domain is not actually useful.
2025-06-13Re-enable datasette, llm, and aiderBen Sima
I had to update nixos-unstable-small and nixos-24_11 and disable a bunch of tests, and then re-compile like the whole world, but aider is actually working, finally.
2025-06-13Add aider api key as environment variableBen Sima
This is so I don't have to specify it at the command line anymore, which is becoming cumbersome.
2025-06-13Add Open Web UI AI Chat Container and Nginx ProxyBen Sima (aider)
Introduce a new container definition for the Open Web UI AI Chat service in `OpenWebui.nix`, specifying its Docker image, volume, and environment variables. This change includes the addition of a new port in `Ports.nix` to facilitate communication with the service. Furthermore, configure Nginx to serve the AI Chat application by adding a new virtual host entry in `Web.nix`, ensuring SSL is enforced and websocket support is enabled. This setup allows for a seamless integration of the AI Chat service into the existing infrastructure, improving accessibility and security.
2025-06-13Remove mail.bensima.com from allowed hosts listBen Sima
This change removes "mail.bensima.com" from the list of allowed hosts in the Web.nix configuration. The removal is likely due to a decision to restrict access or because the mail service is no longer in use. This helps to tighten security and ensure that only necessary hosts are permitted.
2025-06-13Fix admin xmpp usernameBen Sima
This was the old username.
2025-06-13Add nix-community.cachix substituter everywhereBen Sima
Not sure if this will help but I figure one more substituter can't hurt.
2025-06-13Disable timeout for CI buildsBen Sima
Basically every time I try to run CI it times out, so just disable timeout on CI jobs for now.
2025-05-22Add TestCase to Omni.TestBen Sima
Also improves the Example.py a bit with a real test case and example of how to use Omni.Test.