Skip to content

feat: Inbox タブ(Phase 1 — 一覧・プレビュー・保留提案の表示) - #95

Merged
atman-33 merged 2 commits into
mainfrom
feature/inbox-tab
Jul 28, 2026
Merged

feat: Inbox タブ(Phase 1 — 一覧・プレビュー・保留提案の表示)#95
atman-33 merged 2 commits into
mainfrom
feature/inbox-tab

Conversation

@atman-33

Copy link
Copy Markdown
Owner

概要

vault の inbox/ に置いたノートがアプリから見えず滞留していた問題に対して、Inbox タブを追加する(T-0104 / Phase 1)。あわせて、vault tidy が分類を保留したノートの「移動先候補と理由」を初めて画面に出す。tidy はこれまでも _ai/memory/tidy-pending.json に判断を書いていたが、それを表示する場所が無かった。

設計: vault の projects/workhub/dev-notes/Inbox - 受信ノート処理導線 設計.md

変更内容

  • src-tauri/src/inbox.rs(新規) — inbox/ の列挙、保留提案の読み取り、本文取得
  • src-tauri/src/tidy.rsstale_in_dir を削除し、has_stale_inboxinbox::list_notes の上に書き直し。load_pendinginbox.rs へ移動し reason / proposal も読むよう拡張
  • src-tauri/src/commands.rslist_inbox_notes / read_inbox_note
  • src/components/inbox-view.tsx(新規)、src/app.tsx — Inbox タブ(Tasks の次)
  • src/components/help-view.tsx — Inbox の節を追加
  • .claude/rules/ui-conventions.md — resizable-panels の prop API を記録
  • CHANGELOG / version 0.66.0

設計上の判断

除外ルールを 1 か所に集約した。 UI 用に inbox/ を走査するコードを別に足すと tidy 側の判定(README.md、Exclude folders)と二重になりいずれずれる。tidy が「作業があるか」を判断する際も同じ inbox::list_notes を使うため、タブに見えるノート = tidy が対象にするノートが構造的に保証される。

閾値と除外フォルダはコマンド側で設定から読む(フロントには渡さない)。ファイル監視は入れず、タブがアクティブになるたびに読み直す。

スコープ外(Phase 2 以降)

移動・archive・タスク化・「今すぐ ingest」・未処理件数バッジ。Phase 1 は読むだけで、ファイリングは従来どおり Obsidian で行う。

確認

  • cargo fmt --check / cargo clippy --release --all-targets -- -D warnings / cargo test --release(191 件)/ npm run build すべて通過
  • 実 vault での確認: 保留中の SRMS ノートで提案先と理由が表示され、README.md_wip/ は一覧に出ない

🤖 Generated with Claude Code

atman-33 and others added 2 commits July 28, 2026 09:17
The vault's `inbox/` folder was invisible to the app: notes dropped there to
file later could only be read in Obsidian, and when an unattended vault-tidy
run could not decide where one belonged it parked the destination it proposed
in `_ai/memory/tidy-pending.json` — a file nothing ever displayed. The
judgement existed; it just had no way out.

Add an Inbox tab that lists those notes with their age, previews them, and
shows the parked proposal and its reason beneath the note it belongs to. It is
read-only: filing still happens in Obsidian (a button jumps there), and acting
on a proposal from inside workhub comes later.

The listing lives in a new `inbox` module, and `tidy` now decides whether it
has work by asking that module for the same list the tab shows. The exclusion
rules (`README.md`, the configured hold folders) therefore exist once — a note
the user can see in the tab is exactly a note tidy would consider — and
`load_pending` moves there too, widened to read `reason` and `proposal`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The version behind ui/resizable.tsx takes `orientation`, percent-string
sizes and per-panel ids, none of which match the shadcn examples — the
mismatch surfaces as a misleading "Property 'direction' does not exist"
typecheck error (hit while building the Inbox tab, T-0104).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3880ff24-c527-4861-a9e9-30004dca6cd3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/inbox-tab

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@atman-33
atman-33 merged commit eaf6e2f into main Jul 28, 2026
2 checks passed
@atman-33
atman-33 deleted the feature/inbox-tab branch July 28, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant