| Age | Commit message (Collapse) | Author |
|
amp worked on this overnight, and I cleaned it up a bit this morning. I
think its all correct now.
|
|
I think the calls to Log.setup() were accidentally creating multiple
loggers, hopefully this fixes the problem.
|
|
- Remove UNIQUE constraints from ALTER TABLE statements
(SQLite doesn't support adding constraints via ALTER TABLE)
- Add better logging for migration failures (debug level) - Rely on
application logic to ensure uniqueness instead of DB constraint -
This fixes the silent failure where stripe_customer_id and
stripe_subscription_id columns weren't being added
|
|
New accounts now default to 'active' status instead of 'pending'.
Users can start using the service immediately after signup.
|
|
Add complete Stripe integration backend ready for testing once stripe
package is available in Nix environment.
Components: - Billing.py: Stripe Checkout, Billing Portal, webhook
handling - Database migrations for subscription tracking - Usage
tracking with tier-based limits - Idempotent webhook processing with
stripe_events table
Tier limits: free (10/mo), personal (50/mo), pro (unlimited)
Webhook events handled: - checkout.session.completed (link customer to
user) - customer.subscription.{created,updated,deleted} (sync state)
- invoice.payment_failed (mark past_due)
Requires: Stripe Python package in Nix, Web.py routes (next commit)
Related to task t-144e7lF
Amp-Thread-ID:
https://ampcode.com/threads/T-8feaca83-dcc2-46cb-8f71-d0785960a2f7
Co-authored-by: Amp <amp@ampcode.com>
|
|
- Apply Bootstrap 5 CSS and icons to all pages (Web.py, Admin.py) -
Convert all components to use Bootstrap classes instead of inline
styles - Add dev mode banner showing demo@example.com for instant
login - Implement secure demo account (demo@example.com) with
auto-approval - Fix HTMX loading issue when load_styles=False -
Update Database.create_user() to accept optional status parameter -
Add Bootstrap tables, cards, badges, and button groups throughout -
All tests passing
Completes task t-144drAE
Amp-Thread-ID:
https://ampcode.com/threads/T-8feaca83-dcc2-46cb-8f71-d0785960a2f7
Co-authored-by: Amp <amp@ampcode.com>
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|