- Add environment variable IIB_SKIP_OPTIONAL_DEPS to skip numpy and hnswlib installation
- Provide detailed helpful hints when hnswlib or numpy installation fails
- Include guidance on C++ compiler requirements and pre-built wheel installation
- Add links to related GitHub issues for troubleshooting
- Improve error handling with better Unicode support on Windows
- Skip empty lines and comments in requirements parsing
- Set numpy to >=1.10.0,<3.0.0 (minimum for np.stack function, compatible with Python 3.11 and below)
- Python 3.12 users will automatically get numpy 1.26.0+ due to compatibility
- Add runtime version info for requests, numpy, hnswlib in /version endpoint
- Lock requests to >=2.0.0,<3.0.0 (current: 2.32.5)
- Lock numpy to >=2.0.0,<3.0.0 (current: 2.4.0)
- Lock hnswlib to >=0.0.0,<1.0.0 (current: 0.8.0)
- Add runtime version info for requests, numpy, hnswlib in /version endpoint
- Remove emoji icons (鉁?and 馃殌) from i18n translation strings
- Icons are already displayed in the Vue template, preventing duplication
- Update all language files: EN, ZH-Hans, ZH-Hant, DE
- Add AI-powered tag analysis feature in full-screen context menu
- Analyze prompts using AI to suggest matching custom tags
- Add loading state with spinner during analysis
- Filter out already-added tags to avoid duplicates
- Support i18n for all user-facing messages (EN/ZH-Hans/ZH-Hant/DE)
- Keep system prompts in English for consistency
- Improve authentication error handling
- Add special marker for secret verification 401 errors
- Only trigger password modal for secret verification failures
- Prevent password modal from showing on other 401 errors
- Enhance Topic Search guide
- Add two advantage points highlighting semantic similarity grouping
- Add natural language semantic search capabilities
- Support i18n for new guide content
- Add audio file recognition in backend (tool.py) and frontend (file.ts)
- Support audio formats: mp3, wav, ogg, flac, m4a, aac, wma
- Add audio player in TikTok view with starfield background animation
- Add audio modal similar to video modal
- Update file type filter to multi-select checkboxes (image/video/audio)
- Add filename display in TikTok view with Douyin-style bottom gradient
- Add long press to hide/show controls in TikTok view
- Fix audio resource cleanup when closing TikTok view
- Add Audio media type tag in database indexing
- Add i18n translations for audio related strings
Backend optimizations:
- Refactor get_random_images() using SQLite ORDER BY RANDOM()
- Simplify from 60+ lines to ~20 lines with better performance
- Remove complex multi-cycle index calculations
- Maintain file existence check and auto-cleanup
ComfyUI support:
- Add fallback to 'parameters' field in PNG metadata
- Improve detection for ComfyUI-generated images
Frontend improvements:
- Smart prompt display: auto-detect tag vs natural language format
- Add getTextLength() with Chinese character weight (1 char = 3 letters)
- Refactor isTagStylePrompt() with clear rules:
* Any tag length > 50 natural language format
* Average tag length > 30 natural language format
- Natural language prompts shown as paragraphs
- Tag-style prompts shown as badges
- Better support for Chinese/English mixed content
Build:
- Update frontend asset references
- Add AutoTagMatcher singleton class for automatic tag application
- Support filtering by multiple fields (prompt, model, sampler, etc.)
- Add frontend UI for managing auto-tag rules in global settings
- Support AND logic for multiple conditions within a rule
- Integrate with image indexing process
- Add natural language vs tag-style prompt detection and rendering
- Include rule descriptions and usage guidance in UI
- Auto-reload rules when updated via API