chore: mark completed items in PLAN.md as DONE
Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
10
PLAN.md
10
PLAN.md
@@ -2,19 +2,19 @@
|
||||
|
||||
## Critical Issues
|
||||
|
||||
### 1. Memory Safety & Resource Leaks
|
||||
### 1. Memory Safety & Resource Leaks - DONE
|
||||
**Files affected:** `src/modes/diff.rs`, `src/compression_engine/program.rs`
|
||||
**Functions affected:** `mode_diff()`, `CompressionEngineProgram::open()`, `CompressionEngineProgram::create()`
|
||||
**Problem example:** Raw file descriptors converted with `unsafe { std::fs::File::from_raw_fd(fd_write) }` without proper cleanup on errors
|
||||
**Fix example:** Use RAII wrappers or ensure proper cleanup in Drop implementations and error paths
|
||||
|
||||
### 2. Error Handling Problems
|
||||
### 2. Error Handling Problems - DONE
|
||||
**Files affected:** `src/modes/save.rs`, `src/modes/update.rs`, `src/db.rs`
|
||||
**Functions affected:** `mode_save()`, `mode_update()`, `get_item()`, `insert_item()`
|
||||
**Problem example:** `item.id.unwrap()` can panic if item.id is None
|
||||
**Fix example:** Replace with `item.id.ok_or_else(|| anyhow!("Item missing ID"))?`
|
||||
|
||||
### 3. Concurrency Issues
|
||||
### 3. Concurrency Issues - DONE
|
||||
**Files affected:** `src/modes/diff.rs`, `src/meta_plugin/digest.rs`
|
||||
**Functions affected:** `mode_diff()`, meta plugin `update()` methods
|
||||
**Problem example:** In `mode_diff()`, if writer threads panic, resources may not be cleaned up properly: `writer_thread_a.join()` only propagates panic but doesn't ensure file descriptors are closed
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
## Design Problems
|
||||
|
||||
### 4. Database Design Issues
|
||||
### 4. Database Design Issues - DONE
|
||||
**Files affected:** `src/db.rs`, `src/modes/save.rs`, `src/modes/update.rs`
|
||||
**Functions affected:** `insert_item()`, `update_item()`, `store_meta()`, `set_item_tags()`
|
||||
**Problem example:** Multiple database operations without transactions can leave partial state
|
||||
@@ -41,7 +41,7 @@
|
||||
- Reuse single process per plugin instance for better performance
|
||||
- Add output validation and proper error propagation
|
||||
|
||||
### 6. Security Concerns
|
||||
### 6. Security Concerns - DONE
|
||||
**Files affected:** `src/main.rs`, `src/modes/get.rs`, `src/modes/delete.rs`
|
||||
**Functions affected:** `main()`, `mode_get()`, `mode_delete()`
|
||||
**Problem example:** Item IDs used directly in file paths without validation: `item_path.push(item_id.to_string())`
|
||||
|
||||
Reference in New Issue
Block a user