Riz Ashraf
706e9ad172
style(clippy): auto-fix code style issues and unnecessary map_or allocations detected by cargo clippy
2026-09-27 22:38:08 +01:00
Riz Ashraf
8f32a09399
fix(mcp): propagate internal serialization errors instead of silently swallowing them to prevent LLM hallucination
2026-09-27 22:19:43 +01:00
Riz Ashraf
52c4c7c479
fix(nvim-core): implement empty resource and prompt list stubs for strict MCP client compatibility
2026-09-27 21:59:55 +01:00
Riz Ashraf
4bae4e9c08
Test coverage and headless nvim bug fixes
2026-09-27 08:10:09 +01:00
Riz Ashraf
bffc8896f1
Strictly verify UI attachment during fallback pipe discovery
2026-09-26 21:14:10 +01:00
Riz Ashraf
80b1969b15
Add nvim_get_server_info diagnostic tool
2026-09-26 20:32:12 +01:00
Riz Ashraf
d60d6ca70b
Implement nvim tool mitigations
2026-09-26 20:22:59 +01:00
Riz Ashraf
24aacdfae1
feat(nvim): add dedicated mcp tools for file reading and regex searching
2026-09-26 18:23:06 +01:00
Riz Ashraf
175882dd1b
docs: enforce visual engagement rule for pair programming tasks over headless execution
2026-09-23 08:35:17 +01:00
Riz Ashraf
02af8f18f1
docs: explicitly forbid grepping rust source for mcp schemas and instruct usage of local json cache
2026-09-23 08:14:09 +01:00
Riz Ashraf
14db90acbf
fix(nvim): remove unused mut variables
2026-09-23 05:00:35 +01:00
Riz Ashraf
e5d4002b38
docs: update instructions to enforce usage of auto-spawning headless neovim instance
2026-09-23 04:55:11 +01:00
Riz Ashraf
914cecbaf2
feat(nvim): implement auto-spawning headless instance and interactive preemption
2026-09-23 04:53:09 +01:00
Riz Ashraf
da98391ef9
docs(nvim): update instructions.md with correct tool names and new window tools
2026-09-23 04:30:38 +01:00
Riz Ashraf
be9ad8127a
chore(server): correct startup log message
2026-09-23 04:14:53 +01:00
Riz Ashraf
7729b4ae5a
fix(nvim): resolve idle zombie connection lock and adjust RPC timeout
...
- Remove the arbitrary 60-second read timeout on the Neovim socket that caused the read task to exit during idle periods, permanently locking the connection state.
- Automatically clear the connection state variable when the read loop breaks (e.g. true EOF), allowing get_nvim_connection() to correctly auto-reconnect on the next call.
- Increase the Neovim RPC call timeout from 10s to 30s to accommodate heavier operations (e.g., massive Lua regex substitutions) without falsely dropping the connection.
2026-09-23 04:09:09 +01:00
Riz Ashraf
ab1d209c1d
feat(nvim): complete window management symmetry
...
- Add
vim_close_window to unsplit active layout without destroying underlying buffer.
- Add
vim_list_windows to discover active splits.
- Add
vim_get_active_window and
vim_set_active_window to programmatically navigate windows.
2026-09-23 04:05:39 +01:00
Riz Ashraf
6a89f50cf2
feat(nvim-core): implement nvim_set_extmark for rich virtual text UI feedback
...
- Added nvim_set_extmark tool schema and handler
- Implemented lua bridge using vim.api.nvim_buf_set_extmark to dynamically overlay ghost text and highlight groups onto active buffers
2026-09-22 22:34:06 +01:00
Riz Ashraf
ea735003e2
feat(nvim-core): implement bidirectional event streaming and real-time shadow buffer
...
- Created global thread-safe NvimState to shadow Neovim context.
- Injected Lua autocmds (CursorMoved, TextChanged) on connection to stream events back to MCP.
- Upgraded msgpack RPC loop to intercept and parse 'mcp_event' notifications alongside standard responses.
- Optimized nvim_get_cursor to pull instantly from the local shadow buffer, bypassing RPC round-trips.
2026-09-22 22:32:37 +01:00
Riz Ashraf
61b03bc6e3
perf(nvim-core): implement zero-copy BytesMut stream buffer and DashMap for lock contention
2026-09-22 22:26:00 +01:00
Riz Ashraf
251757f8fc
feat(mcp): implement Prompts capability, Resources, and clean up daemon architecture
2026-09-22 21:41:17 +01:00
Riz Ashraf
1e39122e05
fix: remove potential panic on initialize result serialization in nvim-core
2026-09-22 06:16:06 +01:00
Riz Ashraf
b2f15de58c
style: fix clippy collapsible_if warnings in nvim-core
2026-09-22 06:07:50 +01:00
Riz Ashraf
148025c5a7
fix: replace pending_requests Mutex unwrap with unwrap_or_else to prevent poison panics
2026-09-22 06:00:54 +01:00
Riz Ashraf
dd4a71d44d
build: upgrade all workspace crates to rust edition 2024
2026-09-22 05:58:30 +01:00
Riz Ashraf
b8070de38c
refactor: deduplicate lua execution match blocks in nvim-core using handle_lua_result macro
2026-09-22 05:57:50 +01:00
Riz Ashraf
02f40604e1
perf: fix slice boundary panics, eliminate string allocation in stdio reader, fix lua table nesting bug, and optimize nvim socket chunk size
2026-09-22 05:51:15 +01:00
Riz Ashraf
e215720416
chore: remove unused dependencies discovered by cargo-machete
2026-09-22 05:44:09 +01:00
Riz Ashraf
c8f8ff8997
chore: update major dependencies and fix API breakages
2026-09-22 05:08:42 +01:00
Riz Ashraf
05672cc884
perf(nvim-core): eliminate JSON serialization overhead and potential Lua injection across all tools by passing arguments directly to nvim_exec_lua
2026-09-22 04:46:29 +01:00
Riz Ashraf
78e94c6aea
chore: remove unused variables and tracing dependency in nvim-core
2026-09-22 04:41:14 +01:00
Riz Ashraf
f76d8ccce8
perf: fix memory leaks, optimize tracing logs, fix networking eof fragmentation bug in nvim-core and stub, and deduplicate json-rpc handlers
2026-09-22 04:31:50 +01:00
Riz Ashraf
478655698e
fix(server): safely drop detached tokio join handles and refactor timestamp boilerplate
2026-09-22 03:19:51 +01:00
Riz Ashraf
075bc50645
docs(nvim): enrich mcp tools/list schema description to explicitly enforce AST and autosave rules
2026-09-21 16:04:17 +01:00
Riz Ashraf
891bd481b9
feat(nvim): bake in strict interactive AST blocks for win-nvim to prevent headless deadlock
2026-09-21 15:59:49 +01:00
Riz Ashraf
8e10950fc0
fix(nvim): resolve concurrent msgid clashes and eliminate continuous buffer memory leak
2026-09-21 15:39:15 +01:00
Riz Ashraf
5da422d23a
fix: apply automatic clippy fixes across workspace
2026-09-21 11:41:55 +01:00
Riz Ashraf
8afbf97b11
refactor: apply zero-unwrap policy and optimize locks in store.rs and handlers
2026-09-21 11:34:21 +01:00
Riz Ashraf
dc59aa9238
perf: eliminate loop string allocations and proxy mem spikes
2026-09-21 09:40:37 +01:00
Riz Ashraf
2c5953e4f5
perf: fix NVIM_CONN deadlock and unoptimized lock across await point
2026-09-21 09:25:22 +01:00
Riz Ashraf
5715625220
perf: eliminate tokio::sync::Mutex across async boundaries in stub and nvim-core
2026-09-21 08:32:13 +01:00
Riz Ashraf
84672a00b9
Fix task memory leak in nvim-core pending request cleanup loop
2026-09-21 05:51:38 +01:00
Riz Ashraf
ed42f738f1
Optimize graph relation filtering and fix concurrent connection storms
2026-09-21 05:44:34 +01:00
Riz Ashraf
cbd3d5801c
Resolve blocking commit deadlock and clippy warnings
2026-09-21 05:05:45 +01:00
Riz Ashraf
afc7cbdad5
Address compiler warnings and fix send_text_result macro
2026-09-21 04:45:36 +01:00
Riz Ashraf
2191ea5ce7
Fix memory leak in nvim-core by sweeping timed-out pending requests
2026-09-21 04:38:41 +01:00
Riz Ashraf
9870626045
Fix Neovim connection deadlock by dropping NVIM_CONN lock across await boundary
2026-09-21 04:04:32 +01:00
Riz Ashraf
b98f95d9d8
perf(server): Resolve tokio executor starvation and optimize broadcast loops
...
- Offloaded the blocking idx.commit() inside index_committer_worker to okio::task::spawn_blocking to prevent the tokio async thread from being starved by blocking I/O.
- Removed expensive full HashMap .clone() operations during UI client websocket broadcasts in both handle_socket and
vim_telemetry_handler, filtering and collecting only the Sender handles.
- Migrated blocking std::fs::write calls across the WSL 9P boundary in
vim_telemetry_handler over to asynchronous okio::fs::write().await to prevent severe async thread blockages on native file I/O delays.
2026-09-21 03:33:57 +01:00
Riz Ashraf
e72af4f877
chore: Remove unused imports and dead code causing compiler warnings
2026-09-19 07:58:42 +01:00
Riz Ashraf
4fe6ed7791
test: Fix broken mcp-stdio module imports in unit tests
2026-09-19 07:21:37 +01:00