clanker-agent/packages/coding-agent/src
Advait Paliwal f93fe7d1a0 fix: simplify chat rendering, persist drawer size, fix auth guard (v2) (#335)
* fix: simplify chat rendering, persist drawer size, fix auth guard

- Simplify chat-messages.tsx: remove dual-path tailContent rendering,
  always use AssistantMessage for both stream and committed states
- Remove dead code: chat-status-state.ts (ThinkingGroup/ToolGroup/StatusTimer)
- Remove dead exports: busyStartedAt, composerPlaceholder from use-chat-session
- Fix ThinkingBlock label: remove hardcoded label="Thinking" so defaults
  work ("Thinking" shimmer → "Thought" static)
- Persist resizable drawer panel size in localStorage alongside open state
  to eliminate layout shift on page refresh
- Add busy grace period in use-chat-session for smooth stream→committed transition
- Accumulate reasoning parts across multi-step tool use in durable-chat-run
- Fix auth-guard: remove localSandboxMode bypass so login always works
- Fix chatThreads.getMessages: return [] instead of throwing when unauthenticated

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: remove unnecessary busy grace period

Convex reactive queries handle data consistency — no need for a 600ms
grace period to bridge the stream→committed transition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: remove dead shouldShowToolsForAssistantSnapshot

Greptile P1: function was exported and tested but never called.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: stabilize resizable drawer defaultSize to prevent drag breakage

The aside panel's defaultSize prop included state.activeSize, which
changed on every drag frame. In react-resizable-panels, changing
defaultSize triggers panel de-registration and re-registration, which
destroys the active drag's panel references and prevents resizing.

Use useState initializer to capture the size once on mount and keep it
stable. The existing useEffect handles all open/close/resize via
panelRef imperatively.

Also clean up context-chip: split active/inactive into distinct
render paths, remove unused Plus import.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: resolve ../ relative paths in file citations

Strip one leading ../ segment and resolve against rootPath's parent
instead of naively concatenating, which produced un-normalized routes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:01:57 -07:00
..
cli computer use tool 2026-03-11 14:13:03 -04:00
core fix: simplify chat rendering, persist drawer size, fix auth guard (v2) (#335) 2026-03-17 16:01:57 -07:00
modes refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00
utils refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00
cli.ts refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00
config.ts refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00
index.ts computer use tool 2026-03-11 14:13:03 -04:00
main.ts refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00
migrations.ts refactor: finish companion rename migration 2026-03-10 07:39:32 -05:00