- Visual node-based workflow editor using React Flow
- Asset triggers: new asset, asset updated, all assets (with lookback buffer)
- Logic nodes: if/switch with combinable conditions (person, location, date, camera, EXIF, favorites, album membership)
- Action nodes: create album, add/remove from album, favorite, unfavorite, archive, tag
- Workflow-level triggers: manual run, cron schedule, webhook
- Debug mode: dry run with step-by-step logs and asset previews
- Run history with per-node asset tracking
- Run detail page with annotated read-only graph
- Processed asset tracking to prevent duplicate processing
- Multi-person picker with face thumbnails
- Album picker dropdown for actions
- JSON import/export for workflow sharing
- Workflow list page with create, delete, enable/disable
Replace raw fetch() in settings, share-key, and import-shared with
centralized API handlers via src/lib/api.ts. Also auto-create the data/
directory on startup so the SQLite db path is always valid.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added merge capability for persons in the PersonItem component using an autocomplete input.
- Introduced an AlertDialog for confirming merges.
- Updated package.json to include new dependencies for react-query and related types.
- Refactored FindInput component by removing unused styles.
- Updated AlertDialog interface for better type handling.
- Introduced search input to filter displayed people based on name in both AlbumPeople and PeopleList components.
- Updated .env.sample to include JWT_SECRET for authentication.
- Added SHARE_LINK_DOWNLOAD_PATH to routes and corresponding handler for downloading share links.