AI Pulse v1.2.1 — Settings Integration Fixes, Balance Widget & Claude Code Detail Card
What's New
Settings → Integrations — Major UX Overhaul
- Paste works — replaced
NSSecureTextFieldwith customMaskedTextField(plainNSTextField+ partial masking: first 8 chars + bullets).Cmd+V/Ctrl+Vnow work reliably. - Ctrl+A/C/V support — Windows-style shortcuts handled via event monitor for users switching from Windows.
- Key validation — saving a key triggers an API balance check; status icon shows orange ? (no key), blue spinner (checking), green ✓ (valid), or red ✗ (invalid).
- Per-provider error detection — Zhipu (
code≠200, msg), Kimi (code≠0), plus generic error/success JSON patterns. - Two-row layout — provider name + balance on row 1, key input + save + status icon on row 2.
- Clear to delete — empty the field and save to remove a key; cached balance is cleared on delete.
Claude Code Detail Card
- Expandable detail card from the menu bar tool row, showing session-level Claude Code usage.
Balance Widget (iOS)
- iOS Widget Extension showing remaining balance + daily trend.
- watchOS three-ring layout mirrored in widget for consistency.
- Auto-refresh on data change.
Other Fixes
- Remaining balance normalized to USD across all platforms.
- CloudKit write skipped when snapshot content is unchanged (prevents unnecessary wake-ups).
- Serialized + deduplicated CloudKit network ops to prevent Wi-Fi drop on iPhone SE 2nd gen.
- Launch-at-login toggle in General settings.
- Debug builds show [DEV] in app name.
- About page: open source license, audio credits, feedback link.
Full Changelog: v1.2...v1.2.1