eric
|
4e2077a6b7
|
[eric] chat: keep tool body collapsed mid-stream, ease bubbles in, stop scroll-anchor fighting autoscroll
|
2026-06-01 11:55:27 -07:00 |
|
eric
|
d2d0589501
|
[eric] chat: render markdown live while streaming so formatting doesnt snap in only at the end
|
2026-06-01 11:55:27 -07:00 |
|
eric
|
894a4b7e23
|
[eric] chat: rewrite stream reveal as a buffered constant-velocity controller to kill the pump-pump stutter
|
2026-06-01 11:55:27 -07:00 |
|
eric
|
6a2b55f23b
|
[eric] browser: wait briefly for webview re-register before card-not-found to absorb the remount race
|
2026-06-01 11:55:17 -07:00 |
|
eric
|
bcb88ebefb
|
[eric] auth: dev-only /api/dev/token so the split-port frontend can authenticate (404s when packaged)
|
2026-06-01 11:55:17 -07:00 |
|
eric
|
aff1b5f5bb
|
[eric] models: add claude opus 4.8 (new flagship) + gemini 3.5 flash (GA), drop dead gemini-3-pro (shut down mar 9), verified against official anthropic/openai/google docs
|
2026-05-31 23:53:31 -07:00 |
|
eric
|
2177bee587
|
[eric] docs: context drawer tip matches the new auto-compact-and-send behavior instead of the stale 90pct trim copy
|
2026-05-31 23:20:19 -07:00 |
|
eric
|
661e6f80e2
|
[eric] ui: stream text reveals at a steady human-typing cadence for every model, zero-dep and zero added ttft (adaptive char pacing decoupled from bursty network chunks)
|
2026-05-31 23:19:59 -07:00 |
|
eric
|
2ebc395c20
|
[eric] ui: native files up to 98pct of window, compaction resets every context surface not just tokens, and the context ring eases down with a soft settle-flash when room is freed
|
2026-05-31 23:13:03 -07:00 |
|
eric
|
deaab16234
|
[eric] perf: send files natively up to 85pct of window like claude.ai does instead of force-summarizing at 50pct (kills the 60s pre-process for files that already fit)
|
2026-05-31 23:08:45 -07:00 |
|
eric
|
32bc3077ad
|
[eric] ux: oversize files auto-shrink and over-context sends auto-compact, no click needed, popups are now status not prompts
|
2026-05-31 23:06:28 -07:00 |
|
eric
|
7ed8d8d27a
|
[eric] ui: popups and chip fade in/out instead of snap-cutting and shrink gets a calm 'may take a minute' hint after 10s only
|
2026-05-31 22:51:02 -07:00 |
|
eric
|
eb70337b00
|
[eric] mac: after a crash relaunch user sees a tiny 'we had a hiccup, sessions are still here' chip for 8s instead of nothing
|
2026-05-31 22:22:13 -07:00 |
|
eric
|
ec6a923b46
|
[eric] ui: one popup handles all oversize files at once and the send fires itself after - 5 clicks becomes 1
|
2026-05-31 22:18:21 -07:00 |
|
eric
|
bc1db576a0
|
[eric] ui: oversize popup and error toast now sit inside the chat panel so they cant get clipped by the canvas
|
2026-05-31 22:03:03 -07:00 |
|
eric
|
5d282b67ef
|
[eric] ui: send-block banner is plain not red, compact button actually invalidates the stale estimate, chip tooltips show filename not temp path
|
2026-05-31 19:07:28 -07:00 |
|
eric
|
a6dd596405
|
[eric] ui: shrinking state is just a pulsing dot + one word, docs say minimalism beats carousels
|
2026-05-31 18:53:09 -07:00 |
|
eric
|
11b7d9b7a4
|
[eric] perf+ui: shrink runs chunks in parallel (5min -> ~1min) and shows a live pulsing label so users know its working
|
2026-05-31 18:50:46 -07:00 |
|
eric
|
56caabebbc
|
[eric] fix: popup uses full width and matches app surface, error toast no longer red wall, summarize chunks small enough for dense pdf tokenization
|
2026-05-31 18:40:33 -07:00 |
|
eric
|
efd901318c
|
[eric] docs: ui/ux precedence in frontend claude.md (plain english, no jargon, no backend errors in toasts)
|
2026-05-31 18:35:43 -07:00 |
|
eric
|
9731ccaa7d
|
[eric] ui: oversized file popup is now plain english (shrink it / remove), error toast no longer dumps backend stack traces
|
2026-05-31 18:34:52 -07:00 |
|
Eric
|
c44bd07fe7
|
[eric] frontend: extend the store-on-window gate so an init-script flag also exposes it on production builds, letting e2e subscribe to redux diffs against the packaged app
|
2026-05-28 00:41:21 -07:00 |
|
Eric
|
2ec69427d0
|
[eric] revert: drop the five windows ablations now that electron 42 (chromium 146) erases the chromium-144 crashes they were working around
|
2026-05-27 20:51:14 -07:00 |
|
Eric
|
bea60d7e3f
|
[eric] fix: ablate richprompteditor to textarea on windows-electron too since the modes editor uses the same contenteditable that segfaults
|
2026-05-27 20:19:23 -07:00 |
|
Eric
|
aeaa79d291
|
[eric] fix: ablate codemirror to a textarea on windows-electron since editorview mounts the same contenteditable that segfaults the renderer
|
2026-05-27 20:13:29 -07:00 |
|
Eric
|
c3d514bf1c
|
[eric] fix: complete the windows ablation by rendering textarea in editorsurface and skipping the onboarding video element entirely
|
2026-05-27 20:06:08 -07:00 |
|
Eric
|
5b7c852bb7
|
[eric] fix: stop the onboarding renderer segfault on windows by not preloading the video metadata that triggers it
|
2026-05-27 19:53:46 -07:00 |
|
Eric
|
dd9d5a367c
|
[eric] fix: stop the windows renderer segfault on view previews by falling back to iframe like browser cards already do
|
2026-05-27 19:34:30 -07:00 |
|
Eric
|
2a4cb96ac0
|
[eric] docs: record the one-line-comment rule in the precedence list
|
2026-05-27 19:11:12 -07:00 |
|
Eric
|
bd09778e1a
|
[eric] build: commit the lockfiles npm ci needs + ignore the build-info stamp
|
2026-05-27 10:19:54 -07:00 |
|
Eric
|
46c7059802
|
[eric] ui: show the build commit in settings about so a screenshot says what shipped
|
2026-05-27 10:19:54 -07:00 |
|
Eric
|
0d561fa49d
|
[eric] perf: stopwatch the boot + headcount every file we ship
|
2026-05-27 10:19:53 -07:00 |
|
Eric
|
8c5b3bdf64
|
[eric] ui: fix the windows guide cursor jumping instead of gliding (it was being rebuilt from scratch every frame) and remove the new chat / history pills above the composer; bump 1.1.69
|
2026-05-26 15:41:13 -07:00 |
|
Eric
|
40b7c19b75
|
[eric] onboarding cursor: restore writePos-after-spring order so mac stays byte-identical (windows still eases via no-op controls + css transition); bump 1.1.65
|
2026-05-26 11:17:01 -07:00 |
|
Eric
|
3509c08057
|
[eric] workflows: remove scheduled-tasks end-to-end (frontend pages+slice, backend app+routes, electron poller), keep dock chat; bump 1.1.64
|
2026-05-26 11:12:29 -07:00 |
|
Eric
|
9605454ebf
|
[eric] windows: onboarding cursor eases via cursorStore-driven css transition (snaps while tracking, eases on moveTo) to match the mac spring
|
2026-05-26 04:16:57 -07:00 |
|
Eric
|
529d350cae
|
[eric] windows 1.1.63: drop the textarea + file-input squirrel-era ablations, restore contentEditable @-mention UI and the attach
paperclip on windows, plus a cubic-bezier cursor transition
|
2026-05-26 02:42:56 -07:00 |
|
Eric
|
da61377d8c
|
[eric] windows 1.1.62: cursor and popups follow target on windows via store-driven style.transform
|
2026-05-26 02:10:56 -07:00 |
|
Eric
|
31a90502c7
|
[eric] windows 1.1.61: restore AgenticCursor render on Windows now that the framer-motion shim makes motion.div safe
|
2026-05-26 01:42:05 -07:00 |
|
Eric
|
bb2de72f6f
|
[eric] windows 1.1.59: production webpack and framer-motion shim
|
2026-05-26 00:29:17 -07:00 |
|
Eric
|
7407e6cb37
|
[eric] windows 1.1.58: three fixes — (a) revert file-input restore: <input type="file"> is ALSO a Windows commit-phase crasher just like the contentEditable was, both must stay ablated, drag-and-drop still works; (b) nuclear-disable OnboardingRoot on Windows since the AgenticCursor visual ablation alone was insufficient (Onboarding panel/director/popups have additional Framer Motion + portal subtrees that segfault on commit) — user loses the guided tour on Windows but the rest of the app works; (c) remove iframe sandbox from BrowserCard so sites that need full-document access can render (Google specifically still appears grey because they run JavaScript anti-iframe detection that blanks document.body when window.top !== window.self, which header stripping cannot defeat; most non-Google sites should render fine now); Mac path untouched
|
2026-05-25 23:47:14 -07:00 |
|
Eric
|
aff9ccf98a
|
[eric] windows 1.1.57: four fixes — (a) textarea Enter-to-send now actually clears the input (missed editor.innerHTML='' at ChatInput.tsx:181 in the post-send path); (b) textarea draft restore (useDraftLoad) routes through .value instead of innerHTML on Windows so a saved draft repopulates the input on remount; (c) restore the <input type="file"> + attach button on Windows since the original 1.1.54 crash root cause was the contentEditable TSF init not the file input — replacing contentEditable with textarea was the actual fix, file input was over-ablated; (d) relax CSP frame-src to allow http:/https: so BrowserCard iframe can render external sites; (e) gate AgenticCursor's portaled Framer Motion infinite-loop animation on Windows so onboarding panel commit no longer 0xC0000005 segfaults; Mac path untouched
|
2026-05-25 23:22:06 -07:00 |
|
Eric
|
3903766e96
|
[eric] windows 1.1.57: (a) relax CSP frame-src to allow http: and https: so BrowserCard iframe can render external sites (our own app-level CSP was the second-layer blocker after the upstream XFO/CSP frame-ancestors we already strip in main.js — together they let the iframe load Google et al); (b) gate AgenticCursor's portaled Framer Motion infinite-loop scale + drop-shadow node on Windows so the onboarding panel commit phase no longer segfaults from that subtree (visual cursor disabled on Windows, imperative handle still works for AC runtime); Mac path untouched
|
2026-05-25 23:16:14 -07:00 |
|
Eric
|
b73f508755
|
[eric] windows 1.1.55: (a) textarea-aware editor read/write/clear helpers so Enter-to-send works on Windows where EditorSurface uses textarea instead of contentEditable (handleSend was reading .textContent which is empty on textarea); (b) gate BrowserCard webview behind !Windows so dashboard hydration no longer segfaults from webview tag commit (iframe fallback is now usable for most sites since we also strip X-Frame-Options and CSP frame-ancestors on sub_frame loads via session.webRequest.onHeadersReceived, scoped to http/https types:sub_frame so OAuth popups and deep links keep their security headers); (c) gate onboarding video autoPlay on Windows so panel mount does not trigger the autoplay+animation crash; Mac path untouched everywhere
|
2026-05-25 22:29:17 -07:00 |
|
Eric
|
518d0574dd
|
[eric] windows 1.1.54 ablate (fix): correctly platform-gate the file-input/attach-button ablation (1.1.53 mistakenly disabled them on both Mac and Windows because the file was already wrapped in {false && ...} from a prior diagnostic — Mac now renders the full attach UI again, Windows still skips it); textarea-instead-of-contentEditable already correctly platform-gated since 1.1.53
|
2026-05-25 21:59:19 -07:00 |
|
Eric
|
d85d9c2c10
|
[eric] windows 1.1.52 ablate: swap contentEditable div for textarea + hide <input type="file"> on Windows so the commit-phase 0xC0000005 (Chromium 144 + Electron 40 native crashers) cannot mount; Mac path untouched so @-mention rich-UI and full attach button stay working there; UA-gated at module load via navigator.userAgent.includes('Windows') so zero runtime branch cost; if Windows chat opens without crash one of these was the trigger and we narrow in v1.1.53 by re-enabling each
|
2026-05-25 21:53:04 -07:00 |
|
Eric
|
e2ea5e03cf
|
[eric] windows 1.1.51 diag: render logs on every ChatInputToolbar child (ModeControl, ModelPickerMenu, ThinkingLevelControl, ToolbarActions) so the next 0xC0000005 crash narrows from "ChatInputToolbar last" to the exact toolbar child that commits before the segfault
|
2026-05-25 21:27:14 -07:00 |
|
Eric
|
06e7c54f57
|
[eric] windows 1.1.50 diag: render logs on every ChatInputView child (ChatInputToolbar, AttachmentChips, ChatInputOverlays, SendBlockBanner) so the next 0xC0000005 crash trace shows which sibling commits after EditorSurface — spellCheck=false on the contentEditable did not stop the crash so the trigger is either later in ChatInputView's child render order or in the JSX after EditorSurface's render log; bump for Squirrel fresh-fetch
|
2026-05-25 21:04:46 -07:00 |
|
Eric
|
664faa1033
|
[eric] windows 1.1.49: spellCheck={false} on contentEditable div + ChatInputView and EditorSurface render logs + version bump so Squirrel actually fetches a fresh signed binary (force-retagging v1.1.44 was reusing the cached install on every iteration); tag v1.1.49
|
2026-05-25 20:04:37 -07:00 |
|
Eric
|
83a042d662
|
[eric] windows: drop invalid autoCorrect + autoCapitalize attrs from contentEditable div in EditorSurface — diag logs pinpointed ChatInput as the last child rendered before every 0xC0000005 segfault, and these attributes are spec-defined for input/textarea only so React forwarded them onto a div where Chromium 144 + Windows IME / spellchecker engages a native code path that segfaults during commit; spellCheck stays for spelling underlines; retag v1.1.44
|
2026-05-25 19:47:55 -07:00 |
|