Commit graph

19 commits

Author SHA1 Message Date
Bruno Deanoz
dca9cb7593 docs: update CLAUDE.md with visual refresh + UX overhaul changes
New sections: ChatInput capsule, semantic colors, custom icons,
glass-lens app icon, text selection, flat sidebar profile.
Updated: typography (W300), blob sizes, top bar layout, icon system.
Added full bugs-fixed section for 2026-06-23 design session.
2026-06-23 14:37:53 +02:00
Bruno Deanoz
8099f463b8 docs: comprehensive CLAUDE.md update for 2026-06-23 design session
Added 12 new commit entries (sidebar redesign through ReasoningBlock
redesign), new bugs-fixed section, updated API contract (webSearchProvider),
Room schema (titleGenerated, v4), voice recording docs (auto-send +
waveform), new feature checkboxes (edit/resend, sidebar search, generate
title, duplicate, web search provider picker).
2026-06-23 01:39:44 +02:00
Bruno Deanoz
2f9ada646c docs: comprehensive CLAUDE.md update for 2026-06-23 session
- Document voice recording, TTS read-aloud, TTS cache, server-synced voice
- Add /api/v1/audio-gen and PATCH /api/v1/me to API contract
- Mark 5 Voice & Call Mode items as done (recording, TTS, cache, sync, backend)
- Add bugs-fixed section for 06-23 (padding, locale, shadow, migration)
- Update backend section with audio-gen, tts_voice, me PATCH
2026-06-23 00:47:01 +02:00
Bruno Deanoz
3c6dab33a0 docs: add Call Mode roadmap (Weg A pipeline + Weg B Live API), image/media gen section
- Mark auto-logout on 401 as done
- Remove WebSocket text-streaming TODO (not needed)
- Add Voice & Call Mode section with v1 (pipeline) and v2 (Gemini Live API via Vertex/GCP)
- Add Image & media generation section
- Document stop button, locale fix, login shadow migration in shipped features
2026-06-23 00:10:15 +02:00
Bruno Deanoz
3032dc869f docs: update CLAUDE.md for 2026-06-22 session — input redesign, perf, markdown
Mark completed: table rendering, clickable links, strikethrough, task
lists, streaming performance (pre-compiled regex). Document: ChatInput
two-row layout, soft dock scrim, sensor/blob perf optimizations,
CallButton with AudioLines, expanded code highlighting languages.
2026-06-22 23:12:42 +02:00
Bruno Deanoz
4351428c66 docs: comprehensive CLAUDE.md update for 2026-06-22 session
8 commits documented: biometric bypass fix, security settings (devices +
password change + biometric toggle), app icon redesign, unified top bar,
snappy sidebar (optimistic insert + instant title + smart merge),
KaizenIcons system (7th design pillar), multi-select file picker.
Updated shipped features table, bugs fixed section, NOT done checklist,
dependencies.
2026-06-22 18:33:44 +02:00
Bruno Deanoz
875a319ddd docs: document KaizenIcons as 7th design system pillar
Icon system is now the 7th pillar alongside P3 color, squircle shapes,
GlassSurface, multi-layer shadows, 4-theme system, and sensor motion.
Documents the Lucide base, custom override architecture, semantic
grouping, and how to add hand-drawn SVG overrides. Also documents the
unified top bar redesign (merged sidebar + model pill).
2026-06-22 14:13:10 +02:00
Bruno Deanoz
ba7ebafe08 feat: security settings — devices, password change, biometric toggle
Security section in Settings with three cards:
- Biometric toggle (persisted in SecureStore, respected by unlock flow)
- Signed-in devices list with remote revoke (GET/DELETE /api/v1/auth/tokens)
- Password change form (POST /api/v1/auth/change-password)

requestBiometricOrPassword() now checks the biometric toggle — when
disabled, always falls back to password dialog.
2026-06-22 13:44:01 +02:00
Bruno Deanoz
15f5781824 fix: close biometric bypass on locked conversations
Three paths in openConversation() called unlockAndOpen() without any
authentication when biometrics were unavailable. Sidebar ToggleLock
also sent PATCH { locked: false } without auth.

- Unified requestBiometricOrPassword() gates all unlock paths
- PasswordUnlockDialog as fallback when biometrics unavailable
- KaizenApi.requestUnlock() sends password to server for verification
- All unlock flows (open chat + sidebar toggle) now require auth
2026-06-22 13:27:55 +02:00
Bruno Deanoz
f8e1747df4 docs: comprehensive CLAUDE.md update for 2026-06-21/22 session
Added 16 new feature commits to the shipped features table.
Updated TODO lists (conversation management, biometric unlock,
sources all marked done). Documented 10 bugs fixed. Added 3 new
constraints/gotchas (keyboard handling, Room schema, BiometricPrompt
context). Updated dependencies (biometric), test descriptions
(reasoning/sources round-trips, SearchSource converter).
2026-06-22 01:35:26 +02:00
Bruno Deanoz
0db20bfda8 docs: document keyboard handling approach (offset, not imePadding) 2026-06-22 01:23:30 +02:00
Bruno Deanoz
edbdbd8697 docs: update CLAUDE.md with biometric unlock + reasoning persistence 2026-06-21 23:58:05 +02:00
Bruno Deanoz
3986443a56 docs: update CLAUDE.md with final attachment menu design 2026-06-21 20:06:43 +02:00
Bruno Deanoz
2e323f3609 docs: update CLAUDE.md with all session changes
Added: gradient scrims, mode pills multi-select, EmptyHero centering,
settings layout fix, theme switching wiring, i18n cleanup, ToolEventsBlock
state machine, attachment picker menu, background prefetch, migration
watermark fix documentation.
2026-06-21 18:48:52 +02:00
Bruno Deanoz
9f2a7f2984 docs: CLAUDE.md — complete update for design system v2 session
Added: sentinel parsing section (reasoning/sources/tools/query),
app icon section, updated TODO checklist (3 items checked off),
removed pre-existing OklabTest failures section (all fixed),
updated test descriptions, removed stale branch reference.
2026-06-21 15:38:12 +02:00
Bruno Deanoz
736bb4c206 feat: persistent settings + server sync + language selector
Settings now persist across app restarts via SecureStore:
- Theme (KaizenThemeId), appearance (Light/Dark/System), username, locale
- All loaded on SettingsViewModel init, saved on every change

Server sync: fetchMe() returns name + email from /api/v1/me,
populates SettingsViewModel on login and each foreground resume.

Language selector: System / Deutsch / English pill toggle in Settings.
Locale preference stored; runtime switching deferred to next iteration.

MeResponse expanded to parse name + email (was defaultModel only).
SettingsViewModel tests updated for store-less default state.
2026-06-21 15:26:14 +02:00
Bruno Deanoz
515a71efb5 feat: Inter Variable font, theme picker wired end-to-end, settings i18n
Inter Variable (v4.1, 859 KB): full type scale with 9 weight axes
(W100–W900), negative tracking at display sizes, positive at labels.

Theme picker: SettingsViewModel now uses KaizenThemeId from the design
system (AMBER/BLAU/MONO/AURORA). MainActivity wires selectedTheme +
appearanceMode to KaizenTheme composable — switching themes in Settings
instantly propagates to the entire app.

No server sync needed — web stores theme in localStorage, app stores
locally. Backend /api/v1/me has no uiTheme field in the DB.

Settings strings migrated to string resources (de + en).
SettingsViewModelTest updated for new enum values + System default.
2026-06-21 15:17:17 +02:00
Bruno Deanoz
e3d624c961 feat: orb uses rememberTiltState(), update CLAUDE.md with i18n + migration status
KaizenOrb now uses centralized rememberTiltState() (GAME_ROTATION_VECTOR,
lifecycle-aware, battery-saver-aware) instead of inline sensor code.
Breath animation uses Durations tokens from motion system.

CLAUDE.md: updated design system section with GlassSurface correction
(no backdrop-filter on Android), migration status (all components done),
i18n section documenting the de/en string resource architecture.
2026-06-21 15:04:31 +02:00
Bruno Deanoz
f1c6a88c4c docs: add CLAUDE.md as architecture map (renamed from NEXT.md)
Adds design system v2 section covering P3 colors, squircle shapes,
GlassSurface, multi-layer shadows, 4-theme system, sensor tilt state,
motion tokens, and new test inventory.
2026-06-21 14:35:45 +02:00