| Age | Commit message (Collapse) | Author |
|
This avoids nginx's DNS caching, which might be causing 10 minutes
of 502 errors on deploy.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This fixes a bug where the 'pending' notification didn't show up in
the main UI
when a new user tried to register.
|
|
|
|
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.
|
|
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.
|
|
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!
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
This is a guiding architecture doc for aider.
|
|
If there are no lints to fix, this should just exit without starting aider.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
This needs to be a separate mailbox so I don't get a bunch of dmarc reports in
my inbox.
|
|
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).
|
|
This just fixes my lint errors for me which is awesome. Very useful.
|
|
This just fixes my lint errors for me which is awesome. Very useful.
|
|
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.
|
|
This domain is not actually useful.
|
|
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.
|
|
This is so I don't have to specify it at the command line anymore, which is
becoming cumbersome.
|
|
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.
|
|
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.
|
|
This was the old username.
|
|
Not sure if this will help but I figure one more substituter can't hurt.
|
|
Basically every time I try to run CI it times out, so just disable timeout on CI
jobs for now.
|
|
Also improves the Example.py a bit with a real test case and example of how to
use Omni.Test.
|
|
I have this script I have to run on startup that sets these interactively, which
is fine, but I haven't changed this script in like 3 years so lets just make it
permanent at this point.
|
|
obs-do is a command line tool fro controlling obs over a socket, I plan to use
it for keyboard-driven automations. Helvum is just not necessary, qpwgraph is
better anyway.
|
|
I think this was causing feedback from my microphone.
|
|
This will have to evolve over time. Also I'm sending it to my iCloud address so
I can read it on my phone as well.
|
|
Doh. Can't believe I let this go for so long, what a dumb mistake.
|