Commit Graph

1228 Commits (117aa7fb277e1a201d1bffcb540b4f50b2c8a6c5)

Author SHA1 Message Date
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
zanllp edcaa87e18 feat: add preset shortcut guide 2026-02-01 01:38:10 +08:00
zanllp 6fb32f15d5
Merge pull request #910 from zanllp/feature/log
add log
2026-01-30 23:19:30 +08:00
zanllp 1c38d769e9 add log 2026-01-30 23:12:37 +08:00
zanllp 59283c3f8a
Merge pull request #908 from zanllp/feature/exif
: optimize UI styling and CSS
2026-01-30 00:37:47 +08:00
zanllp 214b1c9b67 : optimize UI styling and CSS 2026-01-30 00:36:47 +08:00
zanllp c4502222ab
Merge pull request #907 from zanllp/feature/exif
feat: add EXIF metadata display support
2026-01-29 23:54:06 +08:00
zanllp 1d9e65f835 feat: add EXIF metadata display support 2026-01-29 23:49:49 +08:00
zanllp 695c5d9758
Merge pull request #904 from zanllp/feature/tiktokDeleteSync
sync delete event for tiktok viewer
2026-01-26 01:43:58 +08:00
zanllp 23f2715e75 chore: update dist build 2026-01-26 01:42:54 +08:00
zanllp 9dfdbc0658 fix: sync delete event for tiktok viewer 2026-01-26 01:41:47 +08:00
zanllp 00c75866db
Merge pull request #902 from zanllp/feature/tiktokPanelBackdrop
feat: update tiktok info panel and dist
2026-01-25 20:12:24 +08:00