- PersonalityEngine: callWindowCopy() + aftermathCopy() zentralisieren
alle Notification-Texte (bisher verstreut und teils unlokalisiert)
- CallWindowManager: 3 Varianten nach Profil (high E / high N / default),
String(localized:) + Error-Logging ergänzt
- AftermathNotificationManager: Titel "Nachwirkung: %@" → "Wie war's mit %@?",
Body via PersonalityEngine.aftermathCopy()
- Todo- und Vorhaben-Erinnerungen: subtitle "Dein Vorhaben" für
persönlicheren Kontext (AddTodoView, EditTodoView, AddMomentView)
- AddMomentView: Logging + Error-Callback nachgezogen (wie AddTodoView)
- 9 neue Tests in NahbarPersonalityTests (NotificationCopyTests)
- Lokalisierung: 4 neue Strings inkl. bisher unlokalisierter Texte
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- AppDelegate mit UNUserNotificationCenterDelegate: Notifications werden
jetzt auch angezeigt wenn die App im Vordergrund läuft (.banner + .sound)
- scheduleReminder: Fehler-Logging bei abgelehnter Berechtigung und
center.add-Fehler hinzugefügt (analog zu AftermathNotificationManager)
- userInfo mit todoID in Notification-Content aufgenommen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Kapselt die gesamte Abo-Logik in einem testbaren `FeatureGate` Value-Type.
`refreshStatus()` nutzt nun `FeatureGate.from(foundPro:foundMax:)` als
zentrale Factory — die "Max implies Pro"-Invariante ist so nicht mehr
implizit im StoreManager vergraben, sondern explizit und durch 18 neue
Unit-Tests abgesichert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
TextEditor auf minHeight 120 verkleinert, VStack in ScrollView
eingebettet – KI-Vorschläge schieben den Editierbereich nicht
mehr aus dem Sichtfeld.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Jede der drei Vorschlags-Sektionen hat jetzt einen kleinen Button
(Pfeil-Icon), der den jeweiligen Text ins Notizfeld übernimmt.
Kurzes Checkmark-Feedback zeigt die erfolgreiche Übernahme an.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Die KI gibt gelegentlich **fett** formatierten Text zurück. Da die
Vorschläge als Plain Text dargestellt werden, werden verbleibende
** nach der Sektion-Extraktion jetzt bereinigt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Neues Max-Plan-Feature: Beim Anlegen eines Treffens können KI-gestützte
Gesprächsvorschläge abgerufen werden. Die Vorschläge umfassen Themen-
vorschläge, Gesprächsretter (bei Stockungen) und Tipps um Smalltalk
in bedeutsame Gespräche zu verwandeln.
- AIAnalysisService: ConversationSuggestionResult, CachedConversationSuggestion,
suggestConversation(person:), parseConversationResult (internal),
buildPrompt auf PromptType-Enum umgestellt
- SettingsView: AppLanguage.conversationInstruction (DE + EN)
- AddMomentView: KI-Sektion (idle/loading/result/error) nur bei Treffen-Typ
- PaywallView: Gesprächsvorschläge in Max-Feature-Liste
- Localizable.xcstrings: 10 neue DE/EN-Strings
- Tests: 8 neue Unit-Tests für Parsing und Codable Round-Trip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Der Speichern-Button am Ende des Flows ersetzt den Abbrechen-Button
in der Toolbar für beide Fragebögen (Meeting + Nachwirkung).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Statt Fragen einzeln zu ersetzen, werden sie jetzt nacheinander von
unten eingeblendet und bleiben sichtbar:
- Tippen auf einen Dot zeigt die nächste Frage darunter an
- "Überspringen" blendet ebenfalls die nächste Frage ein
- Beantwortete Fragen bleiben sichtbar und können angepasst werden
- Nach der letzten Frage erscheint ein "Speichern"-Button
- Gilt für Sofort-Bewertung (MeetingRatingFlowView) und
Nachwirkung (AftermathRatingFlowView)
- Neuer QuestionCard-Component in RatingQuestionView.swift
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- LogEntryType.todoCompleted hinzugefügt (checkmark.square.fill, grün)
- Abgehakte Todos erzeugen jetzt automatisch einen Logbuch-Eintrag
(sowohl aus PersonDetailView als auch TodayView)
- Verlauf-Vorschau in PersonDetailView zeigt jetzt eine gemischte
Timeline aus Momenten + Logeinträgen statt nur LogEntries
- Verlauf-Abschnitt erscheint sobald Momente oder Logeinträge vorhanden
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Buchsymbol in der NavBar öffnet LogbuchView unabhängig davon, ob
bereits Logeinträge vorhanden sind (vorheriger Fix griff nur wenn der
Verlauf-Abschnitt sichtbar war).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
"Alle"-Link im Verlauf-Header zeigt LogbuchView unabhängig von der
Eintragsanzahl (vorher nur bei >5 Einträgen sichtbar).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1. Kalender-Einstellungen: Picker für Standard-Kalender in Settings
2. Swipe-Gesten: Sensitivität reduziert (minimumDistance 50, Snap ×1.5)
3. Momente: Gespräch → Gespräch/Chat; Unternehmung aus Picker entfernt
(Enum-Case bleibt für Rückwärtskompatibilität)
4. Onboarding: maximal 3 Kontakte auswählbar
5. Herkunft: kultureller Hintergrund auf Personenprofil + AI-Prompt
6. Planung: Erinnerung und Kalendereintrag unabhängig für alle Typen
außer Gedanke; kein Survey bei zukünftigem Treffen
7. Heute-Ansicht: Erinnerungen für Treffen und Gespräch erscheinen
in "Anstehende Erinnerungen"; Platzhalter passt sich Planungsstatus an
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>