Eugeny41 downloadsReview an Inbox and explicitly process notes whose review date has expired.
An Obsidian community plugin with independent Inbox and expired-note review workflows.
Release 0.6.0 adds commands to archive and return whole Projects with movement history, and uses folder-aware archival for tagged main Projects in expired-note review. The owner authorized release while the focused disposable-vault UI check remains open. Submission to the Obsidian Community Directory is pending owner authentication.
The plugin provides two user-started review workflows shared with nvim-obsidian-para-flow:
expired_at through the shared calendar without advancing the queue;deadline has passed and other non-archive Markdown notes that opt in with expired_at; strict YYYY-MM-DD and DD.MM.YYYY calendar dates are accepted, while rescheduling writes ISO;Capture, Home, general search, multi-note merge, and Daily notes remain outside this plugin.
FileManager.renameFile(), and sends confirmed deletions through FileManager.trashFile().list-checks icon for the ribbon action and review view, a native editor for the current FIFO note, and an ItemView with queue status and review controls.#area note selection when required, archive-reason input, transaction results, and exact halted recovery output.Без проекта (No project). The plugin writes a full-path wikilink in project only when that property is empty. Closing the selector cancels the action.archive-restore ribbon/view, six current-item/session commands plus its opening command, a native calendar-first reschedule modal with manual dual-format fallback, visible invalid-metadata diagnostics, and Archives exclusion.Open inbox review rebuilds the FIFO queue, opens the oldest note in Obsidian's native Markdown editor, and reveals the review view.Sort current note into ProjectsSort current note into AreasSort current note into ResourcesSort current note into ArchivesSet current note expiration date writes canonical ISO expired_at and keeps the item current.Skip current notePause inbox reviewMove current note to trashClose inbox reviewExpired-note commands:
Open expired-note reviewChange current expiration dateArchive current expired noteMove current expired note to trashSkip current expired notePause expired-note reviewClose expired-note reviewProject movement commands, available without starting a review:
Archive project selects a tagged main project note, requires a new configured archive status and a reason, then moves its project folder (or root-level note) to <Archives>/Projects.Return project to work selects a project under <Archives>/Projects, requires a work status and return reason, offers a new or cleared deadline, then moves it back to the configured Projects root. An expired or invalid old deadline must be replaced or cleared.Both commands confirm the exact source and destination before mutation. The main note receives a История движения проекта section with a dated status and reason entry for each move. On return, current archived and archive_reason properties are cleared; the history preserves their meaning. When archiving a tagged main Project from expired-note review, Archive current expired note runs the same folder-aware flow. Other expired notes keep the existing note-level archive action. A past deadline only offers the project for review; it never moves the project without an explicit action.
Queued notes within an archived project folder are removed from the current expired-note pass after the folder moves.
Assign commands in Obsidian's Settings → Hotkeys. Opening and project movement commands are always available; current-item commands require an idle item in their own session. No command has a default hotkey.
Before a PARA action, the plugin saves the current native Markdown view, reads a fresh source snapshot, collects every required input, and then revalidates the source immediately before the first mutation. Trash follows the same safety shape: save, inspect, confirm, inspect again, and delete only if both inspections match. Canceling a selector or prompt leaves the note and session unchanged.
The project list includes #projects Markdown notes in the configured Projects root and notes directly inside a project folder whose filename matches that folder, optionally prefixed with 00. . Project documentation is excluded even if tagged #projects. The canonical Templates/Projects.md displays linked notes from 3. Resources with Dataview. Existing Resources are not backfilled.
Inbox expiration uses the same calendar-first modal and strict manual fallback as expired-note
rescheduling. It accepts today or later, saves and revalidates the active source, and writes through
FileManager.processFrontMatter(). Cancel, invalid input, and source changes perform no mutation or
queue transition.
The plugin stores explicit vault-relative roots for Inbox, Projects, Areas, Resources, and Archives. Projects and Areas also have explicit index wikilinks used only when a sorted note is missing its links property. Project archive statuses is a comma-separated non-empty list with defaults Завершено, Отменено. Settings are persisted through Obsidian's plugin data API; paths and archive destinations are not guessed.
Requirements: Node.js 18 or newer and npm.
npm install
npm run check
npm run dev
Develop and manually test only in a disposable Obsidian vault. A production build writes main.js at the repository root; the file is ignored by Git and is intended for release assets.
Product design, roadmap, decisions, and manual evidence are maintained in Russian in the canonical Obsidian project:
1. Projects/obsidian para flow/Плагин для PARA Обсидиан.md1. Projects/obsidian para flow/DESKTOP_INBOX_REVIEW.md1. Projects/obsidian para flow/ARCHIVE_REVIEW_DESIGN.mdThis repository contains only code-adjacent English contracts needed to develop, verify, and release the plugin.
The plugin is local-only. It does not transmit vault content, filenames, metadata, or usage information and includes no telemetry.