Commit Graph

1239 Commits (f586aaa71c36b2dd670087e6aa171e203f4b4964)

Author SHA1 Message Date
zanllp f586aaa71c docs(drag): add video demo to changelog
Add video demonstration link for the ComfyUI drag-to-transfer feature
to help users understand the workflow.
2026-03-18 00:18:47 +08:00
zanllp 363b073622
Merge pull request #937 from zanllp/feat/comfyui-drag-drop
feat(drag): add ComfyUI-ready image dragging feature
2026-03-17 23:47:12 +08:00
zanllp 66ae0869ab feat(drag): add ComfyUI-ready image dragging feature
Add drag-to-transfer functionality specifically designed for ComfyUI workflow integration.
Users can now click to display original images and drag them directly into ComfyUI
to automatically restore complete workflows with metadata extraction.

Features:
- Click-to-display original images with configurable size
- Dual placement: full-screen info panel and file grid overlays
- Multi-language support (EN, ZH, DE)
- Full metadata preservation for seamless workflow transfer

This feature streamlines the workflow from IIB to ComfyUI by enabling
direct image transfer with automatic parameter reconstruction.
2026-03-17 23:30:38 +08:00
zanllp fff1cc42fe
Merge pull request #936 from zanllp/i18n/update-extra-meta-info-hint
i18n(extraMetaInfo): update hint description across all languages
2026-03-15 13:35:40 +08:00
zanllp a01fc67aa3 i18n(extraMetaInfo): update hint description across all languages
Updated extraMetaInfoHint in all 4 language files to emphasize that it can save any complex information as a perfect supplement to params format limitations, with JSON mode supporting any valid JSON values.
2026-03-15 13:32:52 +08:00
zanllp 059a60db29
Merge pull request #935 from zanllp/fix/api-update-exif-permission
fix(api): add write permission requirement for update_exif endpoint
2026-03-15 13:07:51 +08:00
zanllp a89d5befd4 fix(api): add write permission requirement for update_exif endpoint 2026-03-15 13:07:22 +08:00
zanllp 34ca95ec51
Merge pull request #934 from zanllp/feat/exif-caching-ui-improvements
feat(metadata): add editable generation information and EXIF caching
2026-03-15 01:28:30 +08:00
zanllp 41ad78f6b3 feat(metadata): add editable generation information and EXIF caching
- Add prompt editor modal with support for editing positive/negative prompts
- Add key-value editor for custom metadata fields (string and JSON modes)
- Cache EXIF data in database for faster retrieval
- Track manually edited prompts with exif_edited flag
- Add validation for required fields and unique key constraints
- Add full internationalization support (EN, ZH-Hans, ZH-Hant, DE)
- Update changelog with new features and screenshot
- Clean up gitignore to use wildcard for video files
2026-03-15 01:22:11 +08:00
zanllp fcc23b5337
Merge pull request #930 from zanllp/feat/invokeai-metadata-parser
feat(parser): add support for invokeai_metadata format
2026-03-05 23:31:45 +08:00
zanllp 74382f25eb feat(parser): add support for invokeai_metadata format 2026-03-05 23:26:59 +08:00
zanllp 117aa7fb27
Merge pull request #928 from zanllp/docs/update-changelog-inline-video
docs(changelog): add inline video playback and recent updates
2026-02-23 21:35:41 +08:00
zanllp 41471e4349 docs(changelog): add inline video playback and recent updates
Add changelog entries for:
- Inline video playback feature (2026-02-23)
- Parse extra JSON metadata (2026-02-22)
- Tips carousel component (2026-02-22)
- Optimize database backup (2026-02-22)
- Docs improvements (2026-02-22)

Include screenshot for inline video playback feature.
2026-02-23 21:34:04 +08:00
zanllp f8015e6631
Merge pull request #927 from zanllp/feat/parse-extra-json-meta-info
feat(metadata): parse and mixin extraJsonMetaInfo field
2026-02-22 23:26:51 +08:00
zanllp 7d603c1e94 feat(metadata): parse and mixin extraJsonMetaInfo field
Add support for parsing the extraJsonMetaInfo field from image metadata.
The field values are merged into the meta dictionary with all values
ensured to be strings for safety.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 23:25:47 +08:00
zanllp 1933d27f97
Merge pull request #926 from zanllp/feat/tips-carousel
feat: add tips carousel component with 10 multilingual tips
2026-02-22 22:35:38 +08:00
zanllp 5e061010b8 feat: add tips carousel component with 10 multilingual tips
- Add TipsCarousel component with random shuffling (Fisher-Yates)
- Display 10 tips in 4 languages (zh-hans, en, zh-hant, de)
- Tips include filename uniqueness, batch operations, shortcuts, AI clustering, fuzzy search regex, walk mode, workspace snapshots, auto-tagging, performance optimization, and AI agent integration
- Integrate TipsCarousel into TagSearch and SubstrSearch pages
- Auto-rotate every 10 seconds with smooth fade transitions
- Support dismissing warning tips via localStorage
- Compact horizontal layout for minimal space usage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 22:34:24 +08:00
zanllp 6a98bcb429
Merge pull request #925 from zanllp/chore/optimize-db-backup
chore(db): optimize database backup to once per day and reduce max ba…
2026-02-22 13:46:35 +08:00
zanllp 0aa0321ee2 chore(db): optimize database backup to once per day and reduce max backups to 4
- Change default IIB_DB_FILE_BACKUP_MAX from 8 to 4
- Add daily backup check to prevent multiple backups per day
- Skip backup if one already exists for the current date
2026-02-22 13:44:30 +08:00
zanllp 230b394f4f
Merge pull request #924 from zanllp/docs/fix-url-encoding-example
docs: fix URL encoding example with correct keywords
2026-02-22 13:32:36 +08:00
zanllp c5f2532ddc docs: fix URL encoding example with correct keywords 2026-02-22 13:32:01 +08:00
zanllp d3892407bb
Merge pull request #923 from zanllp/docs/reorganize-skill-references
docs: reorganize skill documentation and extend URL scheme
2026-02-22 13:26:00 +08:00
zanllp 57a811e8a1 docs: reorganize skill documentation and extend URL scheme
- Move agent-guide.md to references/agent-patterns.md
- Create references/search-strategies.md for advanced search techniques
- Add Quick Links section to SKILL.md for better navigation
- Extend fuzzy-search pane to support pre-filled search parameters
  - Add initialSubstr, initialIsRegex, initialPathOnly props
  - Add initialMediaType filter and autoSearch control
- Update queryActions.ts to map URL props to component props
- Make search API parameters optional (regexp, cursor, folder_paths)
- Add ai-agents.md and ai-agents-zh.md documentation
2026-02-22 13:24:51 +08:00
zanllp c3defd180a
Merge pull request #922 from zanllp/docs/improve-skill-for-agents
docs: improve skill docs for better agent integration
2026-02-18 21:26:18 +08:00
zanllp 61d18d7f1a docs: improve skill docs for better agent integration
- Rename skill from iib-api to iib for simpler installation:
  npx skills add https://github.com/zanllp/infinite-image-browsing --skill iib
- Rewrite SKILL.md following agentskills.io best practices
- Use curl examples instead of Python for simpler agent execution
- Add "Before You Start" section: ask user for port, test connectivity first
- Add --noproxy flag to bypass proxy for localhost connections
- Add service status check and daemon startup instructions
- Add quick reference table for common operations
- Add agent-guide.md with decision tree and workflow patterns
- Update README.md with AI agent usage section

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 21:17:37 +08:00
zanllp fb2a8878af
Merge pull request #921 from zanllp/fix/cleanup-orphaned-images-on-path-removal
fix: cleanup orphaned images when removing extra paths
2026-02-18 14:23:51 +08:00
zanllp a5b99223e3 fix: cleanup orphaned images when removing extra paths
When a folder is removed from the library, images under that folder are
now properly cleaned up from the database if they are not covered by any
other registered paths. This fixes the issue where Random Image would
pull from folders that had been removed.

The cleanup logic checks if each image is still "owned" by any remaining
scanned path before deletion, supporting nested path scenarios where a
parent path may still contain the images.

Fixes #868

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-18 14:21:56 +08:00
zanllp 20dd9b09a2
Merge pull request #920 from zanllp/fix/scroll-top-on-fixed-mode
fix: scroll to top when entering new folder in fixed mode
2026-02-17 21:26:30 +08:00
zanllp 2e1562d321 fix: scroll to top when entering new folder in fixed mode
In scanned-fixed mode, stack.length is always 1 since openNext replaces
the entire stack instead of pushing. The existing watch on stack.length
wouldn't trigger scroll because v === lv is always true.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 21:23:28 +08:00
zanllp 1289db58a9
Merge pull request #919 from zanllp/feat/reuse-existing-folders
feat: AI reuses existing folder names when organizing files
2026-02-17 20:13:04 +08:00
zanllp c062b3bed5 feat: AI reuses existing folder names when organizing files
When running AI organize on a folder that already contains subfolders,
the AI will now consider reusing existing folder names if the theme
matches, instead of always generating new titles. This prevents
duplicate folders from being created when re-organizing the same
directory multiple times.

- Add existing_folder_names parameter to ClusterIibOutputReq
- Pass existing folder names from dest directory to AI title generation
- Update AI prompt to prioritize reusing matching folder names

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 20:02:19 +08:00
zanllp d5167e293e
Merge pull request #918 from zanllp/fix/recursive-filter-in-cluster-job
fix: pass recursive parameter to embedding and include in cache key
2026-02-17 18:13:00 +08:00
wuqinchuan 603262e42a fix: pass recursive parameter to embedding and include in cache key
- Pass recursive parameter from request to _build_embeddings_one_folder
- Include recursive in cache_params to avoid cache collision between
  recursive and non-recursive clustering results
- Add debug logging for recursive parameter tracking

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 18:11:25 +08:00
zanllp f6b185e8a8
Merge pull request #917 from zanllp/feat/smart-organize
feat: add smart organize feature with AI-powered file organization
2026-02-17 17:31:33 +08:00
zanllp c869860b89 chore: rename button label to 'AI Organize' for all languages
- zh-hans: 智能整理 -> AI整理
- zh-hant: 智能整理 -> AI整理
- en: Smart Organize -> AI Organize
- de: Smart Organize -> AI Organize

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 17:29:35 +08:00
zanllp fcc3b66767 feat: add smart organize feature with AI-powered file organization
- Add smart organize feature that groups similar images based on prompt semantics
- AI generates meaningful folder names in user's preferred language
- Preview before action: review proposed organization, skip or adjust as needed
- Background processing for large folders
- Support move or copy, configurable min cluster size, include subfolders option

Backend changes:
- Add organize_files.py with job management and file operations
- Add recursive parameter to embedding and clustering APIs
- Default recursive=true for Topic Search (backward compatible)
- Default recursive=false for Smart Organize (first-level only)
- Update database on file move to preserve tags

Frontend changes:
- Add SmartOrganizeConfigModal for configuration
- Add OrganizeJobsPanel for progress tracking
- Add OrganizePreview for reviewing and confirming
- Add smart organize button to address bar
- Add i18n translations for zh-hans, zh-hant, en, de

Documentation:
- Update README.md and README-zh.md with feature description
- Update change.log.md with screenshots and video demo

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 17:14:02 +08:00
zanllp c18964bb53
Merge pull request #916 from zanllp/feat/auto-update-index-toggle
feat(settings): add auto update index toggle
2026-02-08 21:44:21 +08:00
zanllp e23f6c0c98 feat(settings): add auto update index toggle
- Add autoUpdateIndex setting to global settings (enabled by default)
- When disabled, show manual update prompt instead of auto-updating expired index
- Add feature tip alert shown on first use
- Localize new strings in all languages (en, zh-hans, zh-hant, de)
- Rebuild vue dist assets with updated code
2026-02-08 21:26:55 +08:00
zanllp 5fbda41c1e
Merge pull request #915 from zanllp/releases/1.6.0
Releases/1.6.0
2026-02-05 22:27:55 +08:00
zanllp 930f815805 fix 2026-02-05 20:36:32 +08:00
zanllp cd8a38692b release 2026-02-03 21:38:38 +08:00
zanllp ba6310086f
Merge pull request #913 from zanllp/feature/updateDocsChangelogReadme
Update changelog and refresh README features.
2026-02-01 21:27:16 +08:00
zanllp d5505e58c0 Update changelog and refresh README features. 2026-02-01 21:25:06 +08:00
zanllp 50ca2ac8db
Merge pull request #912 from zanllp/feature/continueOnErrorForMoveModal
Feature/continue on error for move modal
2026-02-01 20:19:49 +08:00
zanllp 0520224bbc build 2026-02-01 20:18:48 +08:00
zanllp 7a2fcbe77e feat: add continue-on-error for move copy 2026-02-01 19:53:40 +08:00
zanllp ac7c63b84c
Merge pull request #911 from zanllp/feature/dragDropToFolderConfirm
New shortcut support along with other convenience improvements and bug fixes
2026-02-01 16:13:25 +08:00
zanllp 9fed8fa256 Interface adjustments 2026-02-01 16:02:28 +08:00
zanllp 5f5f40cb12 fix: open folders on right correctly 2026-02-01 13:45:07 +08:00
zanllp d3ded68ea0 feat: support drag drop into folders 2026-02-01 13:33:31 +08:00