Commit Graph
57 Commits
Author SHA1 Message Date
Riz Ashraf 37003be620 refactor: apply rust best practices and fix memory optimizations
- Optimized memory allocation in router.rs by offloading JSON serialization to spawn_blocking and using references.
- Prevented full graph duplication on startup in state.rs index rebuild.
- Eliminated massive String allocations in QueryGraphPathHandler BFS loops.
- Avoided temporary Strings in VisualizeGraphHandler via inline writing.
- Fixed O(N) full-graph deduplication in MergeEntitiesHandler to scale efficiently.
2026-09-22 22:01:38 +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 27aba454e2 perf(server): fix broadcast loops, avoid locking db on index, eliminate O(N*M) search, and fix db loss 2026-09-22 06:33:32 +01:00
Riz Ashraf b2f15de58c style: fix clippy collapsible_if warnings in nvim-core 2026-09-22 06:07:50 +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 208c5d448f perf(api): eliminate expensive heap allocations and memory clones by serializing axum response payloads directly from store read locks 2026-09-21 19:33:06 +01:00
Riz Ashraf 7dc0c329ad fix(core): remove all unwraps, fix unpolled futures, and fix search index memory leak on restart 2026-09-21 18:54:19 +01:00
Riz Ashraf ae0ea9ab22 feat(server): persist activity history on the server and expose it to the dashboard UI via /api/activity instead of relying on fragile localStorage 2026-09-21 18:01:21 +01:00
Riz Ashraf 42d3638cf8 fix(server): remove rwlock unwraps to prevent panic on lock poison and optimize omni search to serialize inner loops without allocations 2026-09-21 16:49:21 +01:00
Riz Ashraf 1d5e4bd00d perf(server): eliminate implicit full-collection clones by removing Store::read() in favor of read_with() 2026-09-21 16:25:57 +01:00
Riz Ashraf 9476bcd649 perf: completely eradicate large vector allocations and state locking double-clones in main, meta, env, workspaces, and notes modules 2026-09-21 15:22:44 +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 573c9586fd fix: memory leaks and unoptimized websocket broadcasts 2026-09-21 08:22:25 +01:00
Riz Ashraf 9b349e6459 Optimize handlers to avoid deep clones of KnowledgeGraph, and fix database write concurrency issues 2026-09-21 06:53:32 +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 9ce5c84d9c Fix tokio blocking write in server startup error handler 2026-09-21 04:28:16 +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 b9e44e1fa3 fix(server): Fix memory leak in handle_socket on abrupt disconnects
- Used a SessionCleanup Drop guard (RAII pattern) to guarantee that the websocket session is evicted from the global clients map and background read/write tasks are forcibly aborted even when Axum terminates the handler mid-execution due to a TCP connection loss.
2026-09-20 23:08:40 +01:00
Riz Ashraf 2a25f17a32 refactor(server): Resolve bottlenecks and duplications
- Removed heavy Tantivy index rebuild loop that ran every 5 seconds and rewrote entire graph to disk
- Converted polling worker to lightweight IndexWriter committer
- Fixed 67+ instances of unnecessary clone and string parsing overhead in tool return results
- Deduplicated state graph modification methods
2026-09-19 07:48:51 +01:00
Riz Ashraf ce17ffcf42 feat: Require UUID token authorization for /shutdown endpoint 2026-09-19 06:02:02 +01:00
Riz Ashraf 28761ceb41 fix: Replace silent panics on bind and index creation with daemon_error.log writes 2026-09-19 05:20:11 +01:00
Riz Ashraf 2fdb03c302 feat: Add telemetry, timing, and detailed logging across server, stub, and nvim-core 2026-09-19 04:13:07 +01:00
Riz Ashraf 81aac7245b feat: version string formatting yy.mm.dd.hhmmss, app icon, and test fixes 2026-09-18 02:05:08 +01:00
Riz Ashraf 1752753fcc chore: rustfmt, clippy lints and code tidying 2026-09-17 15:35:41 +01:00
Riz Ashraf 3716c3e698 refactor(mcp): strip sse fallback architecture in favor of pure websockets and fix nvim NDJSON bug 2026-09-17 15:26:22 +01:00
Riz Ashraf 1da413568e docs: update architecture and design docs with proxy reconnect and deployment strategies 2026-09-14 04:07:52 +01:00
Riz Ashraf 2bdafa6cc5 UI: Add Sticky Notes tab and api 2026-09-13 18:47:02 +01:00
Riz Ashraf d71b1e6e35 feat: Replace python tests with native E2E test suite and fix capabilities schema
- Added native E2E test suite in stub to validate server<->stub<->nvim IPC
- Added win-nvim integration tests
- Fixed empty capabilities schema in initialize response in server and win-nvim
- Refactored server to accept dynamic MCP_PORT for test isolation
- Made server exit gracefully on port 3000 collision
2026-09-13 18:03:27 +01:00
Riz Ashraf f2582b58be Fix MCP hangs and add logging 2026-09-13 11:10:35 +01:00
Riz Ashraf 4d69f5e771 feat: Add telemetry endpoint for tracking active Neovim session via FocusGained 2026-09-12 23:08:56 +01:00
Riz Ashraf 686fea683d perf: completely remove disk I/O from memory access paths, optimize Tantivy indexing, and fix MemoryIndex commits 2026-09-12 20:41:30 +01:00
Riz Ashraf a5011048b1 refactor: extract inline loops, optimize GC scheduling, and remove redundancies 2026-09-12 20:31:05 +01:00
Riz Ashraf 0723811686 refactor: resolve CLI redundancy and overlapping transport state bounds 2026-09-12 20:27:13 +01:00
Riz Ashraf 04b9388074 feat: restore dual transport (websockets and sse) 2026-09-12 20:22:51 +01:00
Riz Ashraf 6dde1cc3a3 refactor: physically decouple server and stub architectures 2026-09-12 20:11:46 +01:00
Riz Ashraf db8fd367f6 feat(dashboard): huge feature upgrade - native dark mode, interactive graph inspector panel, type filtering and legend, actionable kanban completion via new POST endpoint, and fuzzy search highlighting 2026-09-12 11:39:47 +01:00
Riz Ashraf 44800d4ef2 feat(server): change semantic versioning to dynamic build date (yyyy.mm.dd) 2026-09-12 09:29:46 +01:00
Riz Ashraf 1f050b60b6 fix(server): fix missing /api/graph and task title mapping in dashboard 2026-09-12 09:25:15 +01:00
Riz Ashraf 36674df176 feat(server): completely overhaul dashboard into interactive memory hub
Added interactive knowledge graph visualization, omni-search, kanban task board, and real-time live agent activity stream.
2026-09-12 09:17:59 +01:00
Riz Ashraf 44df610998 feat(server): add /api/version endpoint exposing git hash 2026-09-12 09:00:38 +01:00
Riz Ashraf 248799ca5d perf(server): offload sync disk/db IO to tokio blocking thread pool
Makes apply_sync_write, write_to_local_delta, and store modify truly async, preventing the mcp-memory-server from locking the tokio executor during disk IO
2026-09-12 08:54:12 +01:00
Riz Ashraf e057dc0fdd feat: Add HTTP API endpoints for gate verification 2026-09-10 15:51:12 +01:00
Riz Ashraf 721f564910 chore: finalize redb migration for all memory stores 2026-09-10 10:48:37 +01:00
Riz Ashraf 9a8b6e52e9 chore: migrate store to redb 2026-09-10 10:39:33 +01:00
Riz Ashraf 0ecd862e89 feat: Expose all MemoryState metrics in API and dashboard 2026-09-09 06:26:58 +01:00
Riz Ashraf 51fc3692c8 fix: Bind to 127.0.0.1 instead of 0.0.0.0 for stricter local isolation 2026-09-09 04:17:28 +01:00
Riz Ashraf 46c60d5f19 fix: Limit port bind retry loop to 15 seconds before crashing 2026-09-09 04:06:19 +01:00