fix: SyntaxError in books.py — close preview return dict before import-url decorator
8a6b72c
AuthorBotcommited on
feat: URL import now auto-indexes scraped metadata instantly — no file upload needed
ba24df7
AuthorBotcommited on
fix: indexing-stalled false positive, genre not saved, book table UI
a04f534
AuthorBotcommited on
feat: replace Upload Book UI with full URL-import-first flow in real admin SPA
c4bd806
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
fix: 5 critical storage bugs + 3 SQLite/SSE bugs -- tracker.py: db.flush() after add() so chat messages/analytics are persisted -- chat.py: flush->commit for durable ChatSession row -- settings.py: fix session mismatch in all PUT routes (widget-config, profile, personality, notifications, password) - setattr on cross-session user was discarded; now uses UPDATE stmt on route db -- aggregator.py: replace PostgreSQL-only gen_random_uuid() with uuid4() param for SQLite -- ingest.py: fix SSE channel name mismatch subscriber vs publisher -- superadmin_service.py: fix naive/aware datetime TypeError in extend_subscription
Production hardening: JWT blacklist, TOTP, Pydantic schemas, Prometheus, SSRF fix, CSP, Redis auth, Celery backup — 35 items across P0-P5
131d826
AuthorBotcommited on
Enforce strict SuperAdmin vs Author panel separation.
6e276e0
AuthorBotCursorcommited on
Fix token display for unsubscribed authors and add SuperAdmin author removal.
cf196a9
AuthorBotCursorcommited on
Unify token tracking, smart links, and personality settings across admin and chat.
a825fee
AuthorBotCursorcommited on
Fix logout on page refresh by restoring sessions via refresh token and cookies.
ccbebe0
AuthorBotCursorcommited on
Humanize bot responses for greetings, catalog questions, and empty RAG retrieval.
2bb94f4
AuthorBotCursorcommited on
Fix auth session expiry with shared auto-refresh client for admin panels.
e70f2c6
AuthorBotcommited on
Fix chat session init crash and improve embed reliability
2b2591e
AuthorBotcommited on
fix: naive vs aware datetime error in grants/extend/embed-token, grant button loading state + 15s timeout + token display modal
7e0e662
AuthorBotcommited on
feat: Per-user auto embed token, full Token Management SA page, fix extend on expired subs, add /grants + /reset-tokens + /embed-token endpoints
8916c9a
AuthorBotcommited on
Fix CSS: sidebar now scrollable with thin scrollbar, tooltips drop DOWN instead of up to stay in viewport
05614e4
AuthorBotcommited on
Major hardening: bulletproof superadmin router with try/except on every endpoint, fix exception handler names, validate tokens before dashboard, add QoL info tooltips to all admin pages
Fix 500 errors: analytics/funnel used non-existent event_type, analytics/intents used non-existent metadata_json. Add defensive JSON parsing to all API helpers to prevent 'Unexpected token' errors
8ef4618
AuthorBotcommited 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
Fix critical bugs: remove duplicate showModal/closeModal override, fix FastAPI route ordering conflicts (sessions/search before sessions/{id}, qa/import+export before qa/{id}), add missing visitor_name/turn_count to session list response
e759455
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