自動起動(--minimized)時にメインウィンドウが一瞬表示されてから隠れる問題を修正した。
tauri.conf.json でウィンドウが visible: true(デフォルト)で作成され、setup() の重い初期化完了後に hide() していた。visible: false で作成し、通常起動時のみ初期化完了後に show() する方式に反転した。自動起動時はウィンドウが一度も表示されない。手入力のみだったモニター先フォルダのパス指定に、OS ネイティブのフォルダ選択ダイアログを導入した。
tauri-plugin-dialog v2.6.0 を導入(Cargo.toml, package.json, capabilities, lib.rs)モニター先フォルダごとにカテゴリ名を付けられるようにし、検索時にカテゴリで絞り込めるようにした。
documents テーブルに category TEXT DEFAULT '' カラムを追加(ALTER TABLE マイグレーション)。monitor_paths を文字列配列からオブジェクト配列 [{path, category}] に変更。旧形式(文字列配列)との後方互換を維持する parse_monitor_paths ヘルパーを types.rs に追加。category_map: HashMap<PathBuf, String> を追加。ファイル取込時にモニターディレクトリからカテゴリを解決して documents.category に保存。search_text ツールに category フィルタパラメータを追加。レスポンスの各アイテムに category フィールドを含む。add_item_text ツールにもオプションの category パラメータを追加。| ファイル | 変更内容 |
|---|---|
| src/backend/tauri.conf.json | ウィンドウ visible: false |
| src/backend/Cargo.toml | tauri-plugin-dialog 追加 |
| src/backend/capabilities/default.json | dialog:allow-open 追加 |
| src/backend/src/lib.rs | dialog プラグイン登録、起動時 show/hide 反転 |
| src/backend/src/db/migration.rs | migrate_add_documents_category 追加 |
| src/backend/src/db/mod.rs | get_item_content_with_doc に category 追加 |
| src/backend/src/mcp/types.rs | WatcherConfig.category_map、parse_monitor_paths |
| src/backend/src/mcp/handlers.rs | 設定保存時の WatcherConfig 構築で parse_monitor_paths 使用 |
| src/backend/src/mcp/mod.rs | 起動時の設定読込で parse_monitor_paths 使用 |
| src/backend/src/mcp/watch.rs | resolve_category 追加、ingest 呼び出しにカテゴリ伝播 |
| src/backend/src/mcp/tools/items.rs | ingest_file_path / handle_add_item_text / list_documents にカテゴリ対応 |
| src/backend/src/mcp/tools/search.rs | category フィルタ・レスポンスに category 追加 |
| src/backend/src/mcp/tools/registry.rs | search_text / add_item_text スキーマに category 追加 |
| ファイル | 変更内容 |
|---|---|
| src/frontend/components/main-panel.js | カテゴリ入力欄、カテゴリフィルタ dropdown、フォルダ選択ダイアログ |
| src/frontend/index.html | 検索リクエストに category、結果カードにカテゴリバッジ |
| src/frontend/styles.css | カテゴリ入力欄・フィルタ・バッジのスタイル |
count_loc.cjs / nesting_depth.cjs 実行済み。items.rs (670行, depth 7)、main-panel.js (747行, depth 10) 等の超過は既存。今回の変更で新たに閾値を超えたファイルはない。