* fix: mixed up migrations
* feat: semantic similarity first take
* feat: semantic similarity first round of fixes
* feat: more work on making semantic similarity work properly
* feat: getPostBySlug for the AI
* feat: show similarity in post-link-insert-modal
* chore: remove done doc
---------
Co-authored-by: hugo <hugoms@me.com>
* Expose chat.analyzeMediaImage in Python API for batch image metadata generation
* Fix updateMedia losing linkedPostIds by reading existing sidecar before overwriting
* Also preserve author from sidecar when DB value is null (data drift)
* Extend MetadataDiffEngine to cover media, scripts, and templates
* Redesign MetadataDiffPanel: item-first view with field pills, filtering, and per-item multi-field diffs
* Fix task:progress startsWith crash (taskId not id) and nested button violation in field pills
* Populate field diffs for file-missing items and show fileMissing badge in UI
* feat: extended meta diff
* feat: meta diff als reconstructs orphans
* chore: updated documentation
---------
Co-authored-by: hugo <hugoms@me.com>
* feat: implementation of language detection
* run utility scripts in tasks
* fix: addiitonal fixes for background utilities
* feat: toast() also for utility scripts
---------
Co-authored-by: hugo <hugoms@me.com>
* chore: just a plan update
* Add LM Studio as local AI provider (OpenAI-compatible, like Ollama)
* Convert WebP thumbnails to JPEG before image analysis for LM Studio compatibility
* Strengthen language enforcement in image analysis prompt for local models
* Use i18n localized prompts for image analysis instead of English instructions
* Add airplane mode (Flugmodus) with status bar toggle and offline model preferences
* Fix flightmode: persist model IDs, skip network when offline, airplane icon
* Auto-fallback to offline models in airplane mode for chat, title, and image analysis
* Auto-select first local model as offline fallback when no explicit offline model configured
* Block git fetch/pull/push and site upload in airplane mode
* fix: thumbnails optimized for AI
* fix: error handling in airplane mode
---------
Co-authored-by: hugo <hugoms@me.com>
Add a "Generate Sitemap" function to the Blog menu that generates a
standard XML sitemap in the project's html/ folder. The sitemap includes
entries for all published posts, archive pages (year, month, day),
category pages, and tag pages using the preview server URL structure.
Runs as a background task with progress tracking via the task manager.
https://claude.ai/code/session_01PdJyxeeNGf4Bkxvq86GVaZ