feat(kontakte): Zustaendigkeit, LinkedIn-Foto, Netzwerkauswahl
Drei Verbesserungen an den Kontakten: * Beim Anlegen ist der angemeldete Benutzer voreingestellt zustaendig. Bisher stand dort der erste Benutzer der Liste - fast immer falsch. * Wird eine LinkedIn-Adresse hinterlegt, holt das CRM das oeffentliche Profilfoto und setzt es als Kontaktfoto: beim Verlassen des Feldes einmal je Adresse, solange kein Foto gesetzt ist, und auf Klick ueber den Knopf daneben. Der Abruf laeuft ueber das Backend (server/src/linkedinPhoto.js, POST /api/leads/linkedin-photo), weil ihn die Same-Origin-Policy im Browser verhindert. Gelesen wird die Open-Graph-Vorschau der Profilseite; Herkunft, Groesse und Antwortzeit des Bildes werden geprueft, Platzhalter-Silhouetten abgewiesen. Schlaegt der Abruf fehl, steht der Grund unter dem Feld. * In der Netzwerkansicht hebt ein Klick auf freie Flaeche die Auswahl auf - das Diagramm sieht danach aus wie beim Wechsel in die Ansicht. Ein Ziehen des Hintergrunds (ab 4 px) laesst die Auswahl stehen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3c9d83161e
commit
0a2cf52e8a
@@ -33,15 +33,21 @@ die Postfachanbindung unter `/api/mail` (siehe
|
||||
|
||||
## Ausgehende Verbindungen
|
||||
|
||||
Das Backend spricht von sich aus mit drei fremden Diensten. Alle drei sind
|
||||
optional - fehlen die Zugangsdaten, läuft die Anwendung ohne den jeweiligen
|
||||
Teil weiter.
|
||||
Das Backend spricht von sich aus mit vier fremden Diensten. Alle sind
|
||||
optional - fehlen die Zugangsdaten oder ist das Ziel nicht erreichbar, läuft die
|
||||
Anwendung ohne den jeweiligen Teil weiter.
|
||||
|
||||
| Ziel | Wofür | Ausgelöst von |
|
||||
| --- | --- | --- |
|
||||
| Projektbörsen | Scraping der Projektangebote | Scanner-Scheduler |
|
||||
| `api.openai.com` | Bewertung Lebenslauf gegen Projekt | Scanner-Pipeline |
|
||||
| `login.microsoftonline.com`, `graph.microsoft.com` | Postfach `crm@perinco.de` lesen | Mail-Scheduler |
|
||||
| `linkedin.com`, `media.licdn.com` | Profilfoto zu einem Kontakt holen | Benutzer im Kontaktformular |
|
||||
|
||||
Der LinkedIn-Abruf ist der einzige, den ein Benutzer direkt auslöst: Er liest die
|
||||
öffentliche Vorschau (`og:image`) einer Profilseite und lädt das Bild vom
|
||||
LinkedIn-CDN. Keine Anmeldung, kein Zugriff auf geschützte Inhalte - schlägt der
|
||||
Abruf fehl, bleibt es beim Hochladen von Hand.
|
||||
|
||||
Die Postfachanbindung schickt **keine** Mailinhalte an Dritte: Kontaktdaten
|
||||
werden auf dem Server aus Graph-Feldern und Signaturen gelesen, ohne
|
||||
|
||||
Reference in New Issue
Block a user