| Age | Commit message (Collapse) | Author |
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
- Log swallowed JSON unmarshal errors in stats and LSP handlers
- Fix debug log file handle leak in tmuxedit (return closer from initDebugLog)
- Check f.Close() errors on write paths in promptstore and tmuxedit
- Fix cacheGet TOCTOU race by using single write lock
- Fix readInput to use passed stdin reader instead of os.Stdin.Stat()
- Remove 45 'moved to' comment tombstones from lsp/handlers.go
- Deduplicate canonicalProvider wrappers (use llmutils.CanonicalProvider directly)
- Remove SetWindow side effect from stats.TakeSnapshot (pure read now)
- Move duplicated splitLines to textutil.SplitLinesBytes
- Collapse StatusSink.SetGlobal 10 params into GlobalStatus struct
- Simplify LRU touchLocked to in-place delete-and-append
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Adds utf16OffsetToByteOffset helper to correctly convert LSP character
positions (UTF-16 code units) to Go string byte offsets. Fixes trigger
detection, prefix heuristic, and completion text slicing for files
containing multi-byte characters.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Add doc comments clarifying Server.mu and completionState.stateMu are
independent (no ordering constraint).
- Fix test using wrong lock (s.mu instead of stateMu) for lastLLMCall.
- Replace time.Sleep polling in 7 tests with s.inflight.Wait() to
eliminate data races under -race.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Centralizes the provider+model map traversal and window-minutes guard
that was duplicated in hexaiaction, hexaicli, and lsp.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Adds inflight WaitGroup to Server and wraps inline-prompt,
chat-response, and deferShowDocument goroutines. Run() waits
for all in-flight work before returning.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Eliminates identical temperature resolution logic duplicated in
hexaiaction, hexaicli, and lsp packages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace string-based path building with filepath.Join in LSP and MCP
server log path helpers for platform-correct path separators.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Document ~30 exported types in lsp/types.go and exported functions in
llm/provider.go, lsp/server.go, and hexailsp/run.go.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
server.go (223L): core lifecycle and routing
handlers_prompt.go (420L): prompt CRUD handlers
handlers_tool.go (335L): tool handlers and schema builders
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Move environment variable handling functions into config_env.go (269L),
keeping config_load.go at 697L. Both well under the 1000-line limit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Consolidate near-identical functions into a single runOnce that accepts
requestArgs (callers pass zero-value when no options needed).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Add 'mage fmt' target that runs gofumpt -w on the project.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Change all value receivers on App to pointer receivers for consistency.
Update callers that pass App values to pass pointers where needed for
the actionConfig interface.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Remove duplicate stringsTrim implementations in stats and tmux packages,
replacing all call sites with the standard library strings.TrimSpace.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace %v with %w in three fmt.Errorf calls that wrap actual error
values, enabling errors.Is/errors.As chains for callers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace 60+ flat fields in App with 4 embedded section structs:
CoreConfig, ProviderConfig, PromptConfig, FeatureConfig. Go field
promotion preserves all existing field access patterns. Updated
flattenAppConfig to recurse into embedded structs for runtimeconfig.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Split DefaultPrompts (201L), loadFromFile (83L), and Update (74L) into
focused helper functions under 50 lines each. Split handlers_test.go
(1650L) and config_test.go (1419L) into logical sub-files under 1000L.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace environment variable communication between cmd and internal
packages with explicit MCPOverrides struct. CLI flag values are now
passed via typed struct fields through Run/RunWithFactory/RunBackfill.
Env var support preserved through appconfig's applyMCPEnv pipeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Change initDebugLog() and defaultLogPath() to return errors instead of
panicking. Callers now handle errors gracefully with proper messages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace per-iteration time.After with a single time.NewTimer that is
reused via Reset() and cleaned up with defer Stop(). Prevents leaking
a timer and channel on every retry iteration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Replace bare package-level vars with atomic.Pointer[log.Logger] for std
and atomic.Int32 for logPreviewLimit to prevent concurrent access races.
Add comprehensive tests including concurrency, edge cases, and nil logger.
Coverage: 100%.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Bring unit test coverage from ~75% to 85.1% project-wide. All internal
packages now exceed 80% coverage. Refactored cmd entrypoints to extract
testable run() functions with injectable seams.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|