Commit Graph

1943 Commits

Author SHA1 Message Date
a30d741d71 [32788f42] fix(list-generator): pin pydyf to 0.10.0 for weasyprint compatibility 2026-03-18 20:06:24 +00:00
bc2fb2f842 [32788f42] fix(list-generator): downgrade weasyprint to 61.2 to fix AttributeError: super object has no attribute transform 2026-03-18 20:02:29 +00:00
aab7b08296 [32788f42] feat(list-generator): add detailed traceback logging for debugging 500 errors 2026-03-18 19:59:00 +00:00
0acc2a4c0a [32788f42] fix(list-generator): fix syntax error in f-string and fix truncation in pdf_generator.py 2026-03-18 19:51:55 +00:00
fb17445807 [32788f42] fix(list-generator): add missing UI inputs to fix TS unused variables error in frontend 2026-03-18 19:43:59 +00:00
0565ed678a [32788f42] fix(list-generator): update libgdk-pixbuf package name for debian trixie in backend Dockerfile 2026-03-18 19:28:18 +00:00
21c8ff66fd [32788f42] feat(list-generator): create React app and FastAPI backend for PDF list generation 2026-03-18 19:20:59 +00:00
16cd760dac Merge branch 'main' of http://192.168.178.6:3000/Floke/Brancheneinstufung2 2026-03-18 19:48:33 +01:00
ec41628fb6 Dateien nach "ARCHIVE_vor_migration/Fotograf.de" hochladen 2026-03-18 18:48:19 +00:00
80ce77c530 feat(docker): Add minimal docker-compose setup for core services [2f988f42]
Introduced  to allow starting a subset of core services (nginx, company-explorer, lead-engine, transcription-tool) with reduced dependencies. A corresponding  was created to provide a tailored Nginx configuration for this minimal stack, preventing issues with unstarted upstream hosts. This enables flexible deployment and testing of essential components without launching the entire system.
2026-03-18 14:23:46 +00:00
9485cd4428 feat(lead-engine): setup isolated webhook test environment [31f88f42]
Created a dedicated test setup for Smartlead webhooks using docker-compose.test.yml and nginx-proxy-test.conf. This ensures a stable, minimal environment. Updated lead-engine/README.md with comprehensive instructions for local testing and production requirements for the Wackler IT.
2026-03-16 15:08:19 +00:00
9f943aea21 [30388f42] fix: correct indentation error in queue_manager.py 2026-03-10 19:38:55 +00:00
87c710a3e9 [30388f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-10 19:23:37 +00:00
bfbce1aad0 [30388f42] chore: ignore large backup files and reset accidentally committed archives 2026-03-10 19:19:20 +00:00
18c9ce8754 [30388f42] docs: add UMZUG Live Lessons Learned to RELOCATION.md 2026-03-10 19:14:38 +00:00
c337e1bde1 [30388f42] build: add script to backup docker volumes before migration 2026-03-10 14:22:21 +00:00
444690d10c [30388f42] refactor: extract duckdns and dns-monitor to separate docker-compose.duckdns.yml 2026-03-10 14:21:57 +00:00
e263df4280 Dateien nach "docs" hochladen 2026-03-10 14:06:51 +00:00
aab0499ff6 [31f88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-10 14:01:28 +00:00
3fd3c5acfa [31f88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-10 13:54:07 +00:00
a3f79db2d2 docs(lead-engine): Document iFrame troubleshooting & Nginx/SyntaxError fixes [31988f42]\n\n- iFrame Robustness: Added a robust JavaScript snippet to for the WordPress landing page, ensuring it functions with or without specific booking parameters and provides a fallback to the general MS Bookings URL.\n- Nginx Configuration Fix: Corrected the to properly route nested paths to the service, resolving the "Synology error page" issue.\n- Python SyntaxError Resolution: Documented the fix for the in (caused by invalid module import syntax), which prevented the service from starting.\n- Restart Instructions: Included necessary restart commands for Nginx and the lead-engine after these changes. 2026-03-10 09:48:18 +00:00
8bc5f4cbb8 feat(smartlead): Add Smartlead webhook integration [31f88f42] 2026-03-10 07:38:47 +00:00
46301f9b8c [31e88f42] Feat: Update weekly summary to use checkboxes for todos
- Modified  to instruct the Gemini model to use checkboxes for "Nächste Schritte / Offene To-Dos".
- Updated  to replace bullet points with checkboxes in all "Nächste Schritte / Offene To-Dos" sections.
2026-03-09 14:58:30 +00:00
5967f54a6f [31b88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-09 14:44:45 +00:00
2c90da3ba5 [31b88f42] Finalize staff locations and travel time logic 2026-03-09 14:44:10 +00:00
9afe4148ba [31b88f42] Update documentation and infrastructure for staff locations and ORS integration 2026-03-09 14:43:47 +00:00
f9e16bc8ad [31b88f42] Add staff locations and reach visualization to Heatmap Tool 2026-03-09 13:44:15 +00:00
47973445dc [31e88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-09 13:25:43 +00:00
f6e00c97e0 feat(connector): [31e88f42] Implement robust de-duplication at ingress
This commit addresses the issue of duplicate jobs being created by the SuperOffice connector.

The root cause was identified as a race condition where SuperOffice would send multiple  webhooks in quick succession for the same entity, leading to multiple identical jobs in the queue.

The solution involves several layers of improvement:
1.  **Ingress De-duplication:** The  now checks for existing  jobs for the same entity *before* adding a new job to the queue. This is the primary fix and prevents duplicates at the source.
2.  **DB Schema Enhancement:** The  table schema in  was extended with an  column to allow for reliable and efficient checking of duplicate entities.
3.  **Improved Logging:** The log messages in  for job retries (e.g., when waiting for the Company Explorer) have been made more descriptive to avoid confusion and false alarms.
2026-03-09 12:50:32 +00:00
e8c751e987 [31e88f42] Erreicht: Die Stabilität des SuperOffice Connectors wurde maßgeblich verbessert, um Endlos-Schleifen bei der Job-Verarbeitung zu verhindern und die Dashboard-Anzeige zu optimieren. Die Verarbeitung relevanter Änderungen wurde präzisiert.
Erreicht: Die Stabilität des SuperOffice Connectors wurde maßgeblich verbessert, um Endlos-Schleifen bei der Job-Verarbeitung zu verhindern und die Dashboard-Anzeige zu optimieren. Die Verarbeitung relevanter Änderungen wurde präzisiert.
Details der Implementierung:
 * Stabile Job-Verarbeitung (Poison Pill): Ein Poison Pill-Mechanismus wurde in queue_manager.py eingeführt. Jobs werden nun nach maximal 5 fehlgeschlagenen Versuchen automatisch als FAILED markiert.
 * Robuste SuperOffice API-Client-Authentifizierung: Die Fehlerbehandlung im superoffice_client.py wurde gehärtet. Authentifizierungsfehler und andere kritische API-Probleme lösen jetzt spezifische Exceptions aus.
 * Behebung des Worker-Startfehlers: Ein ImportError (ContactNotFoundException) im Worker wurde behoben.
 * Präzise Trigger-Logik: Eine Neubewertung von Accounts wird jetzt nur noch bei Änderungen an den Feldern name, urladdress, urls oder dem Vertical-UDF (SuperOffice:83) ausgelöst.
 * Korrekte Datumsanzeige im Dashboard: Die Dashboard-Formatierungslogik wurde angepasst, um updated_at-Zeitstempel anzuzeigen.
2026-03-09 12:38:08 +00:00
3ee995173c Docs: Aktualisierung der Dokumentation für Task [31e88f42] 2026-03-09 12:38:08 +00:00
2f8dd766cf [31988f42] Docs: Added ToDos for MS Bookings tracking via Graph API (pragmatic approach) and CRM sync to SuperOffice 2026-03-09 10:51:42 +00:00
f1e0afe92e [31988f42] Feat: Added lunch break (12:00-12:30) and 2026 Bavarian holidays to slot finding logic 2026-03-09 10:45:57 +00:00
fa3b139164 [31988f42] Feat: Added fallback MS Bookings / WordPress link directly into the email body as an alternative booking option 2026-03-09 10:42:56 +00:00
9fff5e4bde [31988f42] Docs: Updated .env.example with new booking configuration variables 2026-03-09 10:38:14 +00:00
b8e9a9c4f7 [31988f42] Docs: Updated README with WordPress iFrame integration and Race-Condition Protection details 2026-03-09 10:37:12 +00:00
76f1fea4ba [31988f42] Fix: Escaped curly braces in HTML templates to resolve KeyError during format() 2026-03-09 10:26:26 +00:00
68ad818893 [31988f42] Feat: Implemented live calendar check (race-condition prevention) and iframe-ready HTML responses for WP integration 2026-03-09 09:19:35 +00:00
21b9d518fc [31e88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-09 08:46:33 +00:00
de576e2a9a docs(connector): [31e88f42] Document webhook de-duplication shield
Document the newly implemented de-duplication logic in the SuperOffice Connector README. This explains the problem of duplicate 'contact.created' webhooks from SuperOffice and how the worker now skips redundant jobs.
2026-03-09 08:42:22 +00:00
78461b0e71 fix(connector): [31e88f42] Implement de-duplication for contact.created
SuperOffice sends two 'contact.created' webhooks for a single new contact. This caused the connector to process the same entity twice, leading to duplicate entries and logs.

This commit introduces a de-duplication shield in the worker:
- A new method  is added to  to check for jobs with the same company name that are either 'PROCESSING' or 'COMPLETED' within the last 5 minutes.
- The worker now fetches the company name upon receiving a job, updates the job record with the name, and then calls the new de-duplication method.
- If a duplicate  event is detected, the job is skipped, preventing redundant processing.
2026-03-09 08:39:35 +00:00
a9b7dbaaca [31988f42] Lead-Engine: Produktivsetzung und Anfrage per Teams
Implementiert:
*   **End-to-End Test-Button pro Lead:** Ein neuer Button "🧪 Test-Versand (an floke.com@gmail.com)" wurde in der Lead-Detailansicht hinzugefügt, um spezifische Leads sicher zu testen.
*   **Verbesserte E-Mail-Generierung:**
    *   Der LLM-Prompt wurde optimiert, um redundante Termin-Vorschläge und Betreffzeilen im generierten E-Mail-Text zu vermeiden.
    *   Der E-Mail-Body wurde umstrukturiert für eine klarere und leserlichere Integration des LLM-generierten Textes und der dynamischen Terminvorschläge.
*   **HTML-Signatur mit Inline-Bildern:**
    *   Ein Skript zum Extrahieren von HTML-Signaturen und eingebetteten Bildern aus -Dateien wurde erstellt und ausgeführt.
    *   Die -Funktion wurde überarbeitet, um die neue HTML-Signatur und alle zugehörigen Bilder dynamisch als Inline-Anhänge zu versenden.
*   **Bugfixes und verbesserte Diagnosefähigkeit:**
    *   Der  für  wurde durch Verschieben der Funktion in den globalen Bereich behoben.
    *   Die  im Kalender-Abruf wurde durch die explizite Übergabe der Zeitzoneninformation an die Graph API korrigiert.
    *   Fehlende Uhrzeit in Teams-Nachrichten behoben.
    *   Umfassendes Logging wurde in kritischen Funktionen (, , ) implementiert, um die Diagnosefähigkeit bei zukünftigen Problemen zu verbessern.
2026-03-09 08:21:33 +00:00
14237727b9 Dateien nach "docs" hochladen 2026-03-09 07:24:44 +00:00
3336adf270 [31e88f42] Update weekly summary report to use ASCII bar chart as primary visualization 2026-03-09 03:24:47 +00:00
30b930f18a [31e88f42] Move weekly summaries to 'weekly/' directory and update script paths 2026-03-09 03:21:13 +00:00
d589c8ff39 [31e88f42] Add global executive highlights at the top of the weekly summary report 2026-03-09 02:47:30 +00:00
1b7dda010d [31e88f42] Update weekly summary script to use Gemini AI for executive summarization and add Mermaid charts 2026-03-09 02:37:08 +00:00
4ab7ee5447 [31e88f42] Add initial generated weekly summary report for 2026-03-09 2026-03-09 02:31:23 +00:00
d68aa360e1 [31e88f42] Add weekly summary generation script for Notion tasks 2026-03-09 02:29:37 +00:00
6d4a0564e6 feat(lead-engine): Implement Teams notification and email enhancements [31988f42]
- Enhanced Teams Adaptive Card with precise email send time and re-added emojis to action buttons (" JETZT Aussenden", " STOP Aussendung").
- Modified email sending logic to include HTML signature from `signature.html` and an inline banner image from `RoboPlanetBannerWebinarEinladung.png`.
- Documented future enhancements in `lead-engine/README.md`:
    - Race-condition protection for calendar bookings with a live calendar check.
    - Integration of booking confirmation pages into the WordPress website (iFrame first, then API integration).
2026-03-08 20:01:20 +00:00