Commit Graph

18 Commits

Author SHA1 Message Date
Claude
ae303c2621 🔧 Fix payment message persistence and add expired session popup
- Fix wallet payment messages showing on login page by clearing messages before redirects
- Remove misleading "Payment processed\!" message for free agents
- Implement minimalist expired session popup for 5 Whys agent
- Add auto-detection of expired sessions on page load with payment confirmation
- Streamline authentication flow messages for better UX
- Remove logout confirmation message to prevent persistence

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 20:57:27 +05:30
Claude
9e6ec903fc 🚀 Implement simplified workflows system with shared components
## Major System Simplification
- **90% reduction** in agent configuration complexity (369 → 83 lines)
- Removed unused dynamic field system (174 lines eliminated)
- Deleted generic template fallback (dead code removal)
- Enhanced JavaScript utilities with 15+ shared functions

## New Workflows App Architecture
- Unified agent processing with hybrid N8N/Django approach
- Shared component system (6 reusable components)
- Individual templates with consistent UI patterns
- Configuration-driven agent definitions (metadata only)

## Enhanced Developer Experience
- 4-step agent creation process (vs complex multi-step before)
- Agent template starter file for easy copying
- Comprehensive documentation with before/after examples
- Enhanced WorkflowsCore utilities for common operations

## Files Added
- `workflows/` - Complete new Django app with simplified architecture
- `agent-template-starter.html` - Template for easy agent creation
- `workflows-core.js` - Enhanced JavaScript utilities (15+ functions)
- Shared components: header, quick-agents, processing, results, wallet
- Simplified agent configs (5 lines vs 50+ lines each)

## Benefits Achieved
 90% less configuration code per agent
 Shared component reusability with dynamic data
 Enhanced JavaScript utilities automatically available
 Consistent UI/UX across all agents
 Dramatically simplified maintenance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 20:06:46 +05:30
Claude
402324c03e 🌐 Update domain configurations for www.quantumtaskai.com
- Add www.quantumtaskai.com to ALLOWED_HOSTS
- Update CSRF_TRUSTED_ORIGINS for both www and non-www domains
- Change SITE_URL to use production domain for emails
- Update Stripe fallback URLs to use www subdomain
- Change admin emails from netcop.ai to quantumtaskai.com
- Update management command URLs to production domain
- Add Email Writer agent to populate_agents script

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 10:10:46 +05:30
Claude
443bba21f1 🔧 Fix wallet 500 error and error page alignment
- Add missing stripe_payment_intent_id field to WalletTransaction model
- Create and apply database migration for wallet schema fix
- Fix vertical alignment of help widgets on all error pages (400, 403, 404, 500)
- Add margin-left: auto to align help widgets with wallet card above
- Include data_analyzer migration for file field optimization

🚀 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 09:29:29 +05:30
Claude
b145749ab2 🔒 Implement comprehensive wallet security improvements
Critical Security Fixes:
- Fix CSRF webhook vulnerability with IP validation and rate limiting
- Secure debug endpoint with superuser-only access and data masking
- Add rate limiting to all payment operations (5/min for top-up, 10/min for success)
- Replace debug print statements with secure logging throughout

Security Enhancements:
- Stripe webhook IP whitelist validation with current IP ranges
- Content type and payload size validation for webhooks
- Comprehensive error handling with sanitized error messages
- Proper logging for all payment operations and security events

Payment System Improvements:
- Enhanced duplicate payment prevention
- Improved error handling and user feedback
- Secure session verification and balance updates
- Comprehensive audit trail for all payment operations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 02:15:22 +05:30
Claude
8e3cf451a1 Rebrand platform from NetCop Hub to Quantum Tasks AI
- Update domain configuration to quantumtaskai.com
- Change all page titles and branding across templates
- Update Stripe integration with new domain URLs
- Modify settings.py for new domain and cache prefixes
- Update project documentation and test files
- Change company name and contact information

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 22:21:45 +05:30
Claude
bfdef5b658 Refactor: Complete architecture reorganization with proper separation of concerns
BREAKING CHANGES:
- Move marketplace and agent discovery views from core to agent_base app
- Transfer all wallet functionality from core to dedicated wallet app
- Move Stripe webhook handling to wallet app for better organization
- Consolidate payment system logic under single responsibility

NEW STRUCTURE:
- core app: Platform pages only (homepage, pricing)
- agent_base app: Complete agent marketplace and catalog system
- wallet app: Full payment system with Stripe integration
- Individual agent apps: Unchanged, self-contained

IMPROVEMENTS:
- Clean URL namespacing (agent_base:marketplace, wallet:wallet)
- Template organization by app responsibility
- Removed deprecated CSS files (header.css)
- Added utility classes (.hidden)
- Updated all template references to new URL structure
- Comprehensive CLAUDE.md documentation updates

TECHNICAL CHANGES:
- Templates moved: marketplace.html, agent_detail.html → agent_base/
- Templates moved: wallet*.html → wallet/
- New files: agent_base/views.py, agent_base/urls.py, wallet/urls.py
- Updated main urls.py routing configuration
- Fixed Django system checks and namespace conflicts
- Verified all functionality with test suite

This reorganization follows Django best practices with single responsibility
principle, making the codebase more maintainable and scalable.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 20:03:53 +05:30
Claude
55214b1dc3 Fix NOT NULL constraint error for stripe_payment_intent_id
- Add stripe_payment_intent_id field to WalletTransaction model with proper defaults
- Update User.deduct_balance() to handle missing stripe_payment_intent_id gracefully
- Update User.add_balance() to handle missing stripe_payment_intent_id gracefully
- Use try-catch pattern to handle database schema mismatches
- Provide empty string as default for stripe_payment_intent_id when field is required

Issue: Database has NOT NULL constraint on stripe_payment_intent_id but code doesn't provide it
Solution: Add field with proper defaults and graceful error handling

Prevents: 'NOT NULL constraint failed: wallet_wallettransaction.stripe_payment_intent_id'
2025-07-16 23:01:31 +05:30
Claude
a6e9ca54d6 Fix security vulnerabilities and improve environment configuration
- Remove hardcoded SECRET_KEY from settings.py (now requires env var)
- Remove hardcoded database credentials from PostgreSQL config
- Add environment variable validation on Django startup
- Fix Stripe API key logging to prevent credential exposure
- Update .env.example to match Railway deployment structure
- Replace exposed API key in documentation with placeholder
- Maintain compatibility with existing Railway deployment setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 12:30:23 +05:30
Claude
8f56fcf35c Clean up payment system: improve descriptions and remove manual verification
 IMPROVEMENTS:
- Changed transaction description from 'Manual Verification' to clean 'Wallet top-up via Stripe'
- Removed confusing 'Verify Payment' button from wallet page
- Removed manual verification modal and JavaScript
- Removed manual verification URL endpoint
- Cleaner, more professional user interface

Result: Simple, automatic payment system that works seamlessly without user intervention.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 17:23:52 +05:30
Claude
4816e3040e Add comprehensive Stripe debugging system
🔍 DEBUGGING TOOLS ADDED:

1. Enhanced Payment Creation Logging:
   - Show API key, version, environment details
   - Log complete session creation response
   - Immediate session verification after creation
   - Detailed session metadata and status

2. Enhanced Payment Verification Logging:
   - Complete session retrieval details
   - Payment intent information if available
   - Full session status and metadata
   - Account verification details

3. Stripe Debug Endpoint (/stripe/debug/):
   - Test API connectivity
   - Show account information
   - List recent checkout sessions
   - List recent charges/payments
   - Identify which Stripe account we're connected to

This will help identify:
- If payments are going to wrong Stripe account
- If API keys are correct
- If sessions are being created properly
- Where the disconnect between payments and dashboard is happening

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 16:44:18 +05:30
Claude
e7d5ccf017 Implement webhook-free Stripe payment verification system
 SOLUTION: Bypass webhook delivery issues entirely

Changes:
- Enhanced checkout session creation with session_id in success URL
- Updated success page to automatically verify payments via Stripe API
- Added manual payment verification modal on wallet page
- Users can verify payments manually if automatic verification fails
- Real-time balance updates without depending on webhooks

Benefits:
- Instant payment confirmation upon return from Stripe
- No webhook delivery dependency
- Manual fallback for edge cases
- Better user experience with immediate feedback

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 16:11:35 +05:30
Claude
e30bea2de5 Fix Stripe API version mismatch for webhook delivery
Set stripe.api_version to '2025-05-28.basil' to match webhook
configuration. This ensures checkout sessions created by Django
will trigger webhook events properly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 15:24:42 +05:30
Claude
8946bca8a6 Add session data debugging to webhook handler 2025-07-12 14:12:56 +05:30
Claude
90352982bf Add checkout session creation debugging 2025-07-12 13:42:59 +05:30
Claude
bf22a2d21a Add webhook debugging to troubleshoot payment balance updates
- Add detailed logging to Stripe webhook handler
- Log webhook events, user processing, and balance updates
- Help identify if webhooks are being received and processed correctly
- Temporary debugging to resolve wallet balance not updating after payment

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 12:49:37 +05:30
Claude
f7cdad4273 Replace hardcoded Stripe payment links with dynamic checkout sessions
- Remove hardcoded payment link URLs that were environment-specific
- Implement dynamic Stripe checkout session creation with automatic domain detection
- Add success/cancel URLs that automatically work on localhost and Railway
- Update StripePaymentHandler to use request.build_absolute_uri() for proper URL generation
- Add wallet top-up success and cancel views with proper user feedback
- This fixes the issue where payment success redirected to old/wrong URLs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 12:25:51 +05:30
Claude
67ba2de335 first working 2025-07-09 02:15:35 +05:30