Add email list sync UI, Phase 4 user fields, and startup migrations.
59ba43e
AuthorBotCursorcommited on
Add enterprise growth APIs, billing, admin UI, and test suite.
12930b5
AuthorBotCursorcommited on
Fix analytics accuracy, tenant isolation, and event-loop blocking.
ff0847b
AuthorBotCursorcommited on
Add SuperAdmin retailer API keys with priority over env and free scraping.
ad1b7c6
AuthorBotCursorcommited on
Fetch list prices during platform presence scans where retailers allow it.
4737249
AuthorBotCursorcommited on
Revert "Complete platform presence stack with ISBN enrichment and manual overrides."
92d849b
AuthorBotcommited on
Complete platform presence stack with ISBN enrichment and manual overrides.
6d8ebbb
AuthorBotCursorcommited on
Add Platform Presence Scanner for URL import distribution scoring.
c5d0d2d
AuthorBotCursorcommited on
feat: full cover+genre extraction from all platforms - platform HTML parsers + DB fields
8ef8ff2
AuthorBotcommited on
fix: resolve Pyrefly unknown-name errors in book.py
63bcf93
AuthorBotcommited on
feat: deep book metadata extraction - author bio, genre, ratings, pages
2bfc0e2
AuthorBotcommited on
feat: book URL import - 10 platforms, 3-step UI, scraper service
2a566aa
AuthorBotcommited on
feat: show IP address in sessions + persistent login until logout - Add ip_address field to ChatSession model (VARCHAR 45, handles IPv4+IPv6) - Store real client IP at session/init time via get_real_ip() - Expose ip_address in /sessions list and /sessions/{id}/transcript responses - DB migration: ip_address column added to chat_sessions - Bump REFRESH_TOKEN_EXPIRE_DAYS from 7 to 30 days (stay logged in 1 month) - Fix auth-client.js: refreshAccessToken only clears session on 401/403, not on network/5xx errors (HF cold-start safe) - Fix restoreSession: keeps session alive when refresh fails transiently, only clears on explicit auth rejection
cb1aefd
AuthorBotcommited on
feat: proper visitor analytics system - New Visitor model (visitor_uid + fingerprint fallback, first_seen/last_seen/page_views, geo, device) - VisitorRepository with upsert + analytics queries - visitor_tracker.py: record_visitor() upserts on every session/init - session/init accepts visitor_uid in request body (HF-Spaces iframe-safe, no cookies) - 4 new analytics endpoints: /visitors /geo /devices /sessions/stats - geo.py: region extraction + X-Real-IP support - DB migration: visitor_uid column on chat_sessions - ARCHITECTURE.md updated
3ae7860
AuthorBotcommited on
feat: Phases 2B + 3B β semantic Q&A and vector store fixes
75a3a40
AuthorBotcommited on
Production hardening: JWT blacklist, TOTP, Pydantic schemas, Prometheus, SSRF fix, CSP, Redis auth, Celery backup β 35 items across P0-P5
131d826
AuthorBotcommited on
Enforce brief sales-focused chatbot rules with spoiler guard and buy CTAs.
701aaf2
AuthorBotCursorcommited on
Restructure chat flow: hello shows clickable book list, then engaging Q&A.
0daa940
AuthorBotCursorcommited on
Humanize bot responses for greetings, catalog questions, and empty RAG retrieval.
2bb94f4
AuthorBotCursorcommited on
Phase 1.2+5.1+6.2+6.5: Book cover upload with resizing, conversion funnel analytics, intent distribution, backup system, CI/CD pipeline
e00a1e3
AuthorBotcommited on
Phase 1: Add Conversations Viewer, Custom Q&A Manager, Export Center β 15 new API endpoints, 3 new admin pages, CustomQA model, message annotations, flagging, search, CSV import/export
d09ea19
AuthorBotcommited on
Deep audit fix: add missing model columns (blocked, rating, tokens_used, out_of_scope_message, buy_url, preview_url), fix .get() calls, fix ingest doc creation, add track-click endpoint, add column migrations, fix email crash, fix audit log field names, enrich superadmin author list
868f634
AuthorBotcommited on
Wire all frontend features to real backend APIs: widget-config, profile, personality, notifications, smart-links, token-usage, grant-by-email, fix password endpoint
23cc545
AuthorBotcommited on
Fix: specify foreign_keys on User.access_records to resolve AmbiguousForeignKeysError