| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-9e42644b-2a21-40e9-923c-e63f9026b0a6
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-51eb1377-abce-430c-bde5-ef909ac79444
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
|
|
- Omni/Task/DESIGN.md: Task manager improvements -
Biz/PodcastItLater/DESIGN.md: Architecture and features
- Biz/PodcastItLater/TESTING.md: Test strategy -
Network/Wai/Middleware/Braid/DESIGN.md: Keep-alive design
|
|
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-0ad36363-7155-4f3f-be83-030581148792
Co-authored-by: Amp <amp@ampcode.com>
|
|
- Fix get_usage() to count from user_episodes table instead of
episodes.user_id
- Now correctly tracks when episodes are added to user's feed -
Handles shared/existing episodes properly (count against the user
who added them)
- Add comprehensive test suite for usage limits (TestUsageLimits):
- test_usage_counts_episodes_added_to_feed -
test_usage_counts_existing_episodes_correctly -
test_free_tier_limit_enforcement (10 articles) -
test_can_submit_blocks_at_limit - test_paid_tier_unlimited
- Billing.can_submit() now properly enforces 10 article limit
for free tier - Usage tracking via user_episodes.added_at ensures
accurate billing
Completes t-144eKR1
|
|
- Change primary feed URLs to use .rss extension (more semantically
correct)
- /feed/{token}.xml -> /feed/{token}.rss - /public.rss stays the same
- Add .xml aliases for backwards compatibility
- /feed/{token}.xml redirects to .rss handler - /public.xml redirects
to .rss handler
- Add tests to verify both extensions work and return identical
content - Update all references in UI and tests to use .rss
This provides consistency (.rss everywhere) while maintaining backwards
compatibility for existing feed subscribers using .xml URLs.
Amp-Thread-ID:
https://ampcode.com/threads/T-6d73d458-3d80-44e5-865f-358a69e5b2bf
Co-authored-by: Amp <amp@ampcode.com>
|
|
- Fix dashboard-updates endpoint to return Response with both
components
concatenated as HTML strings, preventing episodes from disappearing
after HTMX innerHTML swap
- Add viewing_own_feed flag to EpisodeList to hide 'In your feed'
button
when users are viewing their own feed on homepage
- Add test coverage for admin adding user episodes to own feed -
Add test coverage for admin adding user episodes to public feed
Amp-Thread-ID:
https://ampcode.com/threads/T-6d73d458-3d80-44e5-865f-358a69e5b2bf
Co-authored-by: Amp <amp@ampcode.com>
|
|
When viewing the public feed (or any episode list), logged-in users
now see: - 'Add to my feed' button if episode is not in their feed -
'In your feed' button (disabled) if they already have it
Implementation: - Added user_button logic to EpisodeList component
- Checks Core.Database.user_has_episode() for each episode - Shows
blue outline button for add action - Shows gray disabled button when
already added - Buttons displayed in flex row with admin buttons
Updated add_episode_to_feed endpoint: - Changed to redirect back
to referer page after adding - Uses HX-Redirect to reload the page
showing updated state - This allows the button to change from 'Add
to my feed' to 'In your feed'
All tests passing (48 tests)
|