Releases: umzcio/BearCode
Release list
v1.3.0 — Beautiful UI
Beautiful UI overhaul
BearCode's entire interface adopts the Beautiful UI design system (beautifului.dev, MIT): new dark + light palettes, hairline-first surfaces, Inter + JetBrains Mono, and the full motion grammar — 100ms hover feedback, gliding collapsibles, staggered transcript entrances, blur-in streamed text.
Highlights
- Grok-style status pill — one Working indicator in the transcript; the bottom bar appears only when a run needs your approval; Stop lives in the composer
- Favorites-first model picker — search + ★ Favorites / Recent / All tabs, vendor rail with brand tiles on All, informed rows (context, cost tier, strengths), drag-to-reorder favorites; Ursa/Ursus are starrable
- Live model discovery for xAI and Perplexity (Grok 4.6 appears automatically), with provider-reported pricing when LiteLLM lags
- Web search on by default for capable models (opt-out per conversation); the embedded browser is reserved for /browser and real page interaction
- Copy buttons flash a check, catalog Enable confirms and toasts, model lists sort newest-first
Signed (Developer ID, hardened runtime) and notarized — app and DMG both carry stapled tickets.
v1.2.4
Fixes
- Plan review feedback now has a visible submit path: a Send feedback button under the comment box, plus ⌘↩ to send.
- In-app browser: pane no longer wedges into "Invalid browser bounds" when opened mid-animation, and agent screenshots work with the pane closed ("Cannot take screenshot with 0 width").
- Hardening against the app pulling itself to the front during agent browsing (focus-on-navigation disabled for the agent view; window re-show guard).
Dependencies & security
- All 22 open Dependabot advisories resolved (undici, sharp, brace-expansion, fast-uri, ip-address, hono, @hono/node-server, dompurify, js-yaml, and more).
- better-sqlite3 13 (Node-API prebuilds), jsdom 30, @testing-library/jest-dom 7, Electron 43.3.
1.2.3
Terminal fixes.
The garbled terminal
Every terminal showed a line of %%%%%%% and a small stray box above the prompt, and typed characters smeared across it.
The cause was not terminal output at all. xterm.js ships internal helper elements — a character-measurement probe whose text content is literally 32 percent signs, plus an offscreen input textarea — and relies on its own stylesheet to hide them. That stylesheet (@xterm/xterm/css/xterm.css) was never imported, so both rendered as visible page content in normal flow, directly above the prompt.
Also fixed
- The pty is now spawned at the renderer's measured viewport size instead of a hardcoded 80×24 followed by a resize. The shell prints its first prompt immediately, and zsh pads its end-of-line marker to exactly one terminal width before erasing it — so starting at the wrong width left stray marks and desynchronized the shell's cursor model.
- Opening a terminal on a project whose folder no longer exists (moved, renamed, deleted, or on an unmounted drive) now shows a clear explanation instead of a raw
Error invoking remote methodbanner.
Hardening
- The path guard that restricts terminals to known project directories is unchanged and still strict, but it no longer echoes the requested filesystem path back to the renderer.
- Pty dimensions crossing the IPC boundary must now be integers within [1, 1000] on both create and resize. Previously only finiteness was checked, so values like
2.5and1e9reached node-pty.
1.2.2
Motion and Artifacts pane release.
Ships everything since v1.2.0 — v1.2.1 was version-bumped but never published, so its work is included here.
Motion
- Keyboard-summoned menus (slash, @-mention, resume picker) now appear and dismiss instantly instead of animating on every keystroke, and no longer leave a ghost menu after selection.
- Press feedback added across the Models page, which previously had none.
- Press/release timing is now asymmetric app-wide (press eases, release snaps).
- All remaining hardcoded durations and easings consolidated onto motion tokens.
- The Ursa/Ursus composer glow pauses while the window is unfocused, removing continuous background repaint.
- Added entrance/exit motion for the run status bar, composer attachment pills, expanding step groups, and the Artifacts pane, which now slides in as a drawer.
Fixes
- A reduced-motion override was inert due to CSS source order, leaving the artifact chevron animated for users who asked for reduced motion.
- Reduced-motion overrides no longer strip opacity-only fades, which had removed feedback rather than just movement.
Artifacts pane
- Renamed from AuxiliaryPane to ArtifactsPane throughout, matching what users see; dead review-* CSS removed.
- Split into a dedicated module, with a motion CSS contract test, browser readiness and IPC hardening, draft preservation, and keyboard review navigation.
Build
- Static gate restored: typecheck and lint exit clean with zero diagnostics, replacing a documented 17 node / 2 web error baseline.