17be6abaab
refactor: streaming, security hardening, and MCP removal
...
Major overhaul of server architecture and security posture:
- Streaming: Unified all I/O through PIPESIZE (8192-byte) buffers.
POST bodies stream via MpscReader through the save pipeline. GET
content streams from disk via decompression to client. Removed
save_item_with_reader, get_item_content_info, ChannelReader.
413 responses keep partial items (nonfatal by design).
- Security: XSS protection in all HTML pages via html_escape crate.
Security headers middleware (nosniff, frame deny, referrer policy).
CORS tightened to explicit headers. Input validation for tags
(256 chars), metadata (128/4096), pagination (10k cap). Config
file reads use from_utf8_lossy. Generic error messages in HTML.
Diff endpoint has 10 MB per-item cap. max_body_size config option.
- Panics eliminated: Path unwraps → proper error propagation.
Mutex unwraps → map_err (registries) / expect with message (local).
- MCP removed: Deleted all MCP code, rmcp dependency, mcp feature.
- Docs: Updated README, DESIGN, AGENTS to reflect all changes.
2026-03-14 00:03:42 -03:00
9b7cbd5244
fix: resolve doctest failures, database bugs, and remove dead code
...
- Fix all 96 doctest failures across 20 files by adding hidden imports and
proper test setup (68 pass, 33 intentionally ignored)
- Fix set_item_tags: wrap in transaction and replace item.id.unwrap() with
proper error handling
- Fix get_items_matching: replace N+1 per-item meta queries with batch
get_meta_for_items() call
- Fix get_item_matching: apply meta filtering instead of ignoring the parameter
- Remove duplicate doc comment in store_meta
- Remove dead code files: plugin.rs, plugins.rs, binary_detection.rs
(never declared as modules)
- Apply cargo fmt formatting fixes
- Add keep.db to .gitignore
2026-03-12 11:58:44 -03:00
Andrew Phillips
fdeb5f7951
Ugh
2026-02-19 13:57:39 -04:00
Andrew Phillips
0e036e3789
docs: Enhance Rustdoc for CompressionService, StatusService, and MetaPluginExec
...
Co-authored-by: aider (openai/andrew/openrouter/sonoma-sky-alpha) <aider@aider.chat >
2025-09-10 15:29:56 -03:00
Andrew Phillips
22b1b0657e
docs: Add missing rustdoc for StatusService struct and methods
...
Co-authored-by: aider (openai/andrew/openrouter/sonoma-sky-alpha) <aider@aider.chat >
2025-09-10 12:53:52 -03:00
Andrew Phillips
e5f71c7c5d
feat: Enhance status with detailed filter plugin information
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:17:07 -03:00
Andrew Phillips
4c9a8e8604
refactor: Centralize status info retrieval in status service
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:10:10 -03:00
Andrew Phillips
6aa26e7940
fix: Add missing imports for filter service functions
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:08:52 -03:00
Andrew Phillips
1de4863726
fix: Correct filter plugin calls and remove unused imports
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:08:14 -03:00
Andrew Phillips
73415f89fc
fix: Add missing filter_plugins field and implement get_available_filter_plugins
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:07:14 -03:00
Andrew Phillips
a7b46658ac
feat: display filter plugin information in status output
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:05:49 -03:00
Andrew Phillips
99656ea048
feat: Add filter plugin information to status service and display
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-09-03 09:05:11 -03:00
Andrew Phillips
34642abaf9
feat: implement ToSchema for ItemQuery and ItemContentQuery
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 17:29:35 -03:00
Andrew Phillips
3d4ed341e7
fix: remove automatic addition of digest plugin and use config for enabled_meta_plugins
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 17:11:01 -03:00
Andrew Phillips
fe41f95570
refactor: update meta plugins structure to use map and vector
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 17:07:05 -03:00
Andrew Phillips
983af9b30f
feat: add meta plugin options to status information
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 17:04:14 -03:00
Andrew Phillips
2523990075
fix: add missing imports and update status response type
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 16:59:05 -03:00
Andrew Phillips
d5c36155e3
feat: add unified status service implementation
...
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat >
2025-08-28 16:57:04 -03:00
Andrew Phillips
c10782c549
feat: add status service
2025-08-28 16:57:01 -03:00