This commit introduces a new unsubscribe feature to allow contacts to opt-out
from marketing automation.
Key changes include:
- Database schema migration: Added (UUID) to the model.
- Data population: Implemented a script to assign unique tokens to existing contacts.
- API endpoint: Created a public GET endpoint to handle opt-out requests.
- Automation: New contacts automatically receive an unsubscribe token upon creation.
- Integration: The full unsubscribe link is now returned via the provisioning API
for storage in SuperOffice UDFs (ProgID: SuperOffice:9).
- Documentation: Updated and
to reflect the new feature and its integration requirements.
- Added for quick overview and next steps.
- Restored missing method implementations in ClassificationService (classify, extract_metrics)
- Fixed Standardization Logic not being applied in metric cascade
- Bumped version to v0.7.4 in config.py
- Removed duplicate API endpoint in app.py
- Updated MIGRATION_PLAN.md
- Implemented a "Re-evaluate Wikipedia" button in the UI.
- Added a backend endpoint to trigger targeted Wikipedia metric extraction.
- Hardened the LLM metric extraction prompt to prevent hallucinations.
- Corrected several database path errors that caused data loss.
- Updated application version to 0.6.4 and documented the ongoing issue.
- Fixed a critical in the company-explorer by forcing a database re-initialization with a new file (). This ensures the application code is in sync with the database schema.
- Documented the schema mismatch incident and its resolution in MIGRATION_PLAN.md.
- Restored and enhanced BUILDER_APPS_MIGRATION.md by recovering extensive, valuable content from the git history that was accidentally deleted. The guide now again includes detailed troubleshooting steps and code templates for common migration pitfalls.
- Updated version to v0.3.0 (UI & Backend) to clear potential caching confusion.
- Enhanced Impressum scraper to extract VAT ID (Umsatzsteuer-ID).
- Implemented 2-Hop scraping strategy: Looks for 'Kontakt' page if Impressum isn't on the start page.
- Added VAT ID display to the Legal Data block in Inspector.
This commit introduces the foundational elements for the new "Company Explorer" web application, marking a significant step away from the legacy Google Sheets / CLI system.
Key changes include:
- Project Structure: A new directory with separate (FastAPI) and (React/Vite) components.
- Data Persistence: Migration from Google Sheets to a local SQLite database () using SQLAlchemy.
- Core Utilities: Extraction and cleanup of essential helper functions (LLM wrappers, text utilities) into .
- Backend Services: , , for AI-powered analysis, and logic.
- Frontend UI: Basic React application with company table, import wizard, and dynamic inspector sidebar.
- Docker Integration: Updated and for multi-stage builds and sideloading.
- Deployment & Access: Integrated into central Nginx proxy and dashboard, accessible via .
Lessons Learned & Fixed during development:
- Frontend Asset Loading: Addressed issues with Vite's path and FastAPI's .
- TypeScript Configuration: Added and .
- Database Schema Evolution: Solved errors by forcing a new database file and correcting override.
- Logging: Implemented robust file-based logging ().
This new foundation provides a powerful and maintainable platform for future B2B robotics lead generation.