Spaces:
Sleeping
Sleeping
Commit History
-
Recording segment cap, 4-step onboarding, Google OAuth fix, upgrade card, Home feed polishβ
- offscreen.js/background.js: recording now hard-caps at MAX_CHUNKS=2 (40 min total) instead of continuing indefinitely. The final segment routes through background.js's normal handleStop() (WebRTC-timeline flush before stopping) instead of a plain boundary cut, so the last chunk's speaker timeline is complete. The 30s pre-boundary warning now distinguishes "continuing automatically" from "recording will end." - AuthView.jsx: fixed the Google sign-in button being hidden specifically inside the extension (display:none leftover from before the chrome.identity.launchWebAuthFlow path existed) β handleGoogle() already supported both contexts, only the button visibility was wrong. Added diagnostic logging for the OAuth callback failure path. - OnboardingView.jsx: rebuilt to 4 steps (Concept/How/Preview/Trust) β Preview is new, showing an example portrait card (real quote+tags format, not numeric scores) plus a compact "Already reflected back" hint and an honest "what β¦401c4a8
-
Scope onboarding-done state per account, not per browserβ
bm_onboarding_v1 was a single flat localStorage key with no user scoping β once any account finished onboarding on a browser, every other account signing in on that same browser (e.g. a friend testing on your machine, or you testing a second account) silently skipped it too. Now keyed as bm_onboarding_v1_<user.id> and re-checked whenever the signed-in user actually changes, not just once at mount.9d84a97
-
Bring onboarding, How It Works, and privacy policy up to dateβ
These hadn't been touched since the CLAUDE.md engine rebuild and were describing a product that no longer exists: voice enrollment, the disabled Upload path, a 5-trait Confidence/Assertiveness/Composure radar, Groq Whisper transcription, pyannote diarization. All fully removed in favor of what's actually true today: Deepgram Nova-3, Claude for phrasing, no diarization (the mic identifies you by construction), and real self-relative signals with no numeric grades. Onboarding goes from 2 steps to 3 β dropping the dead "Upload" path freed up room for a dedicated trust/privacy step ("What happens to your recording"), rather than the one small gray footnote it was buried in before. That same "only your patterns are kept, whoever else is on the call is never profiled" point now appears consistently in onboarding, How It Works, the privacy policy, and the recording consent modal β a real, distinctive design decision that wasn't stated anywhere in the product until now.88c192b
-
Revert to the bar-graph logoβ
The Dome/Clarity mark didn't land well in practice β reverting App.jsx, AuthView, OnboardingView, HowItWorksView, ProfileView's empty state, favicon.svg, generate-icons.html, and the extension icon PNGs to their pre-dome-mark state, and removing the now-unused Logo.jsx. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>7dd0d81 -
Replace the bar-graph logo with the Dome/Clarity markβ
Introduces a single shared Logo.jsx component (DomeMark + LogoLockup) and retires 5 independently hand-duplicated copies of the old equalizer-bar SVG across App.jsx, AuthView, OnboardingView, HowItWorksView, and ProfileView's empty state. The new mark matches docs/Mirror_Canonical_Vision.md's "Clarity" mark: a faint dashed dome above the mirror line, a solid dome below rendered with a radial gradient (bright center, deepening toward the edges). Also rewrites favicon.svg and generate-icons.html to match, and regenerates the extension's icon16/48/128.png against a dark background rather than the old near-black canvas default. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>f9393f8
-
Redesign onboarding to 2 steps + add recording consent promptβ
Onboarding: - Cut from 3 steps to 2: concept screen (what Mirror is) + how-to screen (two paths: Google Meet live recording vs file upload) - Step 2 now accurately describes the current product β removed the old "upload only" framing, added Meet recording path with clear description - CTA changed to "Open the mirror β" on final step - Removed StepPreview (mock profile) β reduces time to first real use Recording consent: - First-time "Start Recording" click now shows a modal: "You are responsible for ensuring all participants consent to being recorded" - User must confirm before recording starts; choice stored in localStorage (mirror_consent_v1) so prompt never appears again Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>aff2ced
-
Rename to mirror., scroll reveal animations, waveform logo, deployment configβ
- Renamed app from Behavioral Mirror to mirror. throughout - Added waveform SVG logo (option 2A) to all pages replacing emoji placeholders - Added scroll reveal animations (Reveal/RevealItem) to all pages - Cleaned requirements.txt: removed unused anthropic, openai-whisper, whisperx, sqlalchemy - Added Dockerfile with CPU-only torch and ffmpeg for Railway deployment - Updated CORS to allow chrome-extension:// origins via regex + FRONTEND_URL env var - Added .env.example template Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d1cde70
-
Profile intelligence, context-aware baselines, and Mirror Feedβ
Core additions: - Personality synthesis with paragraph + 5 scored dimensions (PersonalitySynthesizer) - Context-specific baselines: population norms per context type β personal context average once 3+ same-context sessions exist. Eliminates false-positive coaching (e.g. high talk ratio in evaluative contexts no longer flagged as domination) - Mirror Feed: per-session highlight feed on profile page, collapsed with peek effect - Reflect tab: pre-computed session Q&A (generate_reflection_questions) - Transcript quotes extracted and passed to profile synthesis for grounded narratives - Onboarding flow (3-step, localStorage gated) - Session delta: flags dimension score changes β₯8pts after each new session - Blind spots: top 3 context gaps the mirror hasn't seen - Profile completeness bar with depth label - Context detector pipeline stage (ContextDetector via Groq) - Voice enrollment UI (EnrollView) with 1β3 round recording - Auth UI (AuthView), Supabase client, API client - SSE-based prβ¦d4c6e81