github evinjohnn/natively-cluely-ai-assistant v2.2.0
Natively (Latest)

8 hours ago

Summary

Major feature release introducing Live Negotiation Coaching, Code Hint mode, Brainstorm mode, an auto-expanding code panel, a full light mode overhaul, and critical stability & stealth improvements across the board.

What's New

  • Live Negotiation Coaching — Real-time salary negotiation advisor powered by a state machine that tracks offer phases, extracts amounts, and streams LLM-generated tactical guidance with a 5-second timeout and fallback copy
  • Code Hint Mode (⌘6) — Context-aware senior-reviewer hint streamed from screenshots; auto-extracts the problem statement on first press if no prior Solve was run; intelligently ages stale screenshot questions so multi-round interview sessions stay accurate
  • Brainstorm Mode (⌘7) — Streams 2–3 spoken, trade-off-aware approaches with brute-force → optimal pivot; integrates with the dynamic Recap/Brainstorm action button configurable per session from the Settings popup
  • 4-Phase Interview Teleprompter — Replaced the old solution view with a structured Understand → Brainstorm → Implement → Verify teleprompter with spoken scripts, colour-coded phase cards, and complexity pills
  • Auto-Expanding Code Panel — Overlay window smoothly expands to 1.3× width (780 px) when a code block is in view and contracts on scroll; driven by Framer Motion springs with zero re-renders per frame and a 2-call OS window sync strategy

Improvements

  • Dynamic Recap/Brainstorm button — Cmd+4 action is now a user-configurable toggle between Recap and Brainstorm modes persisted to settings and broadcast across all windows
  • Natively API Promo Toaster redesign — Iridescent animated border (Aurora UI, 6 s loop), breathing glow, SVG grain texture, gradient headlines, and useReducedMotion gating for accessibility
  • Full light mode system — Research-backed Professional SaaS palette (#F5F5F5 canvas / #FFFFFF cards / gray-900 text / blue-600 accent); all major components (Launcher, Settings, ModelSelector, JDAwareness, Premium, Profile, and Remote toasters) updated with depth-correct semantic tokens
  • Company Intel Beta pill — Added Beta badge and disclaimer text to the dossier results section
  • Profile Intelligence settings tab — Reordered navigation so Profile Intelligence appears immediately after Natively API
  • Verbose debug logging toggle — Amber-accented terminal icon toggle in General settings; gates all audio pipeline diagnostic logs and STT segment sampling behind the flag
  • Microphone device selection — Native Rust resolver honors user-selected microphone with exact-match → case-insensitive fallback → hard error listing available devices; "Default" sentinel check is now case-insensitive

Fixes

  • Focus steal eliminatedshowInactive() used throughout toggle, screenshot-restore, cropper, and model-selector paths; setAlwaysOnTop only called when value changes; dock show/hide manages presence without calling focus()
  • RAG global searchembedding_provider SQL filter was incorrectly excluding most meetings; fixed to ensure cross-session retrieval works correctly
  • Silence timer bar freeze — Changed object-identity check m === msg to m.id === msg.id in the silence timer callback; spread-reconstructed arrays always invalidated the old reference before the 5-second timer fired
  • Negotiation tracker cross-session bleed — JD replacement now correctly resets the negotiation tracker; deleteDocumentsByType only resets on RESUME delete, not JD delete
  • Log rotation — 10 MB cap with .log.1 rollover prevents unbounded log growth on long-running sessions
  • Concurrent audio test guard_audioTestStarting boolean prevents two concurrent calls from both passing the async permission gate
  • Fast mode persistence — Settings restoration moved to an unconditional startup path so the "Fast Response Mode" flag survives restarts
  • Light/dark theme flash — Theme cached in localStorage and applied synchronously before ReactDOM.createRoot; body background changed from hardcoded #000000 to transparent to eliminate black flash in light mode
  • Dark mode regressions — Launcher hero section, Settings rows, About creator pill, MeetingDetails tabs, FeatureSpotlight, and SettingsPopup toggle track all restored to original dark values after light-mode passes
  • Code hint auto-screenshotgenerate-code-hint and generate-brainstorm handlers now auto-take a fresh screenshot (restoreFocus=false) before reading the queue to prevent stale prior screenshots being sent to the AI

Technical

  • CI smoke test — New build-smoke.yml workflow builds renderer + electron main process and asserts dist-electron/electron/main.js exists
  • Native build hardeningbuild:native added to app:build pipeline; macOS defaults to current-arch only (NATIVELY_BUILD_ALL_MAC_ARCHES=1 for dual build); verifyArtifacts() throws on missing .node files (fail-fast)
  • electron/tsconfig.json outDir — Corrected to ../dist-electron/electron; aligns tsc output with package.json "main" field
  • Screenshot capture refactor — macOS now routes all screenshots through desktopCapturer; session-based withScreenshotCaptureSession() pattern replaces ad-hoc hide/show callbacks; isCapturing guard moved to main.ts; cropper window now hides (not closes) on macOS to eliminate 1–2 s cold-start reload
  • Keybind migrationchat:recapchat:dynamicAction4 rename is handled by ID_MIGRATIONS in KeybindManager so user-customized binds are preserved across the update
  • VectorSearchWorker — Integer validation (1–65 536) added for dim before table-name interpolation; invalid values post an error and break without executing SQL
  • embedding_provider / embedding_dimensions written on summary embed — Prevents summary-only meetings from being silently excluded by provider-switch compatibility checks

⚠️ macOS Installation (Unsigned Build)

Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).

If you see "App is damaged":

  • For .zip downloads:

    1. Move the app to your Applications folder.
    2. Open Terminal and run: xattr -cr /Applications/Natively.app
  • For .dmg downloads:

    1. Open Terminal and run:
      xattr -cr ~/Downloads/Natively-2.2.0-arm64.dmg
      # Or for Intel Macs:
      xattr -cr ~/Downloads/Natively-2.2.0-x64.dmg
    2. Install the natively.dmg
    3. Open Terminal and run: xattr -cr /Applications/Natively.app

⚠️ Windows Installation (Unsigned Build)

When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.

Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.

Don't miss a new natively-cluely-ai-assistant release

NewReleases is sending notifications on new releases.