Commit Graph
26 Commits
Author SHA1 Message Date
stefankoelle 4c743036d5 special search last updated 2026-08-11 20:32:32 +02:00
stefankoelle debaf7dd62 related contact detail 2026-08-10 23:55:23 +02:00
stefankoelle 3edcc99c61 related contact details 2026-08-10 23:20:42 +02:00
stefankoelle 1b4892109a fix prefix anomaly 2026-08-07 23:43:44 +02:00
stefankoelle 047766df86 birthday testmail when most contacts 2026-08-07 21:37:50 +02:00
stefankoelle 323432eb14 ui: sorting upcoming birthdays 2026-08-07 19:59:24 +02:00
stefankoelle 1caab5ebf0 ui: sorting 2026-08-07 19:58:09 +02:00
stefankoelle aa01f47d92 web group cloud 2026-08-07 15:54:34 +02:00
stefankoelle 57739f99a4 fix: group_members beim Kontakt-Löschen bereinigen
Neue Funktion delete_group_members_by_uids in db.py entfernt
Member-Einträge aus group_members wenn ein Kontakt gelöscht wird.
Nutzt JOIN über groups Tabelle für Account-Scoping.
Doku in README.md aktualisiert.
2026-08-07 15:33:31 +02:00
stefankoelle 94a279f207 feat: iCloud-Kontaktgruppen synchronisieren und API-Endpunkte hinzufügen
Erkennt iCloud-Gruppen (vCards mit X-ADDRESSBOOKSERVER-KIND:group) beim
CardDAV-Sync und speichert sie separat in den neuen Tabellen groups und
group_members statt als Kontakte in die contacts-Tabelle.

Änderungen:
- sql/schema.sql: Neue Tabellen groups + group_members (FK CASCADE)
- src/vcard_parser.py: is_group_vcard() + parse_group() Funktionen
- src/db.py: DB-Funktionen für Gruppen (upsert, delete, replace, get)
- src/sync.py: _classify_vcards() trennt Gruppen von Kontakten
- src/api/schemas.py: Pydantic-Modelle für Gruppen-Responses
- src/api/main.py: 3 neue Endpunkte (/api/groups, /{id}, /{id}/members)
- src/api/templates/contact.html: Gruppen-Section im Kontakt-Detail
- README.md + SPEC.md: Dokumentation aktualisiert
2026-08-07 15:18:44 +02:00
stefankoelle 5cdefff6f5 timezone config fix 2026-08-07 13:18:33 +02:00
stefankoelle 04f464c7bb timezone config 2026-08-07 13:06:48 +02:00
stefankoelle 25d1606fb0 web dashboard special links fix 3 2026-08-05 22:56:54 +02:00
stefankoelle 9d4d0b1306 web dashboard special links fix 2 2026-08-05 22:49:28 +02:00
stefankoelle e1805d5ba8 web dashboard special links fix 2026-08-05 22:42:24 +02:00
stefankoelle ddb65055d8 web dashboard special links 2026-08-05 22:35:34 +02:00
stefankoelle eacdefaacf web dashboard birthday with photo 2026-08-05 17:28:07 +02:00
stefankoelle fc6930d2ae sync more logging when error 2026-08-05 16:02:20 +02:00
stefankoelle 12e36b2f17 fix db sync bugs 2026-08-05 15:10:55 +02:00
stefankoelle 8edc339b29 db full_name fallback 2026-08-05 06:32:35 +02:00
stefankoelle cf3563124f web dashboard 2026-08-05 05:56:28 +02:00
stefankoelle af922f23ba LICENSE 2026-08-05 02:29:18 +02:00
stefankoelle 0d29fd0486 fix 3 2026-08-05 01:16:52 +02:00
stefankoelle e9ee19e0aa fix sql path 2026-08-04 23:07:46 +02:00
stefankoelle 236f415efe create schema if not existing 2026-08-04 23:03:32 +02:00
stefankoelle d14690c525 initial commit 2026-08-04 21:02:28 +02:00