Commit Graph

1932 Commits

Author SHA1 Message Date
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
8c136174d1 [30388f42] Docs: Add development and production workflow guidelines to RELOCATION.md
This commit introduces comprehensive guidelines for managing development and production environments, addressing the user's strategic questions regarding workflow, webhook handling, and secure email sending.

- **Teil 4: Entwicklungs- vs. Produktions-Workflow:** Documents the 'separated worlds' approach for development on Synology and production on the Wackler VM, detailing configuration separation, webhook handling, and safe email testing.
- **Teil 5: Alternative - Single-Host-Setup:** Provides a robust strategy for running both development and production environments on a single VM, emphasizing directory structure, port conflict resolution, and guaranteed database isolation via Docker volumes.

These additions clarify the operational guidelines for maintaining system stability and data integrity post-migration.
2026-03-08 19:37:57 +00:00
36252f4ea2 [30388f42] docs: Finalize relocation plan and streamline root README 2026-03-08 15:43:03 +00:00
479a1cdb87 [30388f42] fix: Correct root endpoint in heatmap-backend 2026-03-08 15:36:33 +00:00
d32e6bf7a4 [30388f42] fix: Finalize health check script with correct paths 2026-03-08 15:32:19 +00:00
42d9eb4660 [30388f42] fix: Create robust docker-native health check script 2026-03-08 15:21:40 +00:00
f38b76ffae [30388f42] fix: Stabilize competitor-analysis and content-engine services 2026-03-08 14:50:00 +00:00
c467d62580 [30388f42] feat: Add automated test infrastructure for core services 2026-03-08 13:41:58 +00:00
3a6183a85e [30388f42] ui: Add robot favicon to dashboard 2026-03-08 12:42:22 +00:00
cb9ced2e3c [30388f42] docs: Streamline root README and move technical details to infrastructure doc 2026-03-08 12:36:28 +00:00
bd1657e7f4 [30388f42] docs: Final restructuring - Separate active knowledge from legacy archive 2026-03-08 12:34:08 +00:00
ff3932b3e1 [30388f42] docs: Restore full legacy content and structure project documentation 2026-03-08 12:27:07 +00:00